So erhöhen Sie die Auflösung des Bildes in PDF-renderer?

Ich soll zur Erhöhung der Auflösung eines Bildes. Ich verwendet PDFRenderer-0.9.0 jar . Es wird heruntergeladen von java.net
für die Umwandlung von PDF-Seiten in Bilder.

Ich Konvertieren wollen 46_2.pdf PDF-Datei zu Bild . Die konvertierten 46_2.png Bild ist klein mit Abmessungen 612 x 792 [ width x height ],

So, ich möchte erhöhen Sie die Bild-Dimensionen zu 1200 x 1400 [ width x height].

Ich zuvor versucht PdfBox für die Umwandlung von PDF-Seiten in PNG-Bild-Datei. Es ist ein problem only page is converted but text is missing. Also versuchte ich PdfRenderer für die Bild-Konvertierung.

Code:

package com.pdfrenderer.examples;

import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

import javax.imageio.ImageIO;

import com.sun.pdfview.PDFFile;
import com.sun.pdfview.PDFPage;

public class ConvertPdfPagesToImage {
    public static void main(String[] args) {
        try {
            String sourceDir = "C:/PDFCopy/46_2.pdf";
            String destinationDir = "C:/PDFCopy/";
            File sourceFile = new File(sourceDir);
            String fileName = sourceFile.getName().replace(".pdf", "");
            if (sourceFile.exists()) {
                RandomAccessFile raf = new RandomAccessFile(sourceFile, "r");
                FileChannel channel = raf.getChannel();
                ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
                PDFFile pdf = new PDFFile(buf);
                int pageNumber = 1;
                for (int i = 0; i < pdf.getNumPages(); i++) {
                    PDFPage page = pdf.getPage(i);
                    //create the image
                    Rectangle rect = new Rectangle(0, 0, (int) page.getBBox().getWidth(), (int) page.getBBox().getHeight());
                    BufferedImage bufferedImage = new BufferedImage(rect.width, rect.height, BufferedImage.TYPE_INT_RGB);
                    //image width, //image height, //clip rect, //null for the ImageObserver, //fill background with white, //block until drawing is done
                    Image image = page.getImage(rect.width, rect.height, rect, null, true, true );
                    Graphics2D bufImageGraphics = bufferedImage.createGraphics();
                    bufImageGraphics.drawImage(image, 0, 0, null);
                    ImageIO.write(bufferedImage, "png", new File( destinationDir + fileName +"_"+ pageNumber +".png"));
                    pageNumber++;
                }
            } else {
                System.err.println(sourceFile.getName() +" File not exists");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
was passiert, wenn die doppelte Breite und Höhe des Bildes. Wird das nicht machen, es auf die doppelte Auflösung?
nach dem ändern der Breite und Höhe Bild ist vergrößert, aber die Auflösung ist dieselbe. Wenn wir erhöht die Auflösung automatisch ändert Ihre Höhe und Breite.
Ähm .. Sie wollen automatisch erhöhen Sie die Auflösung von einem pixel-Bild? Sie wissen, diejenigen, die "image enhancement" Funktionen sehen Sie in "CSI" sind fake, nicht wahr?
es ist möglich, in pdfbox.

InformationsquelleAutor pudaykiran | 2014-01-11

Schreibe einen Kommentar