pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anshul Kayastha <anshulkayas...@gmail.com>
Subject PDFBox - convert image to PDF, PDF resolution
Date Mon, 10 Oct 2016 17:49:42 GMT
I am using PDFBox v2 to convert jpg images to PDF. JPG image is already on
the filesystem, so I just pick it up and convert it to PDF. Below is my code

public void convertImgToPDF(String imagePath, String fileName, String
destDir) throws IOException {
        PDDocument document = new PDDocument();
        InputStream in = new FileInputStream(imagePath);
        BufferedImage bimg = ImageIO.read(in);
        float width = bimg.getWidth();
        float height = bimg.getHeight();
        PDPage page = new PDPage(new PDRectangle(width, height));
        PDImageXObject img = PDImageXObject.createFromFile(imagePath, document);
        PDPageContentStream contentStream = new
PDPageContentStream(document, page);
        contentStream.drawImage(img, 0, 0);
        document.save(destDir + "/" + fileName + ".pdf");

This code does the conversion just fine. However, I have observed the
following in converted PDFs

   1. When I open a converted PDF, it opens very slowly (in Acrobat
   reader). It seems as it PDF is opening pixel by pixel. If I open any other
   PDF, it opens fine.
   2. The default size in acrobat reader is shown as a smaller value (like
   15% or 26%, screenshot attached) for converted PDFs. Even though it covers
   100% of the screen (15% should have implied that I see a much smaller
   image, but that is not the case). When I change the size to 100%, I see a
   highly blurred image which is much larger than the actual image and I have
   to scroll left/right and top/down to see the complete image.

Both these observations make me feel that for some reason the PDF that is
getting generated is a much higher resolution than it should have been.
Would that be a fair statement? If so, how can I correct this?

Also, attached is a sample image that I am trying to convert.

View raw message