Split PDF files on web-servers
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016 / 2019/2022 Server
and
Docker / Citrix / Wine
Extracted PDF pages can be renamed for your convenience. The default renaming template [Name].page#.pdf. So if you split Report.pdf, the split files will look like Report.page1.pdf, Report.page2.pdf, etc.
PDF SplitterX is the most powerful yet affordable solution to split PDF files on Windows web or SQL servers. Download your evaluation copy now and test it for 30 days.
Looking for server-based solutions? Discover a range of server products tailored for robust performance at CoolUtils Server Products.
Support and Upgrades.
Read our support policy to find out support or upgrades options for PDF SplitterX. New registered users get 1 year of software maintenance for free.
Useful add-ons:
|
PDF SplitterX tailored to YOUR needs.
Contact us. We will gladly enhance PDF Splitter so that it fit your needs perfectly. Customization is often free to our customers. |
(includes 30 day FREE trial)
(only $459.90)
string src="C:\\test\\test1.pdf";
string dest="C:\\test\\DestFolder\\";
PDFSplitterX Cnv = new PDFSplitterX();
Cnv.Convert(src, dest, "-c PDF -log c:\\test\\Splitter.log");
MessageBox.Show("Convert complete!");
Download .NET PDF Splitter example
dim C
Set C=CreateObject("PDFSplitter.PDFSplitterX")
C.Convert "c:\source1.pdf", "c:\Dest Folder\", "-fo"
set C = nothing
$src="C:\\test\\test.pdf";
$dest="C:\\DestFolder\\";
if (file_exists($dest)) unlink($dest);
$c= new COM("PDFSplitter.PDFSplitterX");
$c->convert($src,$dest, "-c PDF -log c:\doc.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('PDFSplitter.PDFSplitterX')
src="C:\\test\\test.pdf";
dest="C:\\test\\DestFolder";
c.convert(src,dest, "-c PDF -log c:\\test\\PDFSplitter.log");
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("PDFSplitter.PDFSplitterX")
src="C:\\test\\test.pdf";
dest="C:\\test\\DestFolder";
c.convert(src, dest, "-c PDF -log c:\\test\\PDFSplitter.log");
if not os.path.exists(file_path):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
Source: String;
begin
c:=CreateOleObject('PDFSplitter.PDFSplitterX');
Source:='c:\test\source1.pdf';
C.Convert(Source, 'c:\DestFolder', '-cPDF -log c:\test\PDFSplitter.log');
IF c.ErrorMessage<>'' Then
ShowMessage(c.ErrorMessage);
end;
use Win32::OLE; my $src="C:\\test\\test1.pdf"; my $dest="C:\\DestFolder"; my $c = CreateObject Win32::OLE 'PDFSplitter.PDFSplitterX'; $c->convert($src,$dest, "-c pdf -log c:\\test\\PDFSplitter.log"); print $c->ErrorMessage if -e $dest;
PDF SplitterX ships with PDFSplitterX.exe, a console binary you can drive from scripts, scheduled tasks, CI runners, or any backend service. The flag set matches the GUI PDFSplitter.exe; for the full reference see the command-line documentation. The recipes below cover the cases we hear about most often from SDK customers.
The smallest possible call — one source file, one output folder. Each page becomes its own PDF using the default Name.pageN.pdf naming template.
PDFSplitterX.exe "C:\PDF\Report.pdf" "C:\out\" -cPDF
When you only need a slice of the document — an appendix, a single chapter, a signature page — -p takes a comma-separated list of pages and ranges.
PDFSplitterX.exe "C:\PDF\Contract.pdf" "C:\out\" -cPDF -p "2-3"
Mix individual pages and ranges: -p "1,3,6-10,15" extracts those exact pages and skips the rest.
For distribution or review, big PDFs are easier to handle in fixed-size chunks. -cp starts a new output document every N pages; combine with -p to limit the source range.
PDFSplitterX.exe "C:\PDF\Manual.pdf" "C:\out\" -cPDF -p "1-8" -cp 4
That call produces two 4-page PDFs from pages 1–8. Drop -p to chunk the entire file.
Books, technical manuals and legal PDFs usually carry a bookmark tree. Splitting on bookmark boundaries gives you one PDF per chapter, section, or article. -b picks the bookmark level — level 1 splits at top-level bookmarks, level 2 at sub-bookmarks, and so on.
PDFSplitterX.exe "C:\PDF\Handbook.pdf" "C:\out\" -em bookmarks -b 3
The classic high-volume scanning workflow: feed a stack of mixed documents through the scanner with a blank sheet between each one, then split the resulting PDF on those blanks. -bc sets how many consecutive blank pages mark a boundary; -bt (1–10) controls how aggressively a near-empty page counts as blank.
PDFSplitterX.exe "C:\scans\daybatch.pdf" "C:\out\" -em blanks -bc 2 -bt 5
Useful for duplex-scan reconstruction and for separating front-and-back layouts. -em odd keeps the odd pages, -em even keeps the even pages.
PDFSplitterX.exe "C:\PDF\Duplex.pdf" "C:\out\fronts\" -cPDF -em odd
PDFSplitterX.exe "C:\PDF\Duplex.pdf" "C:\out\backs\" -cPDF -em even
Default file names are Source.page1.pdf, Source.page2.pdf, etc. -t sets a custom template; the # character marks the counter position and the digit after it sets the pad width. -ts sets the starting number.
PDFSplitterX.exe "C:\PDF\Report.pdf" "C:\out\" -cPDF -t "page#5" -ts 1
That produces page00001.pdf, page00002.pdf, … Pass -ts -1 to continue numbering from the count of files already in the destination folder.
Server-side splitting almost always runs over a folder of inputs. -Recurse walks subdirectories; -kfs recreates the same tree on the output side; -log with -verbosity detail writes one line per file so you can audit what happened. The destination uses <DATE> macro to land each run in its own dated folder.
PDFSplitterX.exe "C:\inbox\*.pdf" "C:\out\<DATE>\" -cPDF -Recurse -kfs -fo -log "C:\logs\splitter.log" -verbosity detail
Add -do to delete originals after a successful split — handy when the inbox is purely a queue.
When a worker writes a queue file and the splitter consumes it, you don't want to encode the file paths into the command line itself. -list reads file masks (one per line) from a text file.
PDFSplitterX.exe -list "C:\queues\split-batch.txt" "C:\out\" -cPDF -em pages
Updated Tue, 07 Apr 2026
(only $459.90)
Updated Tue, 07 Apr 2026
(only $459.90)
Download free trial and convert your files in minutes.
No credit card or email required.