Am 24.09.2015 um 05:59 schrieb Maruan Sahyoun:
Hi Kevin,
Tilmans fix also fixed the issue when merging documents.
Good to hear that (although I didn't follow that thread closely).
Btw I found one theoretical problem yesterday that I want to mention:
When merging, only the fonts of one file in Root/AcroForm/DR/Font is
taken. I assume that most of the time, this won't be a problem, i.e. as
long as fonts with the same name are really the same font.
(Yesterday, I was merging Kevins file with itself, and wondered why it
hadn't doubled in size)
Tilman
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]