Pdfboxは、mergePdf.mergeDocuments()のように1.8.xxでドキュメントをマージします。正常に動作します。pdfboxバージョン2.0.0には、org.Apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(MemoryUsageSetting arg0)
のような引数が含まれていますMemoryUsageSetting mergeDocumentsの使用方法.I read as like ソースドキュメントのリストをマージし、結果を宛先ファイルに保存します。バージョン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
は、メモリ/一時ファイルをバッファリングに使用する方法を制御します。
最も簡単な2つの使用法は次のとおりです。
MemoryUsageSetting.setupMainMemoryOnly()
これにより、バッファリングメモリの使用量が、サイズに制限のないメインメモリ(一時ファイルなし)のみを使用するように設定されます。
MemoryUsageSetting.setupTempFileOnly()
これにより、バッファリングメモリの使用量が、サイズに制限のない一時ファイル(メインメモリなし)のみを使用するように設定されます。
だからあなたにとって、電話は
mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
または
mergePdf.mergeDocuments(MemoryUsageSetting.setupTempFileOnly());
または、nullを渡します。これはデフォルトでメインメモリのみになります。 javadoc が伝えることでもあります。memUsageSetting
は、PDFストリームのバッファリングにメモリを使用する方法を定義します。 nullの場合、無制限のメインメモリが使用されます。