因为有好几种方法,但大都有问题,试用pdfbox转换的时候PDF竖线都很粗
因不知什么原因导致,试用了第二种方法icepdf转换,但都是根据网上的代码转换的,PDF只有框架,没有文字
pdf-renderer也试了,但因问题是需要合作商修改代码所以没有使用
pdfbox的代码片段:
File file = new File(pdfPath);
try {
PDDocument doc = PDDocument.load(file);
org.apache.pdfbox.rendering.PDFRenderer renderer = new org.apache.pdfbox.rendering.PDFRenderer(doc);
int pageCount = doc.getNumberOfPages();
for (int i = 0; i < pageCount; i++) {
BufferedImage image = renderer.renderImageWithDPI(i, 300); // Windows native DPI
File file1 = new File(path);
ImageIO.write(image, "JPG", file1);
}
} catch (IOException e) {
e.printStackTrace();
}
icepdf的代码片段:
Document document = new Document();
document.setFile(pdfPath);
float scale = 2.5f;//缩放比例
float rotation = 0f;//旋转角度
for (int i = 0; i < document.getNumberOfPages(); i++) {
BufferedImage image = (BufferedImage)
document.getPageImage(i, GraphicsRenderingHints.SCREEN, org.icepdf.core.pobjects.Page.BOUNDARY_CROPBOX, rotation, scale);
PageText text = document.getPageText(0);
System.out.println("pagetext"+text);
RenderedImage rendImage = image;
try {
String imgName = i + ".png";
System.out.println(imgName);
File file = new File(path + imgName);
ImageIO.write(rendImage, "png", file);
} catch (IOException e) {
e.printStackTrace();
}
image.flush();
}
document.dispose();
目前是偏向于PDFbox来进行转换的,但希望竖线粗的问题能解决一下
有没有大佬能帮忙解决一下,万分感谢!