Excellent. I have had good luck with that build. Thank you both. -----Original Message----- From: Maruan Sahyoun [mailto:[email protected]] Sent: Wednesday, September 23, 2015 11:00 PM To: [email protected] Subject: Re: Two problems with merged documents.
Hi Kevin, Tilmans fix also fixed the issue when merging documents. BR Maruan > Am 22.09.2015 um 21:09 schrieb Kevin Ternes <[email protected]>: > > 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] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

