Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将PDF页面分为两部分_Java_Pdf_Split_Itext - Fatal编程技术网

Java 将PDF页面分为两部分

Java 将PDF页面分为两部分,java,pdf,split,itext,Java,Pdf,Split,Itext,我想拿一个单页PDF,然后把它分成两部分(在中间剪切该页),而不考虑该页上的文本。我正在使用iText,但是我没有找到任何关于如何做到这一点的例子 您无法真正拆分页面,这将是一项相当困难的任务,您可以做的是将页面内容克隆到一个新页面中,使其大小为原始大小的一半,然后在第二页重复此操作,对内容应用翻译 我展示了一个例子,我最近正在使用它,我有一个沙盒项目准备做测试,当然你也可以用iText做同样的事情 package printit; import java.io.File; import ja

我想拿一个单页PDF,然后把它分成两部分(在中间剪切该页),而不考虑该页上的文本。我正在使用iText,但是我没有找到任何关于如何做到这一点的例子

您无法真正拆分页面,这将是一项相当困难的任务,您可以做的是将页面内容克隆到一个新页面中,使其大小为原始大小的一半,然后在第二页重复此操作,对内容应用翻译

我展示了一个例子,我最近正在使用它,我有一个沙盒项目准备做测试,当然你也可以用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();
    }
}

你是说你想平铺一页吗?平铺页面在的中进行了说明。在那个例子中,一个页面被分为四部分,但是修改代码使其分为两部分是相当容易的。你链接的内容看起来不错,但我不理解代码和函数。我不明白他从哪里开始复制pdf的一部分,然后“粘贴”一个新的。我会这样做,将内容克隆到一个新的pdf文件中。我发现:float width=pdf.getPage(n.getPageSize().getWidth();浮动高度=pdf.getPage(n).getPageSize().getHeight();然后我可以创建一个新页面的模板,但我不知道如何选择一个页面的内容问题是关于iText的,而不是关于PDFBox的。添加了指向iText答案的链接。