iText PDF SDKの新しい四半期リリースが登場しました。オープンソースのiText Core PDFライブラリとiText Suiteのアドオンのこのリリースについて、iText Coreバージョン8.0.0(別名iText 8)のリリースを発表いたします。
前回予告したように、このリリースでは、オープンソースのiText Core PDFライブラリとiText Suiteのアドオンに大きな変更が加えられました。
iText PDFライブラリのバージョン7の最初のリリースから7年、iText Coreバージョン8.0.0(別名iText 8)のリリースを発表できることとなりました。
iText 8新機能
iText Coreバージョン7.0.0を2016年にリリースしたとき、私たちはiTextをゼロから再構築するために初心に戻りました。iText 2/5および.NET版iTextSharpなど様々なバージョンを通じてiTextを継続的に開発し、開発者やお客様が必要とする機能を追加していくうちに、少し扱いにくくなっていました。モノリシックライブラリであるiText 5のコードベースは、機能を追加していくうちにコードベースが大幅に拡大していました。
そのため、iText 7は、開発者が必要な機能を決定し、それらのモジュールのみをロードできるようになったよりスリムでモジュラーなライブラリとして誕生しました。フォームやSVGの機能が必要ない場合は、フォームとsvgのモジュールをロードする必要はありません。これにより、貴重なメモリと初期化時間が節約されます。
同時に、モジュラーアプローチにより、セキュアな編集、複雑な言語レンダリング、HTML/XMLをPDF作成のテンプレートとして使用することなど、専門的なアドオンでiTextの機能を拡張することができました。iTextはお客様のニーズや要件を満たすために、iText Suiteの一部として新しいアドオンを開発し続けています。
iTextバージョン8は、この考え方をさらに進化させて、コアライブラリを書き直して改良し、現代のドキュメント処理のニーズに対応しました。バージョン7は当時新しく導入されるPDF 2.0仕様を中心に設計されていましたが、iText Core 8.0.0ではPDF 2.0に関連する最新の暗号化拡張機能のサポートや新機能が数多く導入されています。
詳細を見てみましょう。
iText Core 8.0.0がリリース
新しいデジタル署名規格のサポート
特に、ISO/TS 32001で指定されたSHA-3ハッシュ関数のサポートが追加され、ISO/TS 32002からはデジタル署名用の現代的な楕円曲線もサポートされるようになりました。これらの拡張機能は非常に新しいものですが、iTextのようなオープンソースプロジェクトが早期にこのような規格をサポートし、普及させることが重要であると考えています。特に、PDF AssociationとISO委員会の両方に関与しているためです。
FIPSを標準サポート
iText Coreには、暗号化製品の評価基準である連邦情報処理標準(FIPS 140-2)に準拠するため、Javaおよび.NET Bouncy Castle FIPS APIのダイレクトサポートが追加されました。FIPS 140-2は米国/カナダ連邦標準ですが、実用的なセキュリティと現実的なベストプラクティスのために、政府および非政府部門の両方で広く採用されています。
.NETユーザーの場合、FIPSサポートは.NET Coreで動作しますが、制限があるため、.NET Frameworkは現在サポートされていません。
承認モードでSHA3-512アルゴリズムを使用するコード例があります。また、Bouncy Castle変更ページでiText社のFIPS実装の詳細を確認できます。
その他のデジタル署名の変更点
署名モジュールには、新しい機能(ETSIによってPAdESの優先方法として指定されたRSASSA-PSSパディングスキームなど)をサポートするために、大幅な改善が加えられ、デジタル署名のプロセスを簡単にするためにも改善が加えられました。
フォーム作成の改善
フォームモジュールにも大幅な改善が加えられました。フォームを作成する際には、iTextでPDFを作成する際に好評だった、より論理的なレイアウトベースのアプローチを採用できるようになりました。フォームフィールド用のレイアウト要素を作成し、通常のレイアウト要素(段落、テーブル、Divなど)と同様にDocumentオブジェクトに追加するだけで、フォーム作成とメンテナンスが大幅に容易になりました。
その他の新機能は?
二重マッピングを含む非同一CMap(UniJIS-UCS2-Hなど)を含むPDFからのテキスト抽出に関する改善があります。この変更により、ドキュメント内のCMapのソースエンコーディングに関係なく、信頼性の高いUnicode抽出が可能になります。
GitHubリポジトリでにある新しく改良されたJavaおよび.NETレイアウトモジュールのドキュメントにも注目いただきたいです。
また、リリースノートとAPIドキュメントで詳細を確認できる一般的なAPIの改善と改良もたくさんあります。
pdfCalligraph 4.0.0
pdfCalligraphは、PDF文書を作成する際に高度なタイポグラフィサポートを提供するiText Coreアドオンです。グローバル言語や文字体系の正確なレンダリングを実現し、ドキュメントワークフローを拡張することができます。
pdfCalligraph 4.0.0では、com.ibm.icu.icu4j依存関係のバージョンを更新しました。それ以外は、iText Coreバージョン8.x.xリリースとの互換性のためのリリースです。
pdfHTML 5.0.0
pdfHTMLは、HTML/XML(および関連するCSS)からPDFを作成するためのiText Coreアドオンです。
pdfHTML 5.0.0の新機能は、ネストされた要素の外観に影響を与えるtext-decoration-color CSSプロパティのサポートです。このCSSプロパティは、text-decoration-lineプロパティによって追加されたテキスト装飾の色を設定します。
pdfOCR 3.0.0
pdfOCRは、ドキュメントや画像にOCRを実行するためのiText Coreアドオンです。
このリリースでは、JDK19とLeptonicaライブラリを使用する場合に例外が発生する可能性がある互換性の問題を解決しました。それ以外は、iText Coreバージョン8.x.xリリースとの互換性のためのリリースです。
pdfOptimizer 3.0.0
pdfOptimizerは、PDFのファイルサイズを縮小するためのiText Coreアドオンです。
このバージョンに新しい変更はありませんが、iText Coreバージョン8.x.xリリースとの互換性のためのリリースです。
pdfSweep 4.0.0
pdfSweepは、PDFからコンテンツを安全に再編集するためのJavaおよび.NET向けiText Coreアドオンです。
このバージョンに新しい変更はありませんが、iText Coreバージョン8.x.xリリースとの互換性のためのリリースです。
pdfXFA 4.0.0
pdfXFAは、JavaおよびC#(.NET)向けのiText Coreアドオンで、動的なXFAフォームを静的なPDFにフラット化することができます。変換されたXFAフォームにデジタル署名を追加して、PDFワークフローでのさらなる処理またはアーカイブ用の追加セキュリティを提供することもできます。
このリリースでは、テーブルセルに関連するフラット化の問題と、ページ領域外にコンテンツが描画された問題をいくつか修正しました。