プレーンな PDF ファイルを iText にロードし、PDF/A1-A としてエクスポート (または書き込み) したいと考えています。
「iText in action sec. edit」を手動で iTextSharp を使用して取得しました。まだ進行中 == null。
プレーンな PDF ファイルを iText にロードし、PDF/A1-A としてエクスポート (または書き込み) したいと考えています。
「iText in action sec. edit」を手動で iTextSharp を使用して取得しました。まだ進行中 == null。
ひやレナード。(Leonard は Adobe で PDF Dev Evangelist Guy として働いています。彼の PDF-Fu はMightyです。偽りの謙虚さを示す漠然とした試みで、私たちの強さを比較することは差し控えます。) >:)
任意の PDF -> PDF/A1-A はほぼ不可能です。1-Aには、タグ付けに埋め込まれたフォーマット情報の非常に大きな山が必要です... PDFをhtml/cssとして再構築するのに必要な情報と同じくらいです。
「これは、これらの座標を持つ行と文字の山」から「これは、X 列と Y 行、およびそのセルに次の情報を含むテーブル」に移行することは非常に困難です。すべてが不可能です。
PDF/A1-b は、まだ簡単ではありませんが、はるかに現実的です。すべてを特定の色空間のセットに入れ、原始的な知性では理解できない分子構造を持つインテントやものをレンダリングする必要があります。
(ひどい誤引用ですが、まだおかしなところがあるので、そのままにしておきました。)
iText[Sharp] は、仕様に反して露骨に何かをしたときにわかるように、PDF/A の生成をサポートしていますが、document.close() を呼び出すまでそれをキャッチできない場合があります。ジェネレーターを作成するプログラマーは、「手動で」大量の情報を入力する必要があります。
「任意の PDF を取得して PDF/A-1a に変換します」と言える人は誰もいません (嘘をつくことなく)。そう言っているソフトウェアを教えてくれれば、それを破る完全に有効な PDF を提供します。毎回。私はそれにお金を賭けます。
PDF/A ISO 仕様 ($) のコピーが必要です。PDF ISO 仕様 (無料! )のコピーが必要です。それらを知る必要があります。そして、あなたは自分が何に反対しているのかを理解するでしょう。
これですべてが「任意の PDF」になりました。すべてが同じプログラムから来ているいくつかのレポートのインスタンスのスタックがある場合、トンネルの終わりに光があります。まだ長いトンネルですが、問題は「ほとんど不可能」ではなく「難しい」に悪化します。そして、1 つのレポートが機能するようになると、同じアプリから同様のレポートを処理するのは比較的簡単になる可能性があります。
まだ楽しくない。
iText は、PDF->PDF/A の「そのままの」変換をサポートしていません。
このようなコンバーターを作成するための出発点として、ライブラリー内の低レベル API を確かに使用できます...しかし、それは単なる出発点にすぎません...
これを試して。
PdfStamper pst = null;
PdfReader reader = new PdfReader(GetTemplateBytes());
pst = new PdfStamper(reader, Response.OutputStream);
pst.Writer.SetPdfVersion(PdfWriter.PDF_VERSION_1_4);
pst.Writer.PDFXConformance = PdfWriter.PDFA1A;