java使用pdfbox将pdf转为图片

  1. 导入依赖
		<fontbox.version>2.0.1</fontbox.version>
        <pdfbox.version>2.0.1</pdfbox.version>
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>fontbox</artifactId>
            <version>${fontbox.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>${pdfbox.version}</version>
        </dependency>
  1. 工具类代码如下
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ChangePdfToImg {

    // pdf转png图片  dpi表示图片清晰度 200-300之间
    public static String pdf2Image(String PdfFilePath, String dstImgFolder, int dpi) {
        File file = new File(PdfFilePath);
        PDDocument pdDocument;
        try {
            String imgPDFPath = file.getParent();
            int dot = file.getName().lastIndexOf('.');
            String imagePDFName = file.getName().substring(0, dot); // 获取图片文件名
            String imgFolderPath = dstImgFolder;

            pdDocument = PDDocument.load(file);
            PDFRenderer renderer = new PDFRenderer(pdDocument);
            /* dpi越大转换后越清晰,相对转换速度越慢 */
            StringBuffer imgFilePath = null;

            String imgFilePathPrefix = imgFolderPath + File.separator + imagePDFName;
            imgFilePath = new StringBuffer();
            imgFilePath.append(imgFilePathPrefix);
            imgFilePath.append(".png");
            File dstFile = new File(imgFilePath.toString());
            BufferedImage image = renderer.renderImageWithDPI(0, dpi);
            ImageIO.write(image, "png", dstFile);
            System.out.println("PDF文档转PNG图片成功!");
            return imgFilePath.toString();
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PDFBox是一个用于处理PDF文件的Java库,它提供了一系列的API,可以用来读取、创建和修改PDF文件。虽然PDFBox本身并不直接支持将PDF转换为Word文档,但可以通过其他方式实现这个功能。 一种常见的方法是使用PDFBox读取PDF文件的内容,并将其转换为纯文本格式。然后,可以使用Apache POI或其他类似的库来创建一个新的Word文档,并将纯文本内容写入其中。 以下是一个简单的示例代码,演示了如何使用PDFBox和Apache POI将PDF转换为Word文档: ```java import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class PDFToWordConverter { public static void main(String[] args) { try { // 加载PDF文件 PDDocument document = PDDocument.load(new FileInputStream("input.pdf")); // 创建Word文档 XWPFDocument wordDocument = new XWPFDocument(); // 提取PDF内容 PDFTextStripper stripper = new PDFTextStripper(); String text = stripper.getText(document); // 将内容写入Word文档 XWPFParagraph paragraph = wordDocument.createParagraph(); XWPFRun run = paragraph.createRun(); run.setText(text); // 保存Word文档 FileOutputStream out = new FileOutputStream("output.docx"); wordDocument.write(out); out.close(); // 关闭PDF文档 document.close(); System.out.println("PDF转换为Word成功!"); } catch (IOException e) { e.printStackTrace(); } } } ``` 请注意,这只是一个简单的示例,实际应用中可能需要更复杂的处理逻辑和错误处理。另外,转换的结果可能会因PDF文件的结构和格式而有所差异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值