[英]iText Pdf Page Byte Size
我有一项业务需求,要求我将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
}
我认为最简单的方法是将其写入磁盘,然后将其删除:
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();
我承认,我不确定,但如果文件不存在,我不知道如何确定文件大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.