2017-08-31 7 views
-2

条件に基づいて、1つのセクションを非表示にする必要があり、下のセクションを上に移動する必要があります。そのため、PDFを生成する際に、隠しセクションは空白として表示されません。iText7を使用してPDF内の1つのセクションを非表示にする方法

+0

はあなたがしようとしているいくつかのコード、そしてあなたが発見したいくつかの特定の問題を提供していただけますチェックアウト? – ainwood

+1

あなたの質問は間違っています。あなたの要件はPDF仕様に反しているので、PDFについて話すことはできません。あなたはおそらく、HTML、.docx、.txt、RTF、...について話しています。 –

答えて

1

いくつかの明確化:

既存のPDFでこれをやっている場合は、動作する可能性はありません。 PDF文書はWYSIWYG形式ではありません。それらをテキストのコンテナというよりも描画命令のコンテナと考えることができます。ので、機能しません既存のドキュメントのセクションを移動

  • 文書自体は、命令が行、段落を作るために一緒に行くかについての情報が含まれていない、とのセクション
  • 文書が圧縮を使用し、バイトオフセットの一部を移動または削除すると、すべてのバイトオフセットを再計算する必要があることを意味します。

テキストを再フローする必要がある場合は、確かに可能です。 iTextには既に描画とレンダリングのすべての操作を見て、与えられた矩形と交差するものを取り除く(またはパスが矩形を通過するときなどに調整する)pdfSweepというアドオンが既にあります。

Ifあなたはpdfを生成していますが、これはもちろん些細なことです。あなたは、単にような何かを行うことができます。

File outputFile = new File(System.getProperty("user.home"),"output.pdf"); 
PdfDocument pdfDocument = new PdfDocument(new PdfWriter(outputFile)); 
Document layoutDocument = new Document(pdfDocument); 

if(some_condition) 
{ 
    layoutDocument.add(new Paragraph("Lorem Ipsum Dolor Sit Amet")); 
} 
layoutDocument.add(new Paragraph("Never gonna give you up. Never gonna let you down.")); 

http://itextpdf.com/itext7/pdfsweep

+0

Thanks Joris..iはあなたの提案に作用します –

関連する問題