I still have two problems with the merge. First is the problem of losing field values after the merge which I have had all along. The second is new and is that when I open the merge document with Adobe Reader XI (11.0.12) I see a popup saying "Out of Memory". That popup usually appears after scrolling down the merged document.
Four source documents are here: https://dl.dropboxusercontent.com/u/3103884/dev/EndFaxCover_CA.pdf https://dl.dropboxusercontent.com/u/3103884/dev/EndDetails_CA.pdf https://dl.dropboxusercontent.com/u/3103884/dev/EndExclDrv_CA.pdf https://dl.dropboxusercontent.com/u/3103884/dev/EndSig_CA.pdf The following code loads and populates the documents and then flattens and merges them. Whether or not the flatten() is called does not make a difference. If someone can have a look, I'd really appreciate it. import java.io.File; import java.util.Date; import org.apache.pdfbox.multipdf.PDFMergerUtility; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm; import org.apache.pdfbox.pdmodel.interactive.form.PDCheckbox; import org.apache.pdfbox.pdmodel.interactive.form.PDTextField; public class PDFBoxRun { public static void main(String[] args) { System.out.println("Running..."); PDDocument pdDocumentA = null; PDDocument pdDocumentB = null; PDDocument pdDocumentC = null; PDDocument pdDocumentD = null; try { pdDocumentA = PDDocument.load(new File("template/EndFaxCover_CA.pdf")); PDAcroForm acroForm = pdDocumentA.getDocumentCatalog().getAcroForm(); ((PDCheckbox) acroForm.getField("boxUMPD")).check(); ((PDTextField) acroForm.getField("printDate")).setValue("09/11/2015"); ((PDTextField) acroForm.getField("polNum")).setValue("22-CA-116850A"); ((PDTextField) acroForm.getField("quoteEffDt")).setValue("09/11/2015"); ((PDTextField) acroForm.getField("agencyName")).setValue("THE MAJOR123 AUTO INS SVCS, INC"); ((PDTextField) acroForm.getField("quoteNum")).setValue("2917812"); pdDocumentB = PDDocument.load(new File("template/EndDetails_CA.pdf")); acroForm = pdDocumentB.getDocumentCatalog().getAcroForm(); ((PDTextField) acroForm.getField("hdrAuditFld")).setValue("Generated at " + new Date() + ", User: DEVUSER/PDFBoxRun]"); ((PDTextField) acroForm.getField("quoteOrBindHdr")).setValue("Policy Change Request (Quote Only)"); ((PDTextField) acroForm.getField("endEffDt")).setValue("09/04/2015"); ((PDTextField) acroForm.getField("endEffTime")).setValue("11:59 PM"); ((PDTextField) acroForm.getField("polnum")).setValue("22-CA-116850A (quote 2917812)"); ((PDTextField) acroForm.getField("agencyDesc")).setValue("THE MAJOR123 AUTO INS SVCS, INC (998888)"); ((PDTextField) acroForm.getField("hInsName")).setValue("EXAMPLE N SUREDNAME"); ((PDTextField) acroForm.getField("BIPDLim")).setValue("$15,000/$30,000/$10,000"); ((PDTextField) acroForm.getField("MedPay")).setValue("No coverage"); ((PDTextField) acroForm.getField("UMBI")).setValue("$15,000/$30,000"); ((PDTextField) acroForm.getField("UMPD")).setValue("No coverage"); pdDocumentC = PDDocument.load(new File("template/EndSig_CA.pdf")); acroForm = pdDocumentC.getDocumentCatalog().getAcroForm(); ((PDTextField) acroForm.getField("hdrAuditFld")).setValue("Generated at " + new Date() + ", User: DEVUSER/PDFBoxRun"); ((PDTextField) acroForm.getField("quoteOrBindHdr")).setValue("Policy Change Request (Quote Only)]"); ((PDTextField) acroForm.getField("endEffDt")).setValue("09/04/2015"); ((PDTextField) acroForm.getField("endEffTime")).setValue("11:59 PM"); ((PDTextField) acroForm.getField("polnum")).setValue("[22-CA-116850A (quote 2917812)"); ((PDTextField) acroForm.getField("agencyDesc")).setValue("THE MAJOR123 AUTO INS SVCS, INC (998888)"); ((PDTextField) acroForm.getField("hInsName")).setValue("EXAMPLE N SUREDNAME"); ((PDTextField) acroForm.getField("umpdRejSigAppl")).setValue("XXXX"); pdDocumentD = PDDocument.load(new File("template/EndExclDrv_CA.pdf")); acroForm = pdDocumentD.getDocumentCatalog().getAcroForm(); ((PDTextField) acroForm.getField("hdrAuditFld")).setValue("Generated at " + new Date() + ", User: DEVUSER/PDFBoxRun"); ((PDTextField) acroForm.getField("quoteOrBindHdr")).setValue("Policy Change Request (Quote Only)]"); ((PDTextField) acroForm.getField("endEffDt")).setValue("09/04/2015"); ((PDTextField) acroForm.getField("endEffTime")).setValue("11:59 PM"); ((PDTextField) acroForm.getField("hInsName")).setValue("EXAMPLE N SUREDNAME"); ((PDTextField) acroForm.getField("polnum")).setValue("[22-CA-116850A (quote 2917812)"); ((PDTextField) acroForm.getField("agencyDesc")).setValue("THE MAJOR123 AUTO INS SVCS, INC (998888)"); pdDocumentA.save("output/0-Afilled-EndFaxCover_CA.pdf"); pdDocumentB.save("output/0-Bfilled-EndDetails_CA.pdf"); pdDocumentC.save("output/0-Cfilled-EndSig_CA.pdf"); pdDocumentD.save("output/0-Dfilled-EndExclDrv_CA.pdf"); pdDocumentA.getDocumentCatalog().getAcroForm().flatten(); pdDocumentB.getDocumentCatalog().getAcroForm().flatten(); pdDocumentC.getDocumentCatalog().getAcroForm().flatten(); pdDocumentD.getDocumentCatalog().getAcroForm().flatten(); pdDocumentA.save("output/2-Aflattened-EndFaxCover_CA.pdf"); pdDocumentB.save("output/2-Bflattened-EndDetails_CA.pdf"); pdDocumentC.save("output/2-Cflattened-EndSig_CA.pdf"); pdDocumentD.save("output/2-Dflattened-EndExclDrv_CA.pdf"); System.out.println("Merging..."); PDFMergerUtility mergerUtility = new PDFMergerUtility(); mergerUtility.appendDocument(pdDocumentA, pdDocumentB); mergerUtility.appendDocument(pdDocumentA, pdDocumentC); mergerUtility.appendDocument(pdDocumentA, pdDocumentD); System.out.println("Saving merged document as output/3-flattened-merged-A.pdf"); pdDocumentA.save("output/3-flattened-merged-A.pdf"); System.out.println("Done."); } catch (Exception ex) { System.err.println("Caught " + ex); ex.printStackTrace(); } finally { close(pdDocumentA); close(pdDocumentB); close(pdDocumentC); close(pdDocumentD); } } static void close(PDDocument doc) { if (null != doc) { try { doc.close(); } catch (Exception ex) { } } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

