将PDF页面拆分为两部分

时间:2017-02-18 13:08:27

标签: java pdf split itext

我想采用单页PDF,而不是将其拆分为两部分(在中间切割该页面),而不考虑该页面上的文本。我正在使用iText,但我没有找到任何关于如何做到这一点的例子。

1 个答案:

答案 0 :(得分:0)

你无法真正拆分页面,这将是一项非常困难的任务,你可以做的是将一个页面的内容克隆到一个原始大小的一半的新页面内,并重复第二页应用翻译到内容。

我展示了PDFBox的示例,我最近使用它并且我准备好了一个沙箱项目进行测试,当然你可以用iText做同样的事情。

package printit;

import java.io.File;
import java.io.IOException;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.common.PDRectangle;

public class CutIt {
    public static void main(String[] args) throws IOException {
        PDDocument outdoc = new PDDocument();
        PDDocument doc = PDDocument.load(new File("sample_1.pdf"));
        PDPage page = (PDPage) doc.getDocumentCatalog().getPages().get(0);

        PDRectangle cropBox = page.getCropBox();
        float upperRightY = cropBox.getUpperRightY();
        float lowerLeftY = cropBox.getLowerLeftY();

        cropBox.setLowerLeftY(upperRightY/2);
        page.setCropBox(cropBox);
        outdoc.importPage(page);


        cropBox = page.getCropBox();
        cropBox.setUpperRightY(upperRightY/2);
        cropBox.setLowerLeftY(lowerLeftY);
        page.setCropBox(cropBox);
        outdoc.importPage(page);

        outdoc.save("cut.pdf");
        outdoc.close();


        doc.close();
    }
}