iTextSharpを使用して、表示されていない(または少なくとも表示されていない)オブジェクトをPDFドキュメントから削除することはできますか?
詳細:
1)私のソースは、画像とテキスト(おそらくいくつかのベクター図面)と埋め込みフォントを含むPDFページです。
2)複数の「クロップボックス」をデザインするためのインターフェースがあります。
3)クロップボックス内にあるものだけを含む新しいPDFを生成する必要があります。結果のドキュメントから他のものを削除する必要があります(実際、半分が内側で半分が外側のコンテンツを受け入れる場合がありますが、これは理想的ではなく、とにかく表示されるべきではありません)。
これまでの私の解決策:
新しい一時ドキュメントを作成するソリューションの開発に成功しました。各ドキュメントには、各クロップボックスのコンテンツが含まれています(クロップボックスのサイズとまったく同じページにwriter.GetImportedPageとcontentByte.AddTemplateを使用)。次に、最終的なドキュメントを作成し、AddTemplateメソッドを使用してプロセスを繰り返し、各「トリミングされたページ」を最終的なページに配置します。
このソリューションには2つの大きな欠点があります。
- ドキュメントのサイズは[元のサイズ]*[クロップボックスの数]です。ページ全体がそこにあるため、何度もスタンプが押されます。(見えないが、そこにある)
- リーダー内ですべて(CTRL + A)を選択して貼り付けることで、非表示のテキストに引き続きアクセスできます。
したがって、PDFオブジェクトを反復処理し、表示されているかどうかを検出して、削除する必要があると思います。執筆時点では、pdfReader.GetPdfObjectを使用しようとしています。
助けてくれてありがとう。