使用pdfbox在java中将pdf文件转换为图像时文本丢失 [英] Text is missing when converting pdf file into image in java using pdfbox

查看:89
本文介绍了使用pdfbox在java中将pdf文件转换为图像时文本丢失的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将 PDF 页面转换为图像文件.使用 java 将 PDF 页面转换为图像时文本丢失.

I want to convert a PDF page to image file. Text is missing when I convert a PDF page to image using java.

转换后我想转换的文件 46_2.pdf 显示我像 46_2.png

The file which I want to convert 46_2.pdf after converting it shown me like 46_2.png

代码:

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 而不是 PDPage.convertToImage.这篇博文似乎与您想要做的事情相关.

Since you're using PDFBox, try using PDFImageWriter.writeToImage instead of PDPage.convertToImage. This post seems relevant to what you are trying to do.

这篇关于使用pdfbox在java中将pdf文件转换为图像时文本丢失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆