Hi, I experienced some random NPE when merging documents using iText 5.5.x and I managed to create a SSCCE. The exception is triggered only when using PdfSmartCopy AND consolidateNamedDestinations is called on the reader AND selectPages is called on the reader. This is the document I used but it happened with others: http://open-advice.org/Open-Advice.pdf To keep the example short I didn't include multiple documents. I think it is probably a bug but please let me know if there is anything wrong with the code.
public static void main(String[] args) throws IOException, DocumentException { File outputFile = File.createTempFile("test", ".pdf"); RandomAccessSource ras = FACTORY .createBestSource("/some-path/Open-Advice.pdf"); PdfReader reader = new PdfReader(new RandomAccessFileOrArray(ras), null); OutputStream outputStream = new FileOutputStream(outputFile); Document pdfDocument = new Document(reader.getPageSizeWithRotation(1)); PdfSmartCopy pdfCopy = new PdfSmartCopy(pdfDocument, outputStream); pdfDocument.open(); reader.consolidateNamedDestinations(); reader.selectPages("1-50"); pdfCopy.addDocument(reader); pdfCopy.freeReader(reader); pdfCopy.close(); reader.close(); outputStream.close(); System.out.println("created " + outputFile.getAbsolutePath()); } and this is the Stacktrace: Exception in thread "main" java.lang.NullPointerException at com.itextpdf.text.pdf.PdfSmartCopy$ByteStore.serObject(PdfSmartCopy.java:189) at com.itextpdf.text.pdf.PdfSmartCopy$ByteStore.serArray(PdfSmartCopy.java:237) at com.itextpdf.text.pdf.PdfSmartCopy$ByteStore.serObject(PdfSmartCopy.java:201) at com.itextpdf.text.pdf.PdfSmartCopy$ByteStore.serDic(PdfSmartCopy.java:228) at com.itextpdf.text.pdf.PdfSmartCopy$ByteStore.serObject(PdfSmartCopy.java:198) at com.itextpdf.text.pdf.PdfSmartCopy$ByteStore.serDic(PdfSmartCopy.java:228) at com.itextpdf.text.pdf.PdfSmartCopy$ByteStore.serObject(PdfSmartCopy.java:198) at com.itextpdf.text.pdf.PdfSmartCopy$ByteStore.<init>(PdfSmartCopy.java:265) at com.itextpdf.text.pdf.PdfSmartCopy.copyIndirect(PdfSmartCopy.java:110) at com.itextpdf.text.pdf.PdfCopy.copyObject(PdfCopy.java:577) at com.itextpdf.text.pdf.PdfCopy.copyArray(PdfCopy.java:550) at com.itextpdf.text.pdf.PdfCopy.copyObject(PdfCopy.java:581) at com.itextpdf.text.pdf.PdfCopy.copyDictionary(PdfCopy.java:493) at com.itextpdf.text.pdf.PdfCopy.copyDictionary(PdfCopy.java:519) at com.itextpdf.text.pdf.PdfCopy.addPage(PdfCopy.java:663) at com.itextpdf.text.pdf.PdfSmartCopy.addPage(PdfSmartCopy.java:158) at com.itextpdf.text.pdf.PdfCopy.addDocument(PdfCopy.java:814) at org.pdfsam.ui.TestIText.main(TestIText.java:54) Regards, Andrea -- View this message in context: http://itext-general.2136553.n4.nabble.com/Merging-files-with-PdfSmartCopy-throws-a-NullPointerException-tp4660460.html Sent from the iText - General mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho _______________________________________________ iText-questions mailing list iText-questions@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/itext-questions iText(R) is a registered trademark of 1T3XT BVBA. 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