Я написал программу на Java с iText 9.0.0 для создания PDF-файла. Мне нужно добавить внешние PDF-файлы как XObject на каждую страницу PDF-файла. Все идет нормально, если количество страниц PDF равно 1 или 2. Однако, если количество страниц >= 3 (например, измените int n = 30; на int n = 31; в следующий код), программа аварийно завершает работу, и PDF-файл не может быть создан правильно. Такое поведение действительно жуткое!
Я написал программу на Java с iText 9.0.0 для создания PDF-файла. Мне нужно добавить внешние PDF-файлы как XObject на каждую страницу PDF-файла. Все идет нормально, если количество страниц PDF равно 1 или 2. Однако, если количество страниц >= 3 (например, измените int n = 30; на int n = 31; в следующий код), программа аварийно завершает работу, и PDF-файл не может быть создан правильно. Такое поведение действительно жуткое! [code]package net.opho; import com.itextpdf.kernel.geom.Rectangle; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfReader; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.canvas.PdfCanvas; import com.itextpdf.kernel.pdf.xobject.PdfXObject; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Paragraph; public class Main { public static void main(String[] args) throws Exception { PdfDocument output = new PdfDocument(new PdfWriter("C:\\develop\\demo.pdf")); Document document = new Document(output); document.setTopMargin(120); Paragraph paragraph = (new Paragraph("Some texts...")).setFontSize(24); int n = 30; for (int i = 0; i < n; i++) { document.add(paragraph); } PdfDocument logoPdf = new PdfDocument(new PdfReader("C:\\develop\\OPhOLogo.pdf")); PdfXObject logoObject = logoPdf.getFirstPage().copyAsFormXObject(output); logoPdf.close(); Rectangle logoRectangle = PdfXObject.calculateProportionallyFitRectangleWithWidth(logoObject, 20, 750, 200); for (int i = 1; i