GroupDocs.Redaction for .NET 26.6 現已推出。此版本讓從串流或檔案開啟文件時可以明確指定格式,並引入一套獨立於 System.Drawing 的全新繪圖 API,以提升跨平台相容性。
修正與增強
- [增強] 從串流或檔案路徑開啟文件時可指定檔案類型。 (REDACTIONNET-572)
- [增強] 移除對
System.Drawing的依賴,以提升跨平台相容性。 (REDACTIONNET-799)
有什麼新功能?
此版本聚焦於兩個領域:簡化整合以及為更廣泛的平台支援做好準備。
使用 LoadOptions.FileType 指定文件格式
當您開啟文件時,GroupDocs.Redaction 會自動偵測其格式。對於具有正確副檔名的檔案此方式運作良好,但對於沒有檔名的串流或副檔名與實際內容不符的情況,偵測可能失敗。
26.6 版加入了 LoadOptions.FileType 屬性以及 LoadOptions(FileType) 建構子。將 FileType 設為支援的常數(例如 FileType.DOCX 或 FileType.PDF),函式庫便會直接以該格式開啟文件,而不會執行二進位格式偵測。若未指定 FileType 或仍為 FileType.Unknown,行為則保持預設不變。
GroupDocs.Redaction.Options.Drawing 中的跨平台繪圖類型
先前的多項遮蔽選項依賴 System.Drawing 類型(Color、Point、Size、Rectangle、Font)。這些類型在某些平台上不可用,會使在 Linux 或容器化環境的部署變得複雜。
全新 GroupDocs.Redaction.Options.Drawing 命名空間提供了 Color、Point、Size、Rectangle、Font 與 FontStyle 類型,供公開 API 使用。新的重載接受這些類型,適用於 ReplacementOptions、RegionReplacementOptions、ImageAreaRedaction、PageAreaFilter、TextFragment 以及相關類別。
仍使用 System.Drawing 的既有程式碼會繼續編譯與執行。相對的成員已標記為過時,未來更新應遷移至新類型。
公開 API 變更
新增
LoadOptions.FileType屬性LoadOptions(FileType fileType)建構子GroupDocs.Redaction.Options.Drawing中的繪圖類型:Color、Point、Size、Rectangle、Font、FontStyle- 接受
GroupDocs.Redaction.Options.Drawing類型的新重載
已過時
ReplacementOptions.BoxColor— 改用ReplacementOptions.BoxFillColorReplacementOptions(System.Drawing.Color)— 改用ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color)RegionReplacementOptions.FillColor— 改用RegionReplacementOptions.AreaFillColorRegionReplacementOptions.Size— 改用RegionReplacementOptions.AreaSizeRegionReplacementOptions(System.Drawing.Color, System.Drawing.Size)— 改用接受GroupDocs.Redaction.Options.Drawing.Color與GroupDocs.Redaction.Options.Drawing.Size的重載RegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string)— 改用接受GroupDocs.Redaction.Options.Drawing.Color與GroupDocs.Redaction.Options.Drawing.Font的重載ImageAreaRedaction.TopLeft— 改用ImageAreaRedaction.TopLeftPositionImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions)— 改用接受GroupDocs.Redaction.Options.Drawing.Point的重載PageAreaFilter.Rectangle— 改用PageAreaFilter.AreaRectanglePageAreaFilter(System.Drawing.Point, System.Drawing.Size)— 改用接受GroupDocs.Redaction.Options.Drawing.Point與GroupDocs.Redaction.Options.Drawing.Size的重載TextFragment.Rectangle— 改用TextFragment.BoundingRectangleTextFragment(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();
}
使用 GroupDocs.Redaction.Options.Drawing 取代 System.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();
}
如何取得更新
- NuGet – 透過 NuGet 升級至最新的
GroupDocs.Redaction for .NET套件 - 直接下載 – 從 GroupDocs.Redaction for .NET 26.6 頁面下載組件