Redactor

Redactor class

Mewakili kelas utama yang mengontrol proses penyuntingan dokumen, memungkinkan untuk membuka, menyunting, dan menyimpan dokumen.

public sealed class Redactor : IDisposable, IPreviewable

Konstruktor

Nama Keterangan
Redactor(Stream) Menginisialisasi instance baru dariRedactor kelas menggunakan stream.
Redactor(string) Menginisialisasi instance baru dariRedactor kelas menggunakan file path.
Redactor(Stream, LoadOptions) Menginisialisasi instance baru dariRedactor kelas untuk dokumen yang dilindungi kata sandi menggunakan stream.
Redactor(string, LoadOptions) Menginisialisasi instance baru dariRedactor kelas untuk dokumen yang dilindungi kata sandi menggunakan jalurnya.
Redactor(Stream, LoadOptions, RedactorSettings) Menginisialisasi instance baru dariRedactorkelas untuk dokumen yang dilindungi kata sandi menggunakan aliran dan pengaturan.
Redactor(string, LoadOptions, RedactorSettings) Menginisialisasi instance baru dariRedactor kelas untuk dokumen yang dilindungi kata sandi menggunakan jalur dan pengaturannya.

Metode

Nama Keterangan
Apply(Redaction) Menerapkan redaksi pada dokumen.
Apply(RedactionPolicy) Menerapkan kebijakan penyuntingan pada dokumen.
Apply(Redaction[]) Menerapkan sekumpulan redaksi pada dokumen.
Dispose() Merilis sumber daya.
GeneratePreview(PreviewOptions) Menghasilkan gambar pratinjau dari halaman tertentu dalam format gambar tertentu.
GetDocumentInfo() Mendapat informasi umum tentang dokumen - ukuran, jumlah halaman, dll.
Save() Menyimpan dokumen ke file dengan opsi berikut: AddSuffix = true, RasterizeToPDF = true.
Save(SaveOptions) Menyimpan dokumen ke file.
Save(Stream, RasterizationOptions) Menyimpan dokumen ke aliran, termasuk lokasi khusus.

Perkataan

Belajarlah lagi

Contoh

Contoh berikut menunjukkan penerapan satu redaksi pada dokumen.

Contoh berikut menunjukkan penerapan daftar redaksi pada dokumen.

Contoh berikut menunjukkan cara menerapkan kebijakan redaksi untuk semua file dalam folder masuk tertentu, dan menyimpan ke salah satu folder keluar - untuk file yang berhasil diperbarui dan yang gagal.

Contoh berikut menunjukkan cara membuka dokumen yang dilindungi kata sandi menggunakan LoadOptions.

Contoh berikut menunjukkan cara menyimpan dokumen menggunakan SaveOptions.

using (Redactor redactor = new Redactor(@"D:\\test.docx"))
{
   RedactorChangeLog result = redactor.Apply(new RegexRedaction(LookupStrings.SSNRegexPattern, new ReplacementOptions("[ssn]")));
   if (result.Status != RedactionStatus.Failed)
   {
      redactor.Save();
   };
}
using (Redactor redactor = new Redactor(@"D:\\test.docx"))
{
   var redactionList = new Redaction[] 
   {
      new ExactPhraseRedaction(LookupStrings.ClientName, new ReplacementOptions("[client]")),
      new ExactPhraseRedaction(LookupStrings.ClientAddress, new ReplacementOptions(System.Drawing.Color.Red)),
      new RegexRedaction(LookupStrings.SSNRegexPattern, new ReplacementOptions("[ssn]")),
      new RegexRedaction(LookupStrings.BankCardRegexPattern, new ReplacementOptions(System.Drawing.Color.Blue)),
      // ... redaksi lainnya
      new DeleteAnnotationRedaction("(?im:(use|show|describe))"),
      new EraseMetadataRedaction(MetadataFilter.Author),
      new MetadataSearchRedaction(LookupStrings.CompanyName, "--company--") 
   }; 
   RedactorChangeLog result = redactor.Apply(redactionList);
   // salah, jika setidaknya satu redaksi gagal
   if (result.Status != RedactionStatus.Failed)
   {
      redactor.Save();
   };
}
RedactionPolicy policy = RedactionPolicy.Load("RedactionPolicy.xml");
foreach (var fileEntry in Directory.GetFileNames("C:\\Inbound")) 
{
     using (Redactor redactor = new Redactor(Path.Combine("C:\\Inbound\\", fileEntry)))
     {
    	     RedactorChangeLog result = redactor.Apply(policy);
    	     String resultFolder = result.Status != RedactionStatus.Failed ? "C:\\Outbound\\Done\\" : "C:\\Outbound\\Failed\\";
    	     using (Stream fileStream = File.Open(Path.Combine(resultFolder, fileEntry), FileMode.Open, FileAccess.ReadWrite))
   	     {
               redactor.Save(fileStream, new RasterizationOptions() { Enabled = false });
   	     }        
     }
}   
LoadOptions loadOptions = new LoadOptions("mypassword");
using (Redactor redactor = new Redactor(@"C:\sample.pdf", loadOptions))
{
    // Di sini kita bisa menggunakan document instance untuk melakukan redaksi
}
    using (Redactor redactor = new Redactor(@"C:\sample.pdf"))
    {
       // Penyuntingan dokumen ada di sini
       // ...
    
       // Simpan dokumen dengan opsi default (konversi halaman menjadi gambar, simpan sebagai PDF)
       redactor.Save();
    
       // Simpan dokumen dalam format asli menimpa file asli
       redactor.Save(new SaveOptions() { AddSuffix = false, RasterizeToPDF = false });
    
       // Simpan dokumen ke file "*_Redacted.*" dalam format aslinya
       redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
    
       // Simpan dokumen ke "*_AnyText.*" (mis. timestamp alih-alih "AnyText") dalam nama filenya tanpa rasterisasi
       redactor.Save(new SaveOptions(false, "AnyText"));
    }    

Lihat juga