2

PDF を複数のドキュメントに分割する必要があるビジネス要件があります。100MBのpdfがあるとしましょう。簡単にするために、それを10MB以下の複数のpdfに分割する必要があります。

私はiTextを使用しています。

元の pdf を取得し、ページをループしますが、ディスクに個別に書き込まずに各ページのファイル サイズを確認するにはどうすればよいですか?

簡単にするためのサンプルコード


int numPages = reader.getNumberOfPages();

PdfImportedPage page;
for (int currentPage = 0; currentPage < numPages; ){
    ++currentPage;
    //Get page from reader
    page = writer.getImportedPage(reader, currentPage);

// I need the size in bytes here of the page

}   

4

1 に答える 1

1

最も簡単な方法は、ディスクに書き込んでから削除することだと思います。

Document document = new Document();
File f= new File("C:\\delete.pdf");  //for instance
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(f));
document.open();
document.add(page);
document.close();
long filesize = f.length();   //this is the filesize in byte
f.delete();

確かに確かではありませんが、ファイルが存在しない場合にファイルサイズを特定する方法がわかりません。

于 2012-05-18T11:19:37.397 に答える