That's very strange. Post a link to the pdf files so that the problem can be reproduced.
Paulo ----- Original Message ----- From: "Bo Benson" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Saturday, January 05, 2008 7:25 AM Subject: [iText-questions] strange problem with concatenation and pantone > i'm seeing some strange behavior with concatenation. > > i have individual PDF files (1-2 pages each) that have a pantone-colored > box > in the header of the page. these individual PDF files look great. > > i then use iText (java) to concatenate them into a single PDF via the > prescribed concatenate technique (adapted from the > Concatenate.javaexample.) this works well except for one problem: > all of the pages' header > boxes "inherit" the color of the box on whatever is the first page in the > sequence. > > so, if i have 3 single-page PDF files with pantone-colored rectangles in > the > header: > > 1. blue box > 2. orange box > 3. brown box > > those 3 PDF files look perfect. after concatenation, one would obviously > expect the same sequence, but all 3 would be blue. (or whatever the color > is of PDF #1). everything else about the pages (text, fonts, layout, > EVERYTHING) is perfect. only that rectangular pantone box has the wrong > color -- a valid color, not a random one or not-quite-the-right-shade > color, > just the one belonging to page #1 for all pages. > > i haven't been able to find any documentation that describes anything > different that needs to be done to handle concatenation when pantone > colors > are involved. i've tried some variations (with/without smart-copy, etc) > to > no avail. > > any ideas? > > thanks much! > > ===================== > > public int concatenatePdf(List<File> pdfList, File destPdfFile, boolean > makeEven) { > int pageCount = 0; > if (pdfList == null) { > return pageCount; > } > > // concatenate into single PDF > Document document = null; > PdfCopy writer = null; > for (File srcFile : pdfList) { > // open the source for reading > PdfReader reader = getPdfReader(srcFile); > if (reader != null) { > > // prepare the destination for writing > if (document == null) { > document = new Document(reader.getPageSizeWithRotation > (1)); > try { > writer = new PdfSmartCopy(document, new > FileOutputStream(destPdfFile)); > } catch (Throwable e) { > log.error("unable to write to output pdf: " + > destPdfFile.getPath() + ":", e); > return 0; > } > document.open(); > } > > // concatenate pages, ignore form fields and bookmarks if > any > pageCount += importPages(reader, writer, srcFile); > } > } > > if (makeEven && pageCount > 0 && (pageCount % 2) == 1) { > File srcFile = PdfAssembler.getBlankPageFile(); > // open the source for reading > PdfReader reader = getPdfReader(srcFile); > if (reader != null) { > > assert (document != null); > > // concatenate pages, ignore form fields and bookmarks if > any > pageCount += importPages(reader, writer, srcFile); > } > } > > if (document != null) { > document.close(); > } > return pageCount; > } > > protected PdfReader getPdfReader(File srcFile) { > PdfReader reader = null; > try { > reader = new PdfReader(srcFile.getPath()); > reader.consolidateNamedDestinations(); > } catch (IOException e) { > log.error("unable to read src pdf: " + srcFile.getPath() + ":", > e); > } > return reader; > } > > protected int importPages(PdfReader reader, PdfCopy writer, File > srcFile) { > int pageCount = 0; > PdfImportedPage page; > int n = reader.getNumberOfPages(); > for (int i = 1; i <= n; i++) { > page = writer.getImportedPage(reader, i); > try { > writer.addPage(page); > pageCount++; > } catch (Throwable e) { > log.error("unable to add pdf page " + i + ": " + > srcFile.getPath() + ":", e); > } > } > return pageCount; > } > ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ iText-questions mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/itext-questions Buy the iText book: http://itext.ugent.be/itext-in-action/
