I am attempting to use PdfCopyFields to concatinate and fdfmerge.
When I run the following code I get the exception:
ExceptionConverter: java.lang.ClassCastException: com.lowagie.text.pdf.PRIndirectReference
at com.lowagie.text.pdf.PdfCopyFieldsImp.createWidgets(PdfCopyFieldsImp.java:311)
at com.lowagie.text.pdf.PdfCopyFieldsImp.mergeField(PdfCopyFieldsImp.java:355)
at com.lowagie.text.pdf.PdfCopyFieldsImp.mergeWithMaster(PdfCopyFieldsImp.java:393)
at com.lowagie.text.pdf.PdfCopyFieldsImp.mergeFields(PdfCopyFieldsImp.java:402)
at com.lowagie.text.pdf.PdfCopyFieldsImp.closeIt(PdfCopyFieldsImp.java:257)
at com.lowagie.text.pdf.PdfCopyFieldsImp.close(PdfCopyFieldsImp.java:239)
at com.lowagie.text.pdf.PdfCopyFields.close(PdfCopyFields.java:99)
at com.mm.enterprise.utils.pdf.NewMerger.fillAndMergeFdf(NewMerger.java:36)
at com.mm.enterprise.utils.pdf.FormHandler.processPdf2(FormHandler.java:80)
at com.mm.enterprise.utils.pdf.FormHandler.mergeLast(FormHandler.java:53)
at com.mm.enterprise.utils.pdf.PdfAppendMergeTest.process(PdfAppendMergeTest.java:51)
at com.mm.enterprise.utils.pdf.PdfAppendMergeTest.main(PdfAppendMergeTest.java:9)
Is this a known issue? Is there a work-around?
-------------------------------------------------------------------------
The code:
try {
ByteArrayOutputStream pdfConcatStream = new ByteArrayOutputStream();
OutputStream pdfStream = dest.getDestinationType();
PdfCopyFields appender = new PdfCopyFields(pdfConcatStream);
while (files.hasMoreFiles()) { //files is basically a list of byte[]
InputPDFFile currentFile = files.nextFile();
PdfReader formReader = new PdfReader(currentFile.getFile());
appender.addDocument(formReader);
}
appender.close();
PdfReader concatedFileReader = new PdfReader(pdfConcatStream.toByteArray());
PdfStamper stamp = new PdfStamper(concatedFileReader, pdfStream);
AcroFields form = stamp.getAcroFields();
byte[] fdf_in = data.getBytes();
FdfReader fdf = new FdfReader(fdf_in);
form.setFields(fdf);
stamp.close();
pdfConcatStream.close();
pdfStream.close();
}
catch (Exception e) {
Jim Malloy
Enterprise Application Services
---------------------------------------------------------
This e-mail transmission may contain information that is proprietary, privileged and/or confidential and is intended exclusively for the person(s) to whom it is addressed. Any use, copying, retention or disclosure by any person other than the intended recipient or the intended recipient's designees is strictly prohibited. If you are not the intended recipient or their designee, please notify the sender immediately by return e-mail and delete all copies.
---------------------------------------------------------