m0_37729339 2018-07-13 07:11 采纳率: 0%
浏览 3073
已结题

pdf转png图片遇到的问题

因为有好几种方法,但大都有问题,试用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来进行转换的,但希望竖线粗的问题能解决一下
有没有大佬能帮忙解决一下,万分感谢!

  • 写回答

10条回答 默认 最新

  • weixin_42659843 2018-07-13 08:33
    关注

    收索位置一定要对,会出现映射后的字体,依然找不到问题

    评论

报告相同问题?

悬赏问题

  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。