java将pdf转word ppt xlsx text

public class PDFHelper3 {
    public static void main(String[] args) throws IOException {
        pdf2word("C:\\Users\\admin\\Desktop\\数科转换迁移系统接口指南-20210629.pdf");
    }


    //转word
    public static void pdf2word(String pdfPath) {
        long old = System.currentTimeMillis();
        try {
            String wordPath = pdfPath.substring(0, pdfPath.lastIndexOf(".")) + ".docx";
            FileOutputStream os = new FileOutputStream(wordPath);
            Document doc = new Document(pdfPath);
            doc.save(os, SaveFormat.DocX);
            os.close();
            //转化用时
            long now = System.currentTimeMillis();
            System.out.println("Pdf 转 Word 共耗时:" + ((now - old) / 1000.0) + "秒");
        } catch (Exception e) {
            System.out.println("Pdf 转 Word 失败...");
            e.printStackTrace();
        }
    }

    //转ppt
    public static void pdf2ppt(String pdfPath) {
        long old = System.currentTimeMillis();
        try {
            //新建一个word文档
            String wordPath = pdfPath.substring(0, pdfPath.lastIndexOf(".")) + ".pptx";
            FileOutputStream os = new FileOutputStream(wordPath);
            //doc是将要被转化的word文档
            Document doc = new Document(pdfPath);
            //全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换
            doc.save(os, SaveFormat.Pptx);
            os.close();
            //转化用时
            long now = System.currentTimeMillis();
            System.out.println("Pdf 转 PPT 共耗时:" + ((now - old) / 1000.0) + "秒");
        } catch (Exception e) {
            System.out.println("Pdf 转 PPT 失败...");
            e.printStackTrace();
        }
    }

    //转excel
    public static void pdf2excel(String pdfPath) {
        long old = System.currentTimeMillis();
        try {
            String wordPath = pdfPath.substring(0, pdfPath.lastIndexOf(".")) + ".xlsx";
            FileOutputStream os = new FileOutputStream(wordPath);
            Document doc = new Document(pdfPath);
            doc.save(os, SaveFormat.Excel);
            os.close();
            long now = System.currentTimeMillis();
            System.out.println("Pdf 转 EXCEL 共耗时:" + ((now - old) / 1000.0) + "秒");
        } catch (Exception e) {
            System.out.println("Pdf 转 EXCEL 失败...");
            e.printStackTrace();
        }
    }

    //转html
    public static void pdf2Html(String pdfPath) {
        long old = System.currentTimeMillis();
        try {
            String htmlPath = pdfPath.substring(0, pdfPath.lastIndexOf(".")) + ".html";
            Document doc = new Document(pdfPath);
            doc.save(htmlPath, SaveFormat.Html);
            long now = System.currentTimeMillis();
            System.out.println("Pdf 转 HTML 共耗时:" + ((now - old) / 1000.0) + "秒");
        } catch (Exception e) {
            System.out.println("Pdf 转 HTML 失败...");
            e.printStackTrace();
        }
    }

    //转图片
    public static void pdf2image(String pdfPath) {
        long old = System.currentTimeMillis();
        try {
            Resolution resolution = new Resolution(300);
            String dataDir = pdfPath.substring(0, pdfPath.lastIndexOf("."));
            File imageDir = new File(dataDir + "_images");
            if (!imageDir.exists()) {
                imageDir.mkdirs();
            }
            Document doc = new Document(pdfPath);
            PngDevice pngDevice = new PngDevice(resolution);
            for (int pageCount = 1; pageCount <= doc.getPages().size(); pageCount++) {
                OutputStream imageStream = new FileOutputStream(imageDir + "/" + pageCount + ".png");
                pngDevice.process(doc.getPages().get_Item(pageCount), imageStream);
                imageStream.close();
            }
            long now = System.currentTimeMillis();
            System.out.println("Pdf 转 PNG 共耗时:" + ((now - old) / 1000.0) + "秒");
        } catch (Exception e) {
            System.out.println("Pdf 转 PNG 失败...");
            e.printStackTrace();
        }
    }

    //转txt
    public static void pdf2txt(String pdfPath) {
        long old = System.currentTimeMillis();
        Document pdfDocument = new Document(pdfPath);
        TextAbsorber ta = new TextAbsorber();
        ta.visit(pdfDocument);
        String txtPath = pdfPath.substring(0, pdfPath.lastIndexOf(".")) + ".txt";
        try {
            BufferedWriter writer = new BufferedWriter(new FileWriter(txtPath));
            writer.write(ta.getText());
            writer.close();
            long now = System.currentTimeMillis();
            System.out.println("Pdf 转 TXT 共耗时:" + ((now - old) / 1000.0) + "秒");
        } catch (IOException e) {
            System.out.println("Pdf 转 TXT 失败...");
            e.printStackTrace();
        }
    }
}

所需要的jar包路径

https://repository.aspose.com/repo/com/aspose/aspose-pdf/22.5/

posted on 2022-06-09 17:47  IT-QI  阅读(627)  评论(0编辑  收藏  举报