/* Antenna House PDF Tool API V8.0 .NET Interface sample program 概要:テキスト検索して墨消し注釈(Redact注釈)を付ける Copyright 2024-2025 Antenna House, Inc. */ using System; using PdfTkNet; namespace SearchTextAndRedact { class Program { static void Main(string[] args) { if (args.Length < 3) { Console.WriteLine("usage: SearchTextAndRedact.exe in-pdf-file out-pdf-file keyword"); return; } try { using (PtlParamInput inputFile = new PtlParamInput(args[0])) using (PtlParamOutput outputFile = new PtlParamOutput(args[1])) using (PtlPDFDocument doc = new PtlPDFDocument()) { // PDFファイルをロードします。 doc.load(inputFile); using (PtlParamSearchTextAndRedact paramSearchText = new PtlParamSearchTextAndRedact()) // 検索の為のパラメータ using (PtlColorDeviceRGB colorRed = new PtlColorDeviceRGB(1.0f, 0.0f, 0.0f)) using (PtlColorDeviceRGB colorGreen = new PtlColorDeviceRGB(0.0f, 1.0f, 0.0f)) using (PtlColorDeviceRGB colorBlue = new PtlColorDeviceRGB(0.0f, 0.0f, 1.0f)) { // 検索設定 paramSearchText.appendText(args[2]); paramSearchText.setColor(colorRed); //墨消し注釈 アウトラインの色。設定しない場合は赤色になります。 paramSearchText.setInteriorColor(colorGreen); //墨消し注釈 塗りつぶしの色。設定しない場合は無色になります。 paramSearchText.setOpacity(0.5f); //注釈の透明度。塗りつぶし色に適用されます。設定しない場合は「1.0f」(=不透明) paramSearchText.setMaskColor(colorBlue); //マスク(墨消し領域)の色 (→墨消しが適用された後の色)。設定しない場合は黒色になります。 // 検索実行 doc.searchTextAndDoProcess(paramSearchText); } // ファイルに保存します。 doc.save(outputFile); } } catch (PtlException pex) { Console.WriteLine(pex.getErrorCode() + " : " + pex.getErrorMessageJP()); pex.Dispose(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { Console.WriteLine("-- 完了 --"); } } } }