如何将多个单页PDF文件合并到Android中的一个PDF文档中

时间:2012-09-20 10:14:44

标签: android pdf merge pdf-generation

我的SD卡中有单页PDF文件。现在我需要以编程方式将这些单页PDF文件合并到一个PDF文档中。我使用Android PDF Writer库来创建这些单个PDF文件。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

iText库可以合并PDF文件,据说有一个适用于Android的iText版本。

答案 1 :(得分:0)

您可以将Android上的多个PDF文件与最新的Apache PdfBox Release组合使用。

只需将此依赖项添加到build.gradle:

compile 'org.apache.pdfbox:pdfbox:2.0.2'

在异步任务中执行此操作:

private File downloadAndCombinePDFs(InputStream streamToPdf1, InputStream streamToPdf2, InputStream streamToPdf3 ) throws IOException {

    PDFMergerUtility ut = new PDFMergerUtility();
    ut.addSource(streamToPdf1);
    ut.addSource(streamToPdf2);
    ut.addSource(streamToPdf3);

    final File file = new File(getContext().getExternalCacheDir(), System.currentTimeMillis() + ".pdf");

    final FileOutputStream fileOutputStream = new FileOutputStream(file);
    try {
        ut.setDestinationStream(fileOutputStream);
        ut.mergeDocuments(MemoryUsageSetting.setupTempFileOnly());

    } finally {
        fileOutputStream.close();
    }
    return file;
}