为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中将两个PDF文件合并为一个?

如何在Java中将两个PDF文件合并为一个?

慕码人8056858 2019-12-25 15:51:54
我想使用PDFBox将许多PDF文件合并为一个,这就是我所做的:PDDocument document = new PDDocument();for (String pdfFile: pdfFiles) {    PDDocument part = PDDocument.load(pdfFile);    List<PDPage> list = part.getDocumentCatalog().getAllPages();    for (PDPage page: list) {        document.addPage(page);    }    part.close();}document.save("merged.pdf");document.close();哪里pdfFiles是一个ArrayList<String>包含了所有的PDF文件。当我运行上面的代码时,我总是得到:org.apache.pdfbox.exceptions.COSVisitorException: Bad file descriptor难道我做错了什么?还有其他方法吗?
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

为什么不使用pdfbox 的PDFMergerUtility?


PDFMergerUtility ut = new PDFMergerUtility();

ut.addSource(...);

ut.addSource(...);

ut.addSource(...);

ut.setDestinationFileName(...);

ut.mergeDocuments();


查看完整回答
反对 回复 2019-12-25
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

package article14;


import java.io.File;

import org.apache.pdfbox.pdmodel.PDDocument;

import org.apache.pdfbox.pdmodel.PDPage;

import org.apache.pdfbox.util.PDFMergerUtility;


public class Pdf

{

    public static void main(String args[])

    {

        new Pdf().createNew();

        new Pdf().combine();

        }


    public void combine()

    {

        try

        {

        PDFMergerUtility mergePdf = new PDFMergerUtility();

        String folder ="pdf";

        File _folder = new File(folder);

        File[] filesInFolder;

        filesInFolder = _folder.listFiles();

        for (File string : filesInFolder)

        {

            mergePdf.addSource(string);    

        }

    mergePdf.setDestinationFileName("Combined.pdf");

    mergePdf.mergeDocuments();

        }

        catch(Exception e)

        {


        }  

    }


public void createNew()

{

    PDDocument document = null;

    try

    {

        String filename="test.pdf";

        document=new PDDocument();

        PDPage blankPage = new PDPage();

        document.addPage( blankPage );

        document.save( filename );

    }

    catch(Exception e)

    {


    }

}


}


查看完整回答
反对 回复 2019-12-25
  • 3 回答
  • 0 关注
  • 2374 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信