GroupDocs.Redaction for .NET 26.6 が利用可能になりました。このリリースでは、ストリームやファイルから明示的な形式でドキュメントを開くことが容易になり、System.Drawing に依存しない新しい描画 API を導入して、クロスプラットフォーム互換性を向上させました。

修正と機能強化

  • [Enhancement] ストリームまたはファイルパスからドキュメントを開く際にファイルタイプを指定できるようにしました。 (REDACTIONNET-572)
  • [Enhancement] System.Drawing からの移行により、クロスプラットフォーム互換性を強化しました。 (REDACTIONNET-799)

新機能?

このリリースは、統合を簡素化し、API をより広範なプラットフォームで利用できるようにする 2 つの領域に焦点を当てています。

LoadOptions.FileType でドキュメント形式を指定

ドキュメントを開く際、GroupDocs.Redaction は通常、形式を自動的に検出します。拡張子が正しいファイルではうまく機能しますが、ファイル名がないストリームや拡張子が実際の内容と一致しない場合は失敗することがあります。

バージョン 26.6 では LoadOptions.FileType プロパティと LoadOptions(FileType) コンストラクタが追加されました。FileTypeFileType.DOCXFileType.PDF などのサポートされている定数を設定すると、ライブラリはバイナリ形式の検出を行わずにその形式でドキュメントを開きます。FileType が指定されない、または FileType.Unknown のままの場合、既定の動作は変更されません。

GroupDocs.Redaction.Options.Drawing におけるクロスプラットフォーム描画タイプ

従来のいくつかの赤字オプションは System.Drawing の型(ColorPointSizeRectangleFont)に依存していました。これらの型はすべてのプラットフォームで利用できるわけではなく、Linux やコンテナ環境での展開を複雑にすることがあります。

新しい GroupDocs.Redaction.Options.Drawing 名前空間は、パブリック API で使用できる ColorPointSizeRectangleFontFontStyle 型を提供します。ReplacementOptionsRegionReplacementOptionsImageAreaRedactionPageAreaFilterTextFragment などのクラスに新しいオーバーロードが追加され、これらの型を受け取ります。

System.Drawing を使用している既存コードは引き続きコンパイルおよび実行可能です。該当メンバーは非推奨としてマークされており、将来の更新で新しい型へ移行することが推奨されます。

公開 API の変更

追加された項目

  • LoadOptions.FileType プロパティ
  • LoadOptions(FileType fileType) コンストラクタ
  • GroupDocs.Redaction.Options.Drawing における描画型:ColorPointSizeRectangleFontFontStyle
  • GroupDocs.Redaction.Options.Drawing 型を受け取る新しいオーバーロード

非推奨

  • ReplacementOptions.BoxColor — 代わりに ReplacementOptions.BoxFillColor を使用
  • ReplacementOptions(System.Drawing.Color) — 代わりに ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color) を使用
  • RegionReplacementOptions.FillColor — 代わりに RegionReplacementOptions.AreaFillColor を使用
  • RegionReplacementOptions.Size — 代わりに RegionReplacementOptions.AreaSize を使用
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Size) — 代わりに GroupDocs.Redaction.Options.Drawing.ColorGroupDocs.Redaction.Options.Drawing.Size を受け取るオーバーロードを使用
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string) — 代わりに GroupDocs.Redaction.Options.Drawing.ColorGroupDocs.Redaction.Options.Drawing.Font を受け取るオーバーロードを使用
  • ImageAreaRedaction.TopLeft — 代わりに ImageAreaRedaction.TopLeftPosition を使用
  • ImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions) — 代わりに GroupDocs.Redaction.Options.Drawing.Point を受け取るオーバーロードを使用
  • PageAreaFilter.Rectangle — 代わりに PageAreaFilter.AreaRectangle を使用
  • PageAreaFilter(System.Drawing.Point, System.Drawing.Size) — 代わりに GroupDocs.Redaction.Options.Drawing.PointGroupDocs.Redaction.Options.Drawing.Size を受け取るオーバーロードを使用
  • TextFragment.Rectangle — 代わりに TextFragment.BoundingRectangle を使用
  • TextFragment(string, System.Drawing.Rectangle) — 代わりに TextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle) を使用
  • IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions) — 代わりに GroupDocs.Redaction.Options.Drawing.Point を受け取るオーバーロードを使用

コード例

明示的なファイルタイプでドキュメントを開く

using System.IO;
using GroupDocs.Redaction.Options;
using GroupDocs.Redaction.Redactions;

using (Stream stream = File.OpenRead("sample.docx"))
{
    using (Redactor redactor = new Redactor(stream, new LoadOptions(FileType.DOCX)))
    {
        redactor.Apply(new DeleteAnnotationRedaction());
        redactor.Save();
    }
}

using (Redactor redactor = new Redactor("sample.pdf", new LoadOptions(FileType.PDF)))
{
    redactor.Apply(new ExactPhraseRedaction("Test", new ReplacementOptions("[redacted]")));
    redactor.Save();
}

System.Drawing の代わりに GroupDocs.Redaction.Options.Drawing を使用する

using GroupDocs.Redaction.Options.Drawing;
using GroupDocs.Redaction.Redactions;

// 以前: new ReplacementOptions(System.Drawing.Color.Red)
using (Redactor redactor = new Redactor("sample.docx"))
{
    redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(Color.Red)));
    redactor.Save();
}

// 以前: new ImageAreaRedaction(new System.Drawing.Point(516, 311),
//     new RegionReplacementOptions(System.Drawing.Color.Blue, new System.Drawing.Size(170, 35)))
using (Redactor redactor = new Redactor("sample.jpg"))
{
    redactor.Apply(new ImageAreaRedaction(new Point(516, 311),
        new RegionReplacementOptions(Color.Blue, new Size(170, 35))));
    redactor.Save();
}

更新の取得方法

  • NuGetNuGet を介して最新の GroupDocs.Redaction for .NET パッケージにアップグレード
  • Direct DownloadGroupDocs.Redaction for .NET 26.6 ページからアセンブリをダウンロード

詳細情報