
外部アプリケーションをインストールせずに、プログラムでPDFドキュメントを編集できます。 C#開発者は、.NETアプリケーションでPDFドキュメントを簡単に編集できます。この記事では、C#を使用してPDFドキュメントを編集する方法に焦点を当てます。
この記事では、次のトピックについて説明/取り上げています。
PDF編集用のC#API
PDFドキュメントの編集には、GroupDocs.Redaction for .NETAPIを使用します。 PDF、Word、Excel、PowerPoint, および画像ファイルを編集できます。また、サポートされている30種類以上の形式から機密情報を削除することもできます。テキストの編集、メタデータの編集、注釈の編集、表形式のドキュメントの編集など、さまざまな種類の編集を適用できます。
APIのDLLをダウンロードするか、NuGetを使用してインストールできます。
Install-Package GroupDocs.Redaction
C#を使用してPDFのテキストを編集する
以下に説明する簡単な手順に従うことで、PDFドキュメントにテキストの編集を簡単に適用できます。
- 入力ファイルパスを使用してRedactorクラスのインスタンスを作成します
- SearchPhraseとReplacementOptionsを使用してExactPhraseRedactionクラスインスタンスを作成します
- Redactor.Apply()メソッドを呼び出します
- RedactorChangeLogクラスオブジェクトで結果を取得します
- Redactor.Save()メソッドを呼び出します
次のコードサンプルは、C#を使用してPDFドキュメントのテキストを編集する方法を示しています。
// redactorを作成する
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");
// 正確なフレーズ編集を作成する
ExactPhraseRedaction redaction = new ExactPhraseRedaction("John Doe", true, new ReplacementOptions("[personal]"));
// 改訂を適用する
RedactorChangeLog result = redactor.Apply(redaction);
if (result.Status != RedactionStatus.Failed)
{
redactor.Save();
};

C#を使用してPDFのテキストを編集する
Redactorはメインクラスであり、ドキュメントの編集プロセスを実行するためのさまざまなメソッドを提供します。また、ドキュメントを開いたり、編集したり、保存したりすることもできます。このクラスのApply()メソッドは、定義された編集をドキュメントに適用します。さらに、このクラスのSave()メソッドは、ドキュメントをファイルに保存します。
ExactPhraseRedactionは、テキストの編集を実行して、ドキュメント内の正確なフレーズを置き換えるメソッドを提供します。また、IsCaseSensitiveをtrueに設定することにより、大文字と小文字を区別するデータを検索できます。
ReplacementOptionsは、一致したテキスト置換のオプションを表します。
RedactorChangeLogクラスは、RedactorクラスのApply()メソッドに渡される、編集のリストの結果を表します。
C#を使用したPDFでのメタデータ編集
以下に説明する簡単な手順に従って、PDFドキュメントにメタデータ編集を適用できます。
- 入力ファイルパスを使用してRedactorクラスのインスタンスを作成します
- MetadataFilterを使用してEraseMetadataRedactionクラスインスタンスを作成し、インクルードします
- Redactor.Apply()メソッドを呼び出します
- Redactor.Save()メソッドを呼び出します
次のコードサンプルは、C#を使用してPDFドキュメントのメタデータを編集する方法を示しています。
// redactorを作成する
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");
// 著者、マネージャー、会社を消去する
EraseMetadataRedaction redaction = new EraseMetadataRedaction(MetadataFilters.Author | MetadataFilters.Manager | MetadataFilters.Company);
// 改訂を適用する
redactor.Apply(redaction);
redactor.Save();

C#を使用してPDFのメタデータを編集する
EraseMetadataRedactionクラスは、すべてのメタデータを消去するメソッドを提供します。また、ドキュメントから特定のMetadataFiltersに一致するメタデータを消去することもできます。
MetadataFiltersは、作成者、コメント、会社など、最も一般的なタイプのドキュメントメタデータのリストです。
C#を使用してPDFの画像を編集する
以下に説明する簡単な手順に従って、PDFドキュメントに画像の編集を適用できます。
- 入力ファイルパスを使用してRedactorクラスのインスタンスを作成します
- 描画ポイントとサイズを定義する
- 描画ポイントとRegionReplacementOptionsを使用してImageAreaRedactionクラスインスタンスを作成します
- Redactor.Apply()メソッドを呼び出します
- Redactor.Save()メソッドを呼び出します
次のコードサンプルは、C#を使用してPDFドキュメントの画像を編集する方法を示しています。
// redactorを作成する
Redactor redactor = new Redactor("C:\\Files\\sample_with_images.pdf");
// サイズとポイントを定義する
System.Drawing.Point samplePoint = new System.Drawing.Point(0, 0);
System.Drawing.Size sampleSize = new System.Drawing.Size(300, 240);
// 画像領域の編集を定義する
ImageAreaRedaction redaction = new ImageAreaRedaction(samplePoint,
new RegionReplacementOptions(System.Drawing.Color.Blue, sampleSize));
// 改訂を適用する
RedactorChangeLog result = redactor.Apply(redaction);
if (result.Status != RedactionStatus.Failed)
{
redactor.Save();
};

C#を使用してPDFの画像を編集する
ImageAreaRedactionクラスを使用すると、画像ドキュメントの特定の領域に色付きの長方形を配置できます。
RegionReplacementOptionクラスは、画像に置き換える領域の色と面積のパラメーターを表します。
C#を使用してPDFで複数の編集を適用する
以下に説明する簡単な手順に従って、PDFドキュメントに複数の編集を適用できます。
- 入力ファイルパスを使用してRedactorクラスのインスタンスを作成します
- ExactPhraseRedaction、RegexRedaction、およびEraseMetadataRedactionを作成します
- 作成した編集を編集リストに追加します
- Redactor.Apply()メソッドを呼び出します
- Redactor.Save()メソッドを呼び出します, show errors if failed
次のコードサンプルは、C#を使用してPDFドキュメントに複数の編集を適用する方法を示しています。
// redactorを作成する
Redactor redactor = new Redactor("C:\\Files\\sample.pdf");
// 複数の編集を定義する
var redactionList = new Redaction[]
{
new ExactPhraseRedaction("John Doe", new ReplacementOptions("[Client]")),
new RegexRedaction("Redaction", new ReplacementOptions("[Product]")),
new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions(System.Drawing.Color.Blue)),
new EraseMetadataRedaction(MetadataFilters.All)
};
// 墨消しを適用する
RedactorChangeLog result = redactor.Apply(redactionList);
// 適用された場合は保存、それ以外の場合はエラーを表示
if (result.Status == RedactionStatus.Applied)
{
redactor.Save();
}
else if (result.Status == RedactionStatus.Failed)
{
for (int i = 0; i < result.RedactionLog.Count; i++)
{
RedactorLogEntry logEntry = result.RedactionLog[i];
if (logEntry.Result.Status != RedactionStatus.Applied)
{
Console.WriteLine("{0} status is {1}, details: {2}",
logEntry.Redaction.GetType().Name,
logEntry.Result.Status,
logEntry.Result.ErrorMessage);
}
}
};

C#を使用してPDFで複数の編集を適用する
RegexRedactionクラスを使用すると、テキストの編集を実行できます。正規表現を使用してテキストを照合することにより、ドキュメント内の任意のテキストを検索して置き換えることができます。
無料ライセンスを取得する
無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。
結論
この記事では、C#を使用してPDFドキュメントを編集する方法を学習しました。また、PDFドキュメントのテキスト、メタデータ、画像を編集する方法も学びました。さらに、C#を使用してPDFで複数の編集を適用する方法を学習しました。 ドキュメントを使用して、GroupDocs.Redaction for.NETAPIの詳細を確認できます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。