Redactor

Redactor class

ドキュメントの編集プロセスを制御するメイン クラスを表し、ドキュメントを開く、編集する、保存することができます。

public sealed class Redactor : IDisposable, IPreviewable

コンストラクター

名前 説明
Redactor(Stream) の新しいインスタンスを初期化しますRedactor stream. を使用したクラス
Redactor(string) の新しいインスタンスを初期化しますRedactorファイルパスを使用するクラス.
Redactor(Stream, LoadOptions) の新しいインスタンスを初期化しますRedactor stream. を使用したパスワードで保護されたドキュメントのクラス
Redactor(string, LoadOptions) の新しいインスタンスを初期化しますRedactor path. を使用した、パスワードで保護されたドキュメントのクラス
Redactor(Stream, LoadOptions, RedactorSettings) の新しいインスタンスを初期化しますRedactorstream と settings. を使用した、パスワードで保護されたドキュメントのクラス
Redactor(string, LoadOptions, RedactorSettings) の新しいインスタンスを初期化しますRedactorパスと設定を使用して、パスワードで保護されたドキュメントのクラス.

メソッド

名前 説明
Apply(Redaction) ドキュメントに編集を適用します。
Apply(RedactionPolicy) ドキュメントに編集ポリシーを適用します。
Apply(Redaction[]) 一連の編集をドキュメントに適用します。
Dispose() リソースを解放します。
GeneratePreview(PreviewOptions) 指定された画像形式で特定のページのプレビュー画像を生成します.
GetDocumentInfo() ドキュメントに関する一般的な情報を取得します - サイズ、ページ数など.
Save() 次のオプションでドキュメントをファイルに保存します: AddSuffix = true、RasterizeToPDF = true.
Save(SaveOptions) ドキュメントをファイルに保存します。
Save(Stream, RasterizationOptions) カスタムの場所を含め、ドキュメントをストリームに保存します。

備考

もっと詳しく知る

次の例は、ドキュメントに単一のリダクションを適用する方法を示しています。

次の例は、リダクションのリストをドキュメントに適用する方法を示しています。

次の例は、特定のインバウンド フォルダー内のすべてのファイルにリダクション ポリシーを適用し、正常に更新されたファイルと失敗したファイルのいずれかのアウトバウンド フォルダーに保存する方法を示しています。

次の例は、LoadOptions を使用してパスワードで保護されたドキュメントを開く方法を示しています。

次の例は、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)),
      // ... その他のリダクション
      new DeleteAnnotationRedaction("(?im:(use|show|describe))"),
      new EraseMetadataRedaction(MetadataFilter.Author),
      new MetadataSearchRedaction(LookupStrings.CompanyName, "--company--") 
   }; 
   RedactorChangeLog result = redactor.Apply(redactionList);
   // false、少なくとも 1 つのリダクションが失敗した場合
   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))
{
    // ここで、ドキュメント インスタンスを使用してリダクションを実行できます
}
    using (Redactor redactor = new Redactor(@"C:\sample.pdf"))
    {
       // ドキュメントのリダクションがここに入る
       // ...
    
       // ドキュメントをデフォルトのオプションで保存します (ページを画像に変換し、PDF として保存します)
       redactor.Save();
    
       // ドキュメントを元の形式で保存し、元のファイルを上書きします
       redactor.Save(new SaveOptions() { AddSuffix = false, RasterizeToPDF = false });
    
       // ドキュメントを「*_Redacted.*」ファイルに元の形式で保存します
       redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
    
       // ドキュメントをラスタライズせずに、そのファイル名で "*_AnyText.*" (たとえば、"AnyText" ではなくタイムスタンプ) に保存します。
       redactor.Save(new SaveOptions(false, "AnyText"));
    }    

関連項目