Java学习笔记:PDF转Word

Sikj_6590

关注

阅读 69

2022-02-06

需求

把一个普通的PDF文件(可能含有图片)转换为Word格式。

package Part4;

import com.yzk18.docs.PDFHelpers;
import com.yzk18.docs.WordHelpers;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

import java.util.List;

public class PDF2Word {
    public static void main(String[] args) {
        PDDocument pdfDoc = PDFHelpers.openFile("D:\\temp\\PDF\\奥菲传媒商业计划书.pdf");//打开文档
        XWPFDocument docx = WordHelpers.createDocxDocument();//创建Word文档
        int pages=pdfDoc.getNumberOfPages();
        //for (int i=0;i<pdfDoc.getNumberOfPages();i++)这样写不优化,太消耗时间了
        for (int i=0;i<pages;i++)
        {
            PDPage page =pdfDoc.getPage(i);//遍历每一页
            String pageText = PDFHelpers.parseText(page);//遍历文本
            List<byte[]> images = PDFHelpers.parseImages(page, "png");//获取图片
            WordHelpers.createRun(docx,pageText);//这样就能插入到Word里吗?
            for (byte[] imgBytes:images)
            {
                WordHelpers.addPicture(docx,imgBytes);//插入图片
            }
        }
        WordHelpers.saveToFile(docx,"D:\\\\temp\\\\PDF\\\\奥菲传媒商业计划书.docx");
        WordHelpers.close(docx);
        PDFHelpers.close(pdfDoc);
    }
}

 

精彩评论(0)

0 0 举报