我使用不同的工具(例如处理)来创建矢量图。这些图被写成单页或多页 pdf。我想使用 pdfbox 将这些图包含在一个类似报告的 pdf 中。
我当前的工作流程包括这些 pdf 文件作为图像,并具有以下伪代码
PDDocument inFile = PDDocument.load(file);
PDPage firstPage = (PDPage) inFile.getDocumentCatalog().getAllPages().get(0);
BufferedImage image = firstPage.convertToImage(BufferedImage.TYPE_INT_RGB, 300);
PDXObjectImage ximage = new PDPixelMap(document, image);
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.drawXObject(ximage, 0, 0, ximage.getWidth(), ximage.getHeight());
contentStream.close();
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但它失去了矢量文件格式的优点,特别是文件/大小与打印质量。
是否可以使用 pdfbox 将其他 pdf 页面作为嵌入对象包含在页面中(不添加为单独的页面)?例如,我可以使用 PDStream 吗?我更喜欢像 pdflatex 这样的解决方案能够将 pdf 数字嵌入到新的 pdf 文档中。
您可以推荐哪些其他 Java 库来完成该任务?