GroupDocs.Redaction for .NET 26.6 พร้อมให้บริการแล้ว รุ่นนี้ทำให้การเปิดเอกสารจากสตรีมและไฟล์ด้วยรูปแบบที่ระบุโดยชัดเจนง่ายขึ้น และแนะนำ API การวาดใหม่ที่ไม่พึ่งพา System.Drawing เพื่อปรับปรุงความเข้ากันได้ข้ามแพลตฟอร์ม

การแก้ไขและการปรับปรุง

  • [Enhancement] ระบุประเภทไฟล์เมื่อเปิดเอกสารจากสตรีมหรือเส้นทางไฟล์ (REDACTIONNET-572)
  • [Enhancement] ย้ายออกจาก System.Drawing เพื่อเพิ่มความเข้ากันได้ข้ามแพลตฟอร์ม (REDACTIONNET-799)

มีอะไรใหม่บ้าง?

การปล่อยรุ่นนี้มุ่งเน้นที่สองด้านที่ทำให้การรวมระบบง่ายขึ้นและเตรียม API ให้รองรับแพลตฟอร์มที่กว้างขึ้น

ระบุรูปแบบเอกสารด้วย 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 อยู่เดิมจะยังคอมไพล์และทำงานได้ สมาชิกที่เกี่ยวข้องจะถูกทำเครื่องหมายว่า obsolete และควรย้ายไปใช้ชนิดใหม่ในอัปเดตต่อไป

การเปลี่ยนแปลงใน Public API

เพิ่มเติม

  • คุณสมบัติ LoadOptions.FileType
  • คอนสตรัคเตอร์ LoadOptions(FileType fileType)
  • ชนิดการวาดใน GroupDocs.Redaction.Options.Drawing: Color, Point, Size, Rectangle, Font, FontStyle
  • การโอเวอร์โหลดใหม่ที่รับชนิดจาก GroupDocs.Redaction.Options.Drawing

Obsolete

  • 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.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.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.Point และ GroupDocs.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();
}

ใช้ 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 – อัปเกรดเป็นแพคเกจ GroupDocs.Redaction for .NET เวอร์ชันล่าสุดผ่าน NuGet
  • ดาวน์โหลดโดยตรง – ดาวน์โหลดไฟล์แอสเซมบลี GroupDocs.Redaction จากหน้า GroupDocs.Redaction for .NET 26.6

เรียนรู้เพิ่มเติม