2017-02-18 48 views
0

拆分PDF页面我想借单页PDF,比两个部分(切割中间的那个页面)拆呢,没有考虑到网页上的文字。我正在使用iText,但我没有找到任何有关如何执行此操作的示例。两个部分

+0

你是说你想要平铺一个页面吗?平铺页中说明[第6章](http://developers.itextpdf.com/content/itext-7-jump-start-tutorial/chapter-6-reusing-existing-pdf-documents)中的[iText的7的Jumpstart的教程](http://developers.itextpdf.com/content/itext-7-jump-start-tutorial/)。在这个例子中,一个页面被分成四部分,但是很容易调整代码,使它分成两部分。 –

+0

看起来不错,你链接,但我不明白的代码和功能。我不明白的地方,他开始复制PDF的一部分,“粘贴”一个新的 –

回答

-1

你真的不能分割页面,这将是一个非常艰巨的任务,你可以做什么是克隆页面的内容新的与原来的一半大小内,并重复施加翻译到第二页内容。

我用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(); 
    } 
} 
+0

我会做到这一点,在克隆一个新的PDF文件中的内容。我发现:float width = pdf.getPage(n).getPageSize()。getWidth(); float height = pdf.getPage(n).getPageSize()。getHeight();比我可以创建一个新页面的模板,但我不知道该如何选择一个 –

+0

的内容的问题是关于iText的,不是关于PDFBox的。添加了一个iText答案的链接。 –