/* Antenna House PDF Tool API V8.0 .NET Interface sample program 概要:ページの回転と色透かし挿入 Copyright 2026- Antenna House, Inc. */ using System; using PdfTkNet; namespace AppendColorWatermark { class Program { static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine("usage: CombiPgRotateColorWM.exe in-pdf-file out-pdf-file"); 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 (PtlPages pages = doc.getPages()) // ページコンテナ { // ページコンテナが空かどうか if (pages.isEmpty()) { Console.WriteLine("ページコンテナが空"); return; } using (PtlPage page = pages.get(2)) // 3ページ目の取得 { //回転角度設定(0, 90, 180, 270) page.setRotate(90); } using (PtlPage page = pages.get(7)) // 8ページ目の取得 { //回転角度設定(0, 90, 180, 270) page.setRotate(180); } } // 透かしの追加 appendWatermark(doc); // ファイルに保存します。 doc.save(outputFile); } } catch (PtlException pex) { Console.WriteLine("ErrorCode = " + pex.getErrorCode() + " : " + pex.getErrorMessageJP()); pex.Dispose(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { Console.WriteLine("-- 完了 --"); } } static void appendWatermark(PtlPDFDocument doc) { using (PtlParamWaterMarkColor watermarkcolor = new PtlParamWaterMarkColor()) { // 透かしの名前の設定 watermarkcolor.setName("透かしの名前"); //透かしを配置するマージンの設定 watermarkcolor.setMargin(50.0f, 50.0f, 50.0f, 50.0f); //先頭ページに透かしを配置するかしないかの設定 trueなら配置しない watermarkcolor.setNotInFirst(true); //PDF印刷時に透かしを印刷する指定を設定 false印刷しない watermarkcolor.setPrintWaterMark(false); // 透かしの不透明度の設定 watermarkcolor.setOpacity(0.7f); // 透かしに指定する色の設定 using (PtlColorDeviceRGB color = new PtlColorDeviceRGB(0.0f, 1.0f, 0.0f)) { watermarkcolor.setColor(color); } // 透かしの設定 doc.appendWaterMark(watermarkcolor); } } } }