我想将 PDF 页面转换为图像文件。当我使用 java 将 PDF 页面转换为图像时,文本丢失。
我要转换的文件46_2.pdf https://app.box.com/s/2nop07cfdzndns9zt4m5转换后它向我展示了像46_2.png https://app.box.com/s/50bu06v1yz7hrvdu4qn2
Code:
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
public class ConvertPDFPageToImageWithoutText {
public static void main(String[] args) {
try {
String oldPath = "C:/PDFCopy/46_2.pdf";
File oldFile = new File(oldPath);
if (oldFile.exists()) {
PDDocument document = PDDocument.load(oldPath);
List<PDPage> list = document.getDocumentCatalog().getAllPages();
for (PDPage page : list) {
BufferedImage image = page.convertToImage();
File outputfile = new File("C:/PDFCopy/image.png");
ImageIO.write(image, "png", outputfile);
document.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
由于您使用的是 PDFBox,请尝试使用PDFImageWriter.writeToImage http://pdfbox.apache.org/docs/1.8.3/javadocs/org/apache/pdfbox/util/PDFImageWriter.html#writeImage%28org.apache.pdfbox.pdmodel.PDDocument,%20java.lang.String,%20java.lang.String,%20int,%20int,%20java.lang.String%29而不是 PDPage.convertToImage。这个帖子 https://stackoverflow.com/a/6223261/765419似乎与你想做的事情相关。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)