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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名