GroupDocs.Redaction for .NET 26.6 kini tersedia. Rilis ini memudahkan pembukaan dokumen dari aliran dan file dengan format eksplisit, serta memperkenalkan API gambar baru yang independen dari System.Drawing untuk meningkatkan kompatibilitas lintas‑platform.

Perbaikan dan peningkatan

  • [Enhancement] Menentukan jenis file saat membuka dokumen dari aliran atau jalur file. (REDACTIONNET-572)
  • [Enhancement] Migrasi dari System.Drawing untuk meningkatkan kompatibilitas lintas‑platform. (REDACTIONNET-799)

Apa yang Baru?

Rilis ini berfokus pada dua area yang menyederhanakan integrasi dan mempersiapkan API untuk dukungan platform yang lebih luas.

Menentukan format dokumen dengan LoadOptions.FileType

Saat Anda membuka dokumen, GroupDocs.Redaction biasanya mendeteksi formatnya secara otomatis. Hal ini bekerja dengan baik untuk file yang memiliki ekstensi yang benar, tetapi dapat gagal untuk aliran tanpa nama file atau ketika ekstensi tidak cocok dengan konten sebenarnya.

Versi 26.6 menambahkan properti LoadOptions.FileType dan konstruktor LoadOptions(FileType). Atur FileType ke konstanta yang didukung seperti FileType.DOCX atau FileType.PDF, dan perpustakaan akan membuka dokumen menggunakan format tersebut tanpa menjalankan deteksi format biner. Perilaku default tetap tidak berubah ketika FileType tidak ditentukan atau tetap FileType.Unknown.

Tipe gambar lintas‑platform di GroupDocs.Redaction.Options.Drawing

Beberapa opsi redaksi sebelumnya bergantung pada tipe System.Drawing (Color, Point, Size, Rectangle, Font). Tipe‑tipe ini tidak tersedia di semua platform dan dapat mempersulit penyebaran di Linux serta lingkungan berbasis kontainer.

Namespace baru GroupDocs.Redaction.Options.Drawing menyediakan tipe Color, Point, Size, Rectangle, Font, dan FontStyle untuk digunakan dalam API publik. Overload baru menerima tipe‑tipe ini di ReplacementOptions, RegionReplacementOptions, ImageAreaRedaction, PageAreaFilter, TextFragment, dan kelas terkait lainnya.

Kode yang masih menggunakan System.Drawing tetap dapat dikompilasi dan dijalankan. Anggota‑anggota yang bersangkutan ditandai usang dan sebaiknya dimigrasikan ke tipe baru pada pembaruan mendatang.

Perubahan API Publik

Ditambahkan

  • Properti LoadOptions.FileType
  • Konstruktor LoadOptions(FileType fileType)
  • Tipe gambar di GroupDocs.Redaction.Options.Drawing: Color, Point, Size, Rectangle, Font, FontStyle
  • Overload baru yang menerima tipe GroupDocs.Redaction.Options.Drawing

Usang

  • ReplacementOptions.BoxColor — gunakan ReplacementOptions.BoxFillColor sebagai gantinya
  • ReplacementOptions(System.Drawing.Color) — gunakan ReplacementOptions(GroupDocs.Redaction.Options.Drawing.Color) sebagai gantinya
  • RegionReplacementOptions.FillColor — gunakan RegionReplacementOptions.AreaFillColor sebagai gantinya
  • RegionReplacementOptions.Size — gunakan RegionReplacementOptions.AreaSize sebagai gantinya
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Size) — gunakan overload dengan GroupDocs.Redaction.Options.Drawing.Color dan GroupDocs.Redaction.Options.Drawing.Size sebagai gantinya
  • RegionReplacementOptions(System.Drawing.Color, System.Drawing.Font, string) — gunakan overload dengan GroupDocs.Redaction.Options.Drawing.Color dan GroupDocs.Redaction.Options.Drawing.Font sebagai gantinya
  • ImageAreaRedaction.TopLeft — gunakan ImageAreaRedaction.TopLeftPosition sebagai gantinya
  • ImageAreaRedaction(System.Drawing.Point, RegionReplacementOptions) — gunakan overload dengan GroupDocs.Redaction.Options.Drawing.Point sebagai gantinya
  • PageAreaFilter.Rectangle — gunakan PageAreaFilter.AreaRectangle sebagai gantinya
  • PageAreaFilter(System.Drawing.Point, System.Drawing.Size) — gunakan overload dengan GroupDocs.Redaction.Options.Drawing.Point dan GroupDocs.Redaction.Options.Drawing.Size sebagai gantinya
  • TextFragment.Rectangle — gunakan TextFragment.BoundingRectangle sebagai gantinya
  • TextFragment(string, System.Drawing.Rectangle) — gunakan TextFragment(string, GroupDocs.Redaction.Options.Drawing.Rectangle) sebagai gantinya
  • IImageFormatInstance.EditArea(System.Drawing.Point, RegionReplacementOptions) — gunakan overload dengan GroupDocs.Redaction.Options.Drawing.Point sebagai gantinya

Contoh kode

Membuka dokumen dengan jenis file eksplisit

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();
}

Menggunakan GroupDocs.Redaction.Options.Drawing alih‑alih System.Drawing

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

// Sebelumnya: 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();
}

// Sebelumnya: 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();
}

Cara mendapatkan pembaruan

Pelajari lebih lanjut