我有一个包含10页的pdf文件,我需要将页面从2剪切到5,然后创建一个新的pdf。我正在做的事情如下所示:

PDDocument pddDocument=PDDocument.load(new File("sample.pdf"));
PDFTextStripper textStripper=new PDFTextStripper();
String text = textStripper.getText(pddDocument).toString();


我只是在阅读pdf文件并将其写入新文件。如何将上下限剪辑为页码?请指导我?

最佳答案

该解决方案(适用于PDFBox 1.8。*)创建一个PDF文件,其内容与您要求的一样。请注意,页面是从零开始的。

    File originalPdf = new File("{File Location}");
    PDDocument srcDoc = PDDocument.load(originalPdf);
    PDDocument dstDoc = new PDDocument();

    List<PDPage> srcPages = srcDoc.getDocumentCatalog().getAllPages();

    for (int p = 0; p < srcPages.size(); ++p)
    {
        if (p >= 1 && p <= 4)
            dstDoc.addPage(srcPages.get(p));
    }

    dstDoc.save(file2);
    dstDoc.close();
    srcDoc.close();


如果要改为从命令行工作,请看这里:
https://pdfbox.apache.org/commandline/

然后使用PDFSplit和PDFMerge。

10-06 13:23