在 pdfbox 2.00 中使用 PDFMergerUtility 合并文档
Merge document with PDFMergerUtility in pdfbox 2.00
PDFbox Merge Document with 1.8.xx 就像 mergePdf.mergeDocuments() 它工作正常。现在 pdfbox 版本 2.0.0 包含一些参数,比如 org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(MemoryUsageSetting arg0)
什么是 MemoryUsageSetting 如何与 mergeDocuments.I 一起使用 合并源文件列表,将结果保存在目标文件中。请提供一些相当于 2.0.0 版的代码
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)
{
}
}
根据 javadoc,MemoryUsageSetting
控制 memory/temporary 文件用于缓冲的方式。
最简单的两种用法是:
MemoryUsageSetting.setupMainMemoryOnly()
这将缓冲内存使用设置为仅使用大小不受限制的主内存(无临时文件)。
MemoryUsageSetting.setupTempFileOnly()
这将缓冲内存使用设置为仅使用大小不受限制的临时文件(无主内存)。
所以对你来说,电话是
mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
或
mergePdf.mergeDocuments(MemoryUsageSetting.setupTempFileOnly());
或者直接传null。这将默认为仅主内存。这也是 javadoc 告诉我们的:memUsageSetting
定义了如何使用内存来缓冲 PDF 流;如果为空,则使用不受限制的主内存。
PDFbox Merge Document with 1.8.xx 就像 mergePdf.mergeDocuments() 它工作正常。现在 pdfbox 版本 2.0.0 包含一些参数,比如 org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(MemoryUsageSetting arg0)
什么是 MemoryUsageSetting 如何与 mergeDocuments.I 一起使用 合并源文件列表,将结果保存在目标文件中。请提供一些相当于 2.0.0 版的代码
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)
{
}
}
根据 javadoc,MemoryUsageSetting
控制 memory/temporary 文件用于缓冲的方式。
最简单的两种用法是:
MemoryUsageSetting.setupMainMemoryOnly()
这将缓冲内存使用设置为仅使用大小不受限制的主内存(无临时文件)。
MemoryUsageSetting.setupTempFileOnly()
这将缓冲内存使用设置为仅使用大小不受限制的临时文件(无主内存)。
所以对你来说,电话是
mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
或
mergePdf.mergeDocuments(MemoryUsageSetting.setupTempFileOnly());
或者直接传null。这将默认为仅主内存。这也是 javadoc 告诉我们的:memUsageSetting
定义了如何使用内存来缓冲 PDF 流;如果为空,则使用不受限制的主内存。