在PDFBOX中创建PDF文件(来自现有的pdf文件)

时间:2014-03-27 04:05:14

标签: android pdf pdfbox

我有一个300页的PDF文件。我想从我选择的页面中创建一个新的PDF文件,即现有的pdf文件。

我创建了一个空白PDF文件(使用PDFBox),如下所示:

 // Create a new empty document
PDDocument document = new PDDocument();

// Create a new blank page and add it to the document
PDPage blankPage = new PDPage();
document.addPage( blankPage );

// Save the newly created document
document.save("BlankPage.pdf");

这就是我从pdf文件中读取页面的方式。

PDDocument doc = PDDocument.load("Hello World.pdf");
PDPage firstPage = (PDPage) doc.getDocumentCatalog().getAllPages().get(67);

我的问题是,如何获取“第一页”的内容。进入" blankPage.pdf"。 如果我可以选择第一页的x,y坐标(它将被覆盖的位置),那就更好了。

P.S。 我的Hello World文件的页面大小不是A4。每个页面更像是带有文本和形状的缩略图。因此,A4上可以覆盖。此外,我不想将文件转换为图像然后onverlay,我希望将整个pdf文件按原样粘贴(不先转换为图像)

1 个答案:

答案 0 :(得分:0)

事实证明,iText可以做同样的事情。这就是代码:

PdfReader reader = new PdfReader("Hello World.pdf");

            Document document = new Document(PageSize.A4);
            PdfWriter writer = PdfWriter.getInstance(document,
                    new FileOutputStream("RESULT.PDF"));
            document.open();
            PdfContentByte canvas = writer.getDirectContent();
            PdfImportedPage page;








            for (int i = 3; i <=6; i++) {
                page = writer.getImportedPage(reader, i);
                canvas.addTemplate(page, 1f, 0, 0, 1, 0, i*30-250);

            }
            document.close();