【发布时间】:2012-09-12 16:40:14
【问题描述】:
我的 SD 卡中有多个单页 PDF 文件。现在我需要以编程方式将这些单页 PDF 文件合并到一个 PDF 文档中。我已经使用Android PDF Writer 库来创建这些单个 PDF 文件。我该怎么做?
【问题讨论】:
-
嘿,你找到解决方案了吗?
标签: android pdf merge pdf-generation
我的 SD 卡中有多个单页 PDF 文件。现在我需要以编程方式将这些单页 PDF 文件合并到一个 PDF 文档中。我已经使用Android PDF Writer 库来创建这些单个 PDF 文件。我该怎么做?
【问题讨论】:
标签: android pdf merge pdf-generation
iText 库可以合并 PDF 文件,据说有一个适用于 Android 的 iText 版本。
【讨论】:
您可以将 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;
}
【讨论】: