The following example demonstrates that the contentStream conflicts with the image. The more elementes are written to the content stream the more the image shows garbage. Other people are having the same problem, please see http://stackoverflow.com/a/8598054/628696

        PDDocument document = new PDDocument();
        
        PDPage page = new PDPage(PDPage.PAGE_SIZE_A4);
        document.addPage(page);
PDPageContentStream contentStream = new PDPageContentStream(document, page);
        
for (int i = 0; i < 1000; ++i) { // the more elements the more the image damages
                contentStream.drawLine(0, 0, 100, 0);
        }
        
BufferedImage bufferedImage = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
        PDXObjectImage xObjectImage =  new PDPixelMap(document, bufferedImage);
        contentStream.drawImage(xObjectImage, 0, 0);
        
        contentStream.close();
        document.save("Example.pdf");
        document.close();

Reply via email to