Greetings all -
I am trying to create one large PDF from many individual ones created from
iReport. I had the code working using PdfCopy but then the powers that be
decided they wanted a table of contents as well, with anchors. I switched the
code over to use PdfWriter instead upon finding out I could not use PdfStamper
to place anchors (was that correct?).
Now however, the following code is throwing the following error. If I comment
out the loop and only add the coverpage, I don't get the error:
//Prep PDF document for multiple pages
Document document = new Document(PageSize.A4);
String pdfName = "EvalReports-" + getFileId() + "-" +
fileInfo.getSeller().replaceAll("[/ ,()]", ".") +
"-" + fileInfo.getDescription().replaceAll("[/ ,()]", ".") +
String.format("_%tY%<tm%<td.pdf", new
LocalDate().toDateTimeAtCurrentTime().toDate());
PdfWriter writer = PdfWriter.getInstance(document, new
FileOutputStream(new TAGFile(getContext().getEvalReportsExportFolder(),
pdfName)));
document.open();
PdfContentByte cb = writer.getDirectContent();
//Create coversheet with seller and file information
PdfReader coverpage = writeTextToCoverpage(new
PdfReader(getContext().getEvalReportsCoverpage().getAbsolutePath()), fileInfo);
PdfImportedPage page = writer.getImportedPage(coverpage, 1);
document.newPage();
cb.addTemplate(page, 0, 0);
//Loop through reports and copy each into the booklet
for (TAGFile template : templateList) {
Map parameters = new HashMap();
parameters.put("InputFileNumber", getFileId().toString());
JasperRunManager.runReportToPdfFile(template.getAbsolutePath(),
"temp.pdf", parameters, conn);
//Add the pdf to the book
PdfReader reportPage = new PdfReader("temp.pdf");
for (int i = 1; i <= reportPage.getNumberOfPages(); i++) {
page = writer.getImportedPage(reportPage, i);
document.newPage();
cb.addTemplate(page, 0, 0);
}
reportPage.close();
}
document.close();
writer.close();
ExceptionConverter: java.io.EOFException
at com.lowagie.text.pdf.RandomAccessFileOrArray.readFully(Unknown
Source)
at com.lowagie.text.pdf.RandomAccessFileOrArray.readFully(Unknown
Source)
at com.lowagie.text.pdf.PdfReader.getStreamBytesRaw(Unknown Source)
at com.lowagie.text.pdf.PdfReader.getStreamBytesRaw(Unknown Source)
at com.lowagie.text.pdf.PRStream.toPdf(Unknown Source)
at com.lowagie.text.pdf.PdfIndirectObject.writeTo(Unknown Source)
at com.lowagie.text.pdf.PdfWriter$PdfBody.add(Unknown Source)
at com.lowagie.text.pdf.PdfWriter$PdfBody.add(Unknown Source)
at com.lowagie.text.pdf.PdfWriter.addToBody(Unknown Source)
at com.lowagie.text.pdf.PdfReaderInstance.writeAllVisited(Unknown
Source)
at com.lowagie.text.pdf.PdfReaderInstance.writeAllPages(Unknown Source)
at com.lowagie.text.pdf.PdfWriter.addSharedObjectsToBody(Unknown Source)
at com.lowagie.text.pdf.PdfWriter.close(Unknown Source)
at com.lowagie.text.pdf.PdfDocument.close(Unknown Source)
at com.lowagie.text.Document.close(Unknown Source)
(...etc etc etc)
------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions
Many questions posted to this list can (and will) be answered with a reference
to the iText book: http://www.itextpdf.com/book/
Please check the keywords list before you ask for examples:
http://itextpdf.com/themes/keywords.php