Yes, the last one, output/3-flattened-merged-A.pdf is missing field values.
-----Original Message----- From: Maruan Sahyoun [mailto:[email protected]] Sent: Tuesday, September 22, 2015 1:35 PM To: [email protected] Subject: Re: Two problems with merged documents. Hi Kevin, just to be sure - the individual files are OK but the merged one is the one where the content is missing? BR Maruan > Am 22.09.2015 um 19:52 schrieb Kevin Ternes <[email protected]>: > > 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]

