2017-02-18 49 views
0

1ページのPDFを取り上げ、そのページのテキストを考慮せずに2つの部分に分割する(中央のページを分割する)ことをお勧めします。私はiTextを使用していますが、これを行う方法の例は見つかりません。PDFページを2つの部分に分割する

+0

ページをタイルしたいと言っていますか?タイルページについては、「iText 7 Jumpstart」の[第6章](http://developers.itextpdf.com/content/itext-7-jump-start-tutorial/chapter-6-reusing-existing-pdf-documents)チュートリアル](http://developers.itextpdf.com/content/itext-7-jump-start-tutorial/)。この例では、ページは4つの部分に分割されていますが、2つに分割されるようにコードを適合させるのはかなり簡単です。 –

+0

あなたがリンクしたものは良いようですが、私はコードと機能を理解していません。私は彼がどこでpdfの一部をコピーし始め、新しいものを "貼り付け"始めるのかわかりません –

答えて

-1

実際にページを分割することはできませんが、これは非常に難しい作業です。元のサイズの半分の新しいページ内のページの内容を複製し、2番目のページで翻訳を適用するコンテンツ。

私は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(); フロートの高さ= pdf.getPage(n).getPageSize()。getHeight();私は新しいページのテンプレートを作成することができますが、私はどのように1つの内容を選択するのか分かりません –

+0

質問はiTextについてであって、PDFBoxについてではありませんでした。 iTextの回答へのリンクが追加されました。 –

関連する問題