将所有PDF页面转换为java中的单个图像 我有一个700KB的pdf文件,我想将它转换为缩小尺寸的单个图像。我在下面试了一下。我正在使用PDFBox
PDDocument document = PDDocument.loadNonSeq(file,null);
List<PDPage> pages = document.getDocumentCatalog().getAllPages();
int i =0;
for ( PDPage page : pages ) {
BufferedImage image = page.convertToImage();
BufferedImage imageBW = new BufferedImage(image.getWidth(),
image.getHeight(), BufferedImage.TYPE_3BYTE_BGR);
Graphics g = imageBW.getGraphics();
g.drawImage(image, 0, 0, null);
g.dispose();
java.io.File file1 = new
java.io.File(("D:\\FTPUploads\\GuestSupply_"+i+".jpg"));
ImageIO.write(imageBW, "jpg", file1);
i++;
}
But there difference found is only 10 KB and here it created into 2 images (pdf having 2 pages) i need it in single image. Could you please help me out on this.
答案 0 :(得分:2)
ImageMagick是一个用于创建,编辑,编辑或转换位图图像的软件套件。它具有连接图像的选项。通常从命令行使用ImageMagick的功能,或Im4java是ImageMagick命令行的纯java接口。它是在Apache 2.0许可下发布的。
首先使用PDFBox将每个PDF页面转换为单独的图像,然后使用ImageMagick合并所有图像。