Java Library for PDF Merging and Creation

  • Merge, append, burst, form fill, extract, add new content, etc

  • Simple but robust object model

  • Includes Generator (for also creating PDF files from scratch)

  • Unlimited (Royalty free) licensing options

DynamicPDF Merger for Java makes simple the task of merging PDFs and adding new content to existing PDF documents from within any Java application. It can import PDF documents from the file system or any java.io.FileInputStream object that supports reading. The resulting PDF document can then have content added to it using the included Generator for Java SDK and can be output to any java.io.OutputStream object, javax.servlet.ServletOutputStream object, or directly to a file on the file system. The object model is intuitive and easy to learn, yet very flexible allowing PDF merging, stamping, appending, form filling and page placing, rotating and scaling.


Start your Free Unlimited Trial Today!

Fully Functional, Never Expires, Watermarked Output
Merger Java

Available in other flavors: .NET ActiveX

You can purchase our products through this website. Click on the “Purchase” button next to the product that you would like to purchase and the product will be added to your shopping cart. A full featured Evaluation Edition can be downloaded by clicking on "Start Download" above.

For Maintenance Renewal please contact sales@dynamicpdf.com.

DynamicPDF Merger v8.0 for JavaLicenseMaintenance 
Standard Server License$499.00$289.00 Purchase
Professional Server License$799.00$399.00 Purchase
Enterprise Server License$1,199.00$529.00 Purchase
Standard Developer License$899.00$429.00 Purchase
Professional Developer License$1,399.00$599.00 Purchase
Enterprise Developer License$2,099.00$849.00 Purchase

* We offer a 30% discount when you purchase 5 to 9 developer licenses and a 50% discount when you purchase 10 or more developer licenses.

Standard, Professional & Enterprise Editions

Difference between the Standard, Professional & Enterprise editions is the features included with each edition. Please take a look at the feature list tab for complete details.

Server Licensing

Server based licensing is intended for developers who wish to install our software on their server or web server. It is licensed per production server and allows an unlimited number of installations on development workstations and development servers. This licensing model is ideal for those who wish to install our software on a limited number of servers and allows us to offer a lower price to developers who do not intend to distribute our software to a large number of servers or workstations.

Developer Licensing

Developer based licensing is intended for developers who wish to distribute our software to a large number of clients. It allows one developer to develop an unlimited number of client or server based applications that use our product and distribute them royalty free. Our assemblies can easily be deployed with another application using XCOPY or a setup program.

Annual Maintenance Plan

  • Priority E-Mail Support (<2 hour response*)
  • Telephone Support
  • Major Version Upgrades (i.e. v7.0 to v8.0)
  • 100% Credit On Permitted Upgrades Between DynamicPDF for .NET Products (i.e. Professional Server to Enterprise Server)
  • Priority Access To Beta Software

Free Standard Support

All of our product licenses come with free standard support. Standard support includes:

  • E-Mail Support (<24 hour response*)
  • Minor Version Updates (Bug Fixes)
  • Access to User Support Forums

*During business hours 8:30 am to 5:00 pm Monday thru Friday Eastern Time US.

Upgrade Pricing

Logging into the Customer Area using your existing serial number will reveal all upgrade options and real-time prices related to that serial number.

Upgrade information is summarized as follows.

  • Permitted upgrades are within the same platform.
  • Any upgrades within the current major version provide an 80% credit (of original price paid)
  • Any upgrades from 1 major version back provide a 50% credit (of original price paid)
  • Any upgrades from 2 major versions back provide a 25% credit (of original price paid)
  • Adding Maintenance can be done within 30 days of original purchase

Please contact sales@dynamicpdf.com if there are any additional questions or for upgrading multiple licenses.

Educational Institution Pricing

ceTe Software is a strong believer in the power of education to make a difference in our world. We are pleased to offer a 50% discount on all of our products to educational institutions. Please contact sales@dynamicpdf.com for details on Educational Institution Pricing.

Refer to our Help Library and API Reference for more programming details.

Merge Two PDFs

The following Java code shows how to merge two PDFs together.

// Create a MergeDocument object with the first PDF.
MergeDocument document = new MergeDocument("C:\\DocumentA.pdf");
 
// Append only the first two pages of second PDF.
document.append("C:\\Append DocB.pdf", 1, 2);
 
// Append all pages in third PDF.
document.append("C:\\Append DocC.pdf");
 
// Save the final PDF.
document.draw("C:\\Appended Output.pdf");

Append Multiple PDFs

Java code for appending multiple PDF files together.

// Create a MergeDocument object with the first PDF.
MergeDocument document = new MergeDocument("C:\\DocumentA.pdf");
 
// Append only the first two pages of second PDF.
document.append("C:\\Append DocB.pdf", 1, 2);
 
// Append all pages in third PDF.
document.append("C:\\Append DocC.pdf");
 
// Save the final PDF.
document.draw("C:\\Appended Output.pdf");

Encrypt a PDF

The following Java code shows how to encrypt a PDF document within your Java application.

// Open the PDF using MergeDocument class.
MergeDocument document = new MergeDocument("C:\\Needs Security.pdf");
 
// Create a security object.
RC4128Security security = new RC4128Security("owner", "user");
security.setAllowCopy(false);
 
// Apply the document security.
document.setSecurity(security);
 
// Save the encrypted PDF.
document.draw("C:\\Secure Output.pdf");

Split a PDF

In this example we will take the original PDF and create a new PDF file for each page of the original PDF. The original PDF document is not modified.

// Open the PDF using PdfDocument class.
PdfDocument pdfToSplit = new PdfDocument("C:\\pdfToSplit.pdf");
 
// Loop through the pages and save each individual page separately.
for (int i = 1; i <= pdfToSplit.getPages().size(); i++ )
{
MergeDocument document = new MergeDocument(pdfToSplit, i, 1);
document.draw("C:\\Temp\\pdf_"+ String.valueOf(i) + ".pdf");
}

Watermark a PDF

Java code for adding an image watermark onto every page of a PDF (text watermarks are also easy to do). With Even/Odd Templates, Section Templates or individual page placement, Merger provides developers extreme control of watermark placement.

// Open the PDF form using MergeDocument class.
MergeDocument document = new MergeDocument("C:\\Doc Needs Watermark.pdf");
 
// Create a watermark template with an image.
Image image = new Image("C:\\Watermark.png", 0, 0);
Template watermarkTemplate = new Template();
watermarkTemplate.getElements().add(image);
 
// Apply the template to the PDF.
document.setTemplate(watermarkTemplate);
 
// Save the watermarked PDF.
document.draw("C:\\Watermarked Output.pdf");

Stamp a PDF

Java code for adding an image stamp onto every page of a PDF (text stamps are also easy to do). With Even/Odd Templates, Section Templates or individual page placement, Merger provides developers extreme control of stamp placement.

// Open the PDF form using MergeDocument class.
MergeDocument document = new MergeDocument("C:\\Doc Needs Stamp.pdf");
 
// Create a template with an image.
Image image = new Image("C:\\Stamp.png", 0, 0);
Template stampTemplate = new Template();
stampTemplate.getElements().add(image);
 
// Apply the stamp template to the PDF.
document.setStampTemplate(stampTemplate);
 
// Save the stamped PDF.
document.draw("C:\\Stamped Output.pdf");

PDF Form Filling

Java code for filling in existing form fields within a PDF document. Values can come directly from a database or be collected from the user. But filling in the form fields will preserve the formatting of the fields that exist on the original PDF.

// Open the PDF form using MergeDocument class.
MergeDocument document = new MergeDocument("C:\\Fill Form Fields.pdf");
 
// Set the field values
document.getForm().getFields().getFormField("TextBox1").setValue("My Text"); // TextBox field
document.getForm().getFields().getFormField("CheckBox1").setValue("Yes"); // CheckBox field
document.getForm().getFields().getFormField("ComboBox1").setValue("Item4"); // ComboBox field
document.getForm().getFields().getFormField("RadioButton1").setValue("Item2"); // RadioButton field
 
// Save the PDF
document.draw("C:\\Filled Output.pdf");

Why Choose Merger?

  • Easy to Use
  • Efficient Performance
  • DynamicPDF Generator is Included
  • Lots of Features
  • Great Support
  • Java Library
  • Free Evaluation
  • Product maturity (over 10 years in the market)
  • Flexible Licensing

We’re Not The Only Ones That Think We’re Great!

Customer Testimonials