簡単な概要の旧製品との比較は、 ABCpdf 比較チャートもご参照ください。
.NET 5.0
このリリースでは、ABCpdf が .NET5.0 対応として大幅に更新されました。
オリジナルの MSI ベースのインストーラーは、ドキュメントやサンプルプロジェクトなど必要なものがすべて含まれているため、開発には最適です。
b
注意:動作環境はWindowsです。(「対応OS・フレームワーク」をご覧ください。)
ABCChrome
バージョン12には、更新された ABCChrome HTML レンダリングエンジンが付属しています。
ABCChrome86 は Chromium86 をベースにしており、脆弱性の排除に関連する多くの修正と機能が含まれています。セキュリティを向上させるためのサイト分離、Spectre エクスプロイトに関連するリスクを軽減するために設計されたその他の変更、および追加のセキュリティを提供するための新しいクロスオリジンポリシーが導入されています。また、プロセッサを集中的に使用する非常に大きなドキュメントにも対応します。
さらに、現在のリリースでは、機能検出の @supports、構成可能なスタイルシート、リストのスタイル付き箇条書きとマーカー、円錐曲線など、多くの新しい CSS 機能が利用可能です。
詳細については、ウィキペディアで詳しく説明されている Chrome のバージョン履歴をご覧ください。
また、以前のシステム用の ABCChrome65 も含まれています。これはかなり古いものですが(2018年にリリースされました)、引き続き使用したい理由がいくつかあります。
ABCChrome 86 のセキュリティ変更により、エンジンの安全性は向上しましたが、パフォーマンスが低下する可能性があります。したがって、ABCChrome が事前に精査されたコンテンツにのみ公開されている場合は、移行する必要がない可能性があります。
同様に、現在のエンジンは TLS1.0 と TLS1.1 をサポートしなくなったため、以前のシステムでこれらのいずれかに依存している場合は、古いリリースをそのまま使用することをお勧めします。
画像
多くの新しい画像に関する機能を実装しました。
さらに、次の新しいファイル形式のインポートに対応します。
・高効率画像ファイル形式(HEIF): .heic、.heif、.avci、.heics、.heifs、.avcs、.avif、.avifs
・WebP: .webp
・さまざまなRAW形式: .3fr、.ari、.arw、.bay、.cap、.cr2、.cr3、.crw、.dcs、.dcr、.drf、.eip、
.erf、.fff、.iiq、.k25、.kdc、.mef、.mos、.mrw、.nef、.nrw、.orf、.ori、.pef、.ptx、.pxn、.raf、
.raw、.rw2、.rwl、.sr2、.srf、.srw、.x3f、.dng、.arw、.cr2、.crw、.erf、.kdc、.mrw、.nef、
.nrw、.orf、.pef、.raf、.raw、.rw2 、.rwl、.sr2、.srw、.dng
・DirectDrawSurface: .dds
・Windows Media Photo(JPEG XR-JPEG拡張範囲): .wdp、.jxr
さらに、次の新しいファイル形式のエクスポートに対応します。
・高効率画像ファイル形式(HEIF): .heic、.heif
・WebP: .webp
・DirectDrawSurface: .dds
・Windows Media Photo(JPEG XR-JPEG拡張範囲): .wdp、.jxr
正確な実装と機能のセットは、マシンによって異なる場合があることに注意してください。
ゲント Ghent
Ghent Workgroup は、グラフィックの専門家と開発者で構成される国際的な組織であり、公開とパッケージ化のベストプラクティスを作成しています。
彼らの任務の一環として、彼らは Ghent PDF Output Suite を作成しました。これは、PDF レンダリングソフトウェアの適合性をテストするように設計された、非常に要求の厳しい PDF レンダリングスイートです。
準拠している PDF レンダリングエンジンはほとんどありません。実際、主流の PDF レンダリングエンジンのほとんどは非準拠です。
ABCpdf は、Ghent PDF Output Suite5.0 に完全に準拠するようになりました。
アノテーション
さまざまなタイプのマークアップを簡単に作成するための新しいフォームフィールドとアノテーション(注釈)クラスが多数あります。
合計で21の新しい注釈タイプがあり、線からゴム印、3D コンテンツまですべてをカバーしています。
・ButtonAnnotation
・CheckBoxAnnotation
・ChoiceFieldAnnotation
・CircleAnnotation
・3DAnnotation
・FileAttachmentAnnotation
・FreeTextAnnotation
・InkAnnotation
・LineAnnotation
・LinkAnnotation
・PolygonAnnotation
・PolylineAnnotation
・PopupAnnotation
・RadioButtonAnnotation
・RichMediaAnnotation
・ScreenAnnotation
・SquareAnnotation
・StampAnnotation
・TextAnnotation
・TextMarkupAnnotation
・WidgetAnnotation
署名
デジタル署名機能が大幅に改善されました。改善の大部分は内部的なもので機能が改良されています。
表示的な側面では、ValidationInfo などの新しい構造が表示されます。これにより、署名を有効として分類できる範囲をより詳細に調べることができます。
このリリースには、署名後にドキュメントをロックし、署名をドキュメント全体の認証署名にする方法が含まれています。次に、タイムスタンプ署名を追加および署名し、長期検証(LTV)情報を追加するための新しい方法があります。
JavaScript
AcrobateForms およびドキュメントには JavaScript を含めることができます。これまで、フィールド計算に必要な範囲でスクリプトをサポートしてきました。
このリリースでは、より柔軟なデリゲートベースのアプローチを公開しました。これにより、JavaScript を実行し始める機能とともに、ドキュメントオブジェクトモデル(DOM)の新しい部分を定義できます。
例として、フィールドオブジェクトを取り上げます。 Acrobat JavaScript 内で設定できる「display」プロパティがありますが、ABCpdf には表示がないため、これは ABCpdf では意味がありません。ただし、PDF ドキュメントを表示するアプリケーションがある場合は、このプロパティにフックして、JavaScript がフィールドを表示するかどうかを決定できます。
これを行うには、フィールドプロトタイプを取得し、その上に新しいプロパティを定義し、get および set 操作を処理するデリゲートを使用します。このデリゲート内で、ドキュメントプロパティを変更して、問題のフィールドを表示または非表示にして、PDF レンダリングが「display」プロパティの状態を反映するようにできます。
ストリーム
当製品のクラスは高レベルの操作に最適ですが、PDF ドキュメントの処理を非常に細かく制御する必要がある場合があります。
たとえば、特定のスポットカラーで塗りつぶされた長方形を探すためにページをスキャンする必要があるとします。これは過去に可能だった種類のことですが、存在するアイテムと現在のグラフィックスの状態を追跡するプロセスは複雑で間違いやすいため、正しく理解するのは非常に困難です。
このリリースでは、一連の新しい操作クラスを使用してこの問題に取り組んでいます。 ContentStreamScanner があり、コンテンツストリームを効率的にスキャンして、特定の操作を探すことができます。
これは、現在の状態を追跡する GraphicsState クラスおよび TextState クラスと共存します。これらは両方とも、処理するコンテンツストリームを見つけることができる ContentStreamOperation と組み合わせて使用できます。
最後に、コンテンツストリームで参照されているリソースにすばやく簡単にアクセスできる Resorcerer クラスがあります。これらのクラスはすべて、使用する必要のない機能のオーバーヘッドを最小限に抑えて、高速かつ効率的になるように設計されています。
Atoms
Atom クラスは、PDF 構造への低レベルのアクセスを許可します。これはアイテムにアクセスするための非常に柔軟な方法ですが、少し高いレベルのものが必要な場合もあります。
バージョン12では、Converter クラスをリリースしました。これにより、必要な参照を解決しながら、Atom および Atom のグループに簡単にアクセスできます。
一般的に必要なものであるだけでなく、複数の操作を1つにまとめて処理できるため、ある程度の最適化も可能です。
Converter クラスは、ObjectSoup.Convert プロパティを介して簡単に利用できます。
精度
ABCpdf は浮動小数点数に小数点以下5桁の精度を使用してきました。
この理由は、2003年に取って代わられた PDF1.4 仕様に根ざしています。
このリリースでは、より最新の出力スタイルに高精度浮動小数点値を使用できるようになりました。
この精度は、PDFLimits.FloatDigits クラスを介して制御できます。このためのドキュメントには、精度を変更することの長所と短所に関する説明が含まれています。
PDF 2.0
PDF 2.0 仕様-ISO32000-2:2020 は2020年後半にリリースされました。
ABCpdf は完全にサポートしており、この新しい PDF 仕様と互換性があります。
サンプル
ABCpdf の変更により、多くのサンプルプロジェクトを大幅に簡素化できました。
最も注目すべきは、必要なフォーム機能の多くが Form オブジェクトに含まれるようになったため、Annotations プロジェクトははるかに自己完結型です。
ContentStreamScanner および関連するクラスにより、GetColors および Redaction の例から大量のコードを削除することもできます。
その他
このリリースでも、次のような便利な新しい関数やプロパティがたくさんあります。
・HtmlOptions.BaseURI: AddImageHtml を使用するときにリソースの場所を指定します。
・アピアランスストリームを取得および設定するためのアノテーションアピアランス関数。
・Annotation.Color: 注釈の色を指定します。
・NameAtom.Encode: コンテンツストリームに挿入するための名前エンコーディング文字列用。
・StringAtom.Data: コンテンツストリームに挿入するための生データとして文字列を取得します。
・水平および垂直フォントメトリックにアクセスするための FontObject プロパティおよび関数。
・Rendering.Backdrop: ページの背景色を指定します。
・VirtualPageOperation: フォーム XObject と注釈の外観ストリームを構築するための機能。
|