我使用 iText 已经有一段时间了,但我遇到了以下问题:
我有一个现有的 PDF,我知道我必须在固定点拆分一些页面并将它们保存为不同的文件。例如,我想占第一页的 3/4,剩下的四分之一是第二页的一半,最后是这一页的另一半。
由于实际上根本无法拆分 PDF,因此我正在尝试复制整个页面并将cropBox 设置为我希望对用户可见的部分:
String filePath = "xxx.pdf";
Document document = new Document();
Document docCopy = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("lastPdf.pdf"));
PdfReader reader = new PdfReader(filePath);
PdfCopy copy = new PdfCopy(docCopy, new FileOutputStream("auxFile.pdf"));
Rectangle crop = new Rectangle(0, 0, 300, 300);
writer.setCropBoxSize(crop);
document.open();
docCopy.open();
PdfContentByte content = writer.getDirectContent();
PdfTemplate template = copy.getImportedPage(reader, 1);
content.addTemplate(template, 0, 0);
docCopy.close();
document.close();
这会创建一个完全空的 PDF ...