Combine PDF, DOC, TIFF, MSG into PDF server-side (SDK).
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016 / 2019/2022 Server
and
Docker / Citrix / Wine
PDF Combine Pro X is a server-based app to combine different files into PDF. Input fule types include PDF, DOC, TXT, RTF, TIFF, JPEG, XLS, HTML, MSG, EML files. Imagine how fast your file processing routine can be with a powerful merging app that supports so many formats! Queue them all and get a standards compliant PDF and PDF/A document in minutes. The server version has no GUI and runs silently on any Windows server.
We offer the most powerful API with just a few lines of code to combine different files into one PDF. Want to incorporate it into your system or app? Use our sample codes for ASP, .NET, PHP, etc. You will save hours if not days with PDF Combine Pro X. Install it on your server and test the free copy for 30 days.
(includes 30 day FREE trial)
(only $970.00)
string src="C:\\test\\test1.pdf".Chr(13)."C:\\test\\test2.pdf";
string dest="C:\\test\\DestCombine.PDF";
PDFCombineX Cnv = new PDFCombineX();
Cnv.Convert(src, dest, "-c PDF -log c:\\Combine.log");
MessageBox.Show("Convert complete!");
dim C
Set C=CreateObject("PDFCombine.PDFCombineX")
C.Convert "c:\source1.pdf"+Chr(13)+"c:\source2.pdf", "c:\dest.pdf", "-fo"
set C = nothing
$src="C:\\test\\test1.pdf".Chr(13)."C:\\test\\test2.pdf";
$dest="C:\\test\\DestCombine.PDF";
if (file_exists($dest)) unlink($dest);
$c= new COM("PDFCombine.PDFCombineX");
$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('PDFCombine.PDFCombineX')
src="C:\\test\\test1.pdf\nC:\\test\\test2.pdf";
dest="C:\\test\\DestCombine.pdf";
c.convert(src,dest, "-c PDF -log c:\\test\\PDFCombine.log");
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("PDFCombine.PDFCombineX")
src="C:\\test\\test1.xlsx/nC:\\test\\test2.docx";
dest="C:\\test\\DestCombine.pdf";
c.convert(src, dest, "-c PDF -log c:\\test\\PDFCombine.log");
if not os.path.exists(file_path):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
Source: String;
begin
c:=CreateOleObject('PDFCombine.PDFCombineX');
Source:='c:\test\source1.docx'+Chr(13)+'c:\test\source2.xlsx';
C.Convert(Source, 'c:\test\dest.pdf', '-cPDF -log c:\test\PDFCombine.log');
IF c.ErrorMessage<>'' Then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("PDFCombine.PDFCombineX");
var src="C:\\test\\test1.xlsx/nC:\\test\\test2.docx";
c.Convert(src, "C:\\test\\dest.pdf", "-c PDF");
if (c.ErrorMessage!="")
alert(c.ErrorMessage)
use Win32::OLE; my $src="C:\\test\\test1.docx\nC:\\test\\test2.xlsx"; my $dest="C:\\test\\DestCombine.pdf"; my $c = CreateObject Win32::OLE 'PDFCombine.PDFCombineX'; $c->convert($src,$dest, "-c pdf -log c:\\test\\PDFCombine.log"); print $c->ErrorMessage if -e $dest;
PDF Combine Pro X ships with PDFCombineX.exe, a console binary you can drive from scripts, scheduled tasks, CI runners, or any backend service. Unlike the standard PDF Combine, the Pro build ingests mixed input types — PDF, DOC, DOCX, XLS, XLSX, RTF, TXT, HTML, MSG, EML, TIFF, JPEG — and welds them into one PDF in a single pass. For the full flag reference see the command-line documentation. The recipes below cover the cases we hear about most often from server-license customers.
The headline use case: a Word brief, an Excel pricing sheet, a scanned TIFF appendix, and two existing PDFs all become one deliverable. Pro accepts every input type in the same wildcard mask.
PDFCombineX.exe "C:\project\*.*" "C:\out\Project-Final.pdf" -cPDF
Use -sort name or -sort numbers to control the page order, and -sort date to merge in chronological order of edits.
When the order matters and the files live in different folders, pass them as a list separated by chr(13). On the command line the easiest equivalent is the multi-source form below — PDF Combine Pro X reads each path in turn and respects the sequence you give it.
PDFCombineX.exe "C:\briefs\cover.docx" "C:\briefs\contract.pdf" "C:\briefs\pricing.xlsx" "C:\briefs\scan.tif" "C:\out\Bundle.pdf" -cPDF
For worker processes that write a queue to disk, you don't want to encode file paths into the command line. -list reads file masks (one per line) from a plain text file — Word docs, spreadsheets and PDFs can all coexist in the same list.
PDFCombineX.exe -list "C:\queues\bundle.txt" "C:\out\Bundle.pdf" -cPDF -bstyle file
-bstyle file turns each source file name into a top-level bookmark, so the resulting PDF has a navigable outline that mirrors the input list.
Architectural and legal projects rarely live in one flat folder. -Recurse walks subdirectories; -combine folder emits one PDF per folder instead of one giant file, and -kfs keeps the source folder structure on the output side.
PDFCombineX.exe "C:\projects\AcmeCase\*.*" "C:\out\AcmeCase\" -cPDF -Recurse -combine folder -kfs
When file names share a common prefix — Case-2024-001-cover.docx, Case-2024-001-evidence.pdf, Case-2024-001-photos.tif — -combine name tells the converter to pool files by that shared root and produce one PDF per case.
PDFCombineX.exe "C:\inbox\*.*" "C:\out\" -cPDF -combine name -npr 13
-npr sets how many leading characters count as the «common name» — tune it to match the length of your case-number prefix.
For long deliverables, a bookmark tree and a TOC page turn a 400-page PDF into something a reviewer can actually navigate. -bookmark creates the outline, -content inserts a TOC page at the front.
PDFCombineX.exe "C:\project\*.*" "C:\out\Final.pdf" -cPDF -bookmark -bstyle file -bpdf -content -toclinestyle Dot
-bpdf additionally lifts existing bookmarks out of any source PDF instead of flattening them.
Standard for legal disclosure and bid packages: a page-number footer, a date stamp, and a header label. [page], [count] and [date] are macros that the converter substitutes per page.
PDFCombineX.exe "C:\disclosure\*.*" "C:\out\Disclosure.pdf" -cPDF -HeadText "CONFIDENTIAL — ACME LLC" -HeadAlign center -FootText "Page [page] of [count] — [date]" -FootAlign right
For sending bundles to outside counsel or subcontractors: an owner password locks edit/print permissions, a user password gates opening the file, and -perm grants exactly the rights you want.
PDFCombineX.exe "C:\project\*.*" "C:\out\Sealed.pdf" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Print -perm Copy
Combine any of Print, Copy, Modify, Annotation, FormFill, Accessibility, DocAssembly, HighResPrint to dial in the permission set.
For records-management workflows that demand ISO 19005 PDF/A, populated authoring metadata and a PFX-based signature on the final document.
PDFCombineX.exe "C:\archive\Case-2024-001\*.*" "C:\archive\out\Case-2024-001.pdf" -cPDF -pdfa -PDFAuthor "Acme Legal" -PDFTitle "Case 2024-001 Bundle" -PDFSubject "Disclosure" -PFXFile "C:\certs\acme.pfx" -PFXPass "cert-pwd" -SignName "DocSig" -SignLoc "London" -SignRes "Authenticity"
Once PDFCombineX.exe runs as a service or scheduled job, the only way to know what happened is the log. -verbosity detail writes one line per file; -logmode append keeps history across runs; -fo overwrites stale output without prompting.
PDFCombineX.exe "C:\inbox\*.*" "C:\out\<DATE>_<TIME:hhmm>.pdf" -cPDF -fo -log "C:\logs\pdfcombine.log" -verbosity detail -logmode append
The <DATE> and <TIME> macros expand into the destination path, so each run writes a uniquely named bundle without you having to compute the file name in the wrapper script.
Updated Mon, 04 May 2026
(only $970.00)
Download free trial and convert your files in minutes.
No credit card or email required.