/* Antenna House PDF Tool API V7.0 .NET Interface sample program 概要:ファイルの添付 Copyright 2013-2021 Antenna House, Inc. */ using System; using PdfTkNet; namespace AppendEmbeddedFile { class Program { static void Main(string[] args) { if (args.Length < 3) { Console.WriteLine("usage: AppendEmbeddedFile.exe in-pdf-file out-pdf-file embedded-file"); return; } try { using (PtlParamInput inputFile = new PtlParamInput(args[0])) using (PtlParamOutput outputFile = new PtlParamOutput(args[1])) using (PtlPDFDocument doc = new PtlPDFDocument()) { string embeddedfilename = args[2]; // PDFファイルをロードします。 doc.load(inputFile); // 添付ファイルコンテナの取得 using (PtlEmbeddedFiles embeddedfiles = doc.getEmbeddedFiles()) { // 添付ファイル数の取得 Console.WriteLine("追加前の添付ファイル数 : " + embeddedfiles.getCount()); // PDFの添付ファイル using (PtlEmbeddedFile embeddedfile = new PtlEmbeddedFile()) { // 添付ファイル名の設定 embeddedfile.setFileName(embeddedfilename); // 添付するファイルの読み込み using (PtlParamInput input = new PtlParamInput(embeddedfilename)) { embeddedfile.readFile(input); } // 添付ファイルの追加 embeddedfiles.append(embeddedfile); } // 添付ファイル数の取得 Console.WriteLine("追加後の添付ファイル数 : " + embeddedfiles.getCount()); } // ファイルに保存します。 doc.save(outputFile); } } catch (PtlException pex) { Console.WriteLine(pex.getErrorCode() + " : " + pex.getErrorMessageJP()); pex.Dispose(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { Console.WriteLine("-- 完了 --"); } } } }