テキストを置換 - ファサード

既存のPDFファイルでテキストを置換

既存のPDFファイルでテキストを置換するには、PdfContentEditor クラスのオブジェクトを作成し、BindPdf メソッドを使用して入力PDFファイルをバインドする必要があります。 その後、ReplaceText メソッドを呼び出す必要があります。PdfContentEditor クラスの Save メソッドを使用して、更新されたPDFファイルを保存する必要があります。以下のコードスニペットは、既存のPDFファイル内のテキストを置き換える方法を示しています。

public static void ReplaceText01()
{
    PdfContentEditor editor = new PdfContentEditor();
    editor.BindPdf(_dataDir + "sample.pdf");
    editor.ReplaceText("Value", "Label");

    // 出力ファイルを保存
    editor.Save(_dataDir + "PdfContentEditorDemo01.pdf");
    }

元のドキュメントでの見え方を確認してください:

Replace Text

テキストを置き換えた後の結果を確認してください:

Result of replacing Text

2つ目の例では、テキストを置き換えるだけでなく、フォントサイズを増減させる方法も示します。

public static void ReplaceText02()
    {
        PdfContentEditor editor = new PdfContentEditor();
        editor.BindPdf(_dataDir + "sample.pdf");
        editor.ReplaceText("Value", "Label", 12);

        // 出力ファイルを保存する
        editor.Save(_dataDir + "PdfContentEditorDemo02.pdf");
    }

より高度なテキスト操作の可能性については、TextState メソッドを使用します。このメソッドを使用すると、テキストを太字、斜体、カラーなどにすることができます。

    public static void ReplaceText03()
    {
        PdfContentEditor editor = new PdfContentEditor();
        editor.BindPdf(_dataDir + "sample.pdf");
        TextState textState = new TextState
        {
            ForegroundColor = Color.Red,
            FontSize = 12,
        };
        editor.ReplaceText("Value", "Label", textState);

        // 出力ファイルを保存する
        editor.Save(_dataDir + "PdfContentEditorDemo03.pdf");
    }

ドキュメント内のすべての指定されたテキストを置き換える必要がある場合は、次のコードスニペットを使用してください。 そのため、置換用に指定されたテキストが見つかるたびにテキストの置換が行われ、そのような置換の数もカウントされます。

public static void ReplaceText04()
    {
        PdfContentEditor editor = new PdfContentEditor();
        editor.BindPdf(_dataDir + "sample.pdf");
        int count = 0;
        while (editor.ReplaceText("Value", "Label")) count++;

        Console.WriteLine($"{count} occurrences have been replaced.");

        // save the output file
        editor.Save(_dataDir + "PdfContentEditorDemo04.pdf");
    }

Replace all Text

次のコードスニペットは、ドキュメントの特定のページでテキストの置換を行う方法を示しています。

public static void ReplaceText05()
    {
        PdfContentEditor editor = new PdfContentEditor();
        editor.BindPdf(_dataDir + "sample.pdf");
        int count = 0;
        while (editor.ReplaceText("9999", 2, "ABCDE")) count++;
        Console.WriteLine($"{count} occurrences have been replaced.");

        // save the output file
        editor.Save(_dataDir + "PdfContentEditorDemo05.pdf");
    }

次のコードスニペットでは、例えば、指定された番号を必要な文字で置き換える方法を示します。

   public static void ReplaceText06()
    {
        PdfContentEditor editor = new PdfContentEditor
        {
            ReplaceTextStrategy = new ReplaceTextStrategy
            {
                IsRegularExpressionUsed = true,
                ReplaceScope = ReplaceTextStrategy.Scope.ReplaceAll
            }
        };
        editor.BindPdf(_dataDir + "sample.pdf");
        editor.ReplaceText("\\d{4}", "ABCDE");
        // 出力ファイルを保存
        editor.Save(_dataDir + "PdfContentEditorDemo06.pdf");
    }