私はしばらくの間 iText を使用してきましたが、次の問題に行き詰まりました。
私は既存の PDF を持っており、いくつかのページを固定ポイントで分割し、それらを別のファイルとして保存する必要があることを知っています。たとえば、最初のページの 3/4、残りの 4 分の 1、2 ページ目の半分、最後にこのページの残りの半分を取りたいとします。
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を作成します...