PDF、組版と文書変換のアンテナハウス株式会社

サイトマップ
hr トップ
ページ
hr デスクトップ
製品情報
hr システム
製品情報
hr DITA
サービス
hr 電子書籍
サービス
hr サポート hr 製品の購入
について
hr お問い合わせ hr 会社案内 hr

評価版のお申し込み

OEMについて詳しくはこちら

PDF Driver API V7.5 サンプル集:設定を編集する

サンプルコードの概要

PDF出力する元ファイル(入力ファイル)パス、PDFの出力先となるファイルパスと印刷設定ファイル名と出力する印刷設定名を指定する。
読み込んだ印刷設定を編集して指定の印刷設定名で保存、PDF出力を実行するコンソールアプリケーションです。

[印刷設定の編集内容]
  • 設定の名称 "sample-setting"
  • PDF1.7を設定
  • グレースケールに変換
  • 編集パスワード "test"
  • AES256bit暗号化
  • 注釈の作成、フォームフィールドの入力と署名を許可
  • 低解像度の印刷を許可
  • 文書情報 作成者に "アンテナハウス株式会社"
  • 文書情報 タイトルに "PDF Driver API テスト"

コマンドラインでの実行例

sample.exe c:\test\test.xlsx c:\sav\out.pdf 透かしテスト.ps4 c:\sav\out.ps4


ダウンロード


出力結果イメージ

出力結果イメージ

サンプルコード(C#)

/*
	Antenna House PDF Driver API V7.5
	C# Interface sample program

	概要:入出力ファイルを指定してプログラムで編集した設定でPDF出力を行う
	      編集した設定を引数で指定したファイル名で保存する

	Copyright 2020 Antenna House,Inc.
*/

using System;
using PdfDrvNet_75;

namespace sampleapi01_cs
{
    class sampleapi01_cs
    {
        static void Main(string[] args)
        {
            Console.WriteLine("PDF Driver API V7.5 C# サンプル");

            //入出力ファイル名と設定ファイル名。テスト用の初期値を設定する
            String infile = @"C:\test\test.docx";
            String outfile = @"C:\sav\out.pdf";
            String setfile = @"standard.ps4";
            String savefile = @"C:\sav\sample-set.ps4";

            //第1引数は入力ファイル名とする
            if (args.Length > 0)
            {
                infile = args[0];
            }

            //第2引数は出力ファイル名とする
            if (args.Length > 1)
            {
                outfile = args[1];
            }

            //第3引数は設定ファイル名とする
            if (args.Length > 2)
            {
                setfile = args[2];
            }
            //第4引数は保存する設定ファイル名とする
            if (args.Length > 3)
            {
                savefile = args[3];
            }

            try
            {
                using (var ptlConv = new PtlDrvConvert())
                using (var ptlParam = new PtlParamDriverSettings())
                {
                    ptlParam.load(setfile); //設定ファイルを読み込む

                    //一般設定
                    using (var ptlCommon = new PtlParamCommonSettings(ptlParam.ParamCommonSettings))
                    {
                        ptlCommon.ViewAuto = false; // false -> PDF作成後表示しない
                        ptlParam.ParamCommonSettings = ptlCommon;
                    }

                    //PDFバージョン設定
                    using (var ptlPdfVer = new PtlParamPDFVersionSettings(ptlParam.ParamPDFVersionSettings))
                    {
                        ptlPdfVer.PdfVersion = PtlParamPDFVersionSettings.Pdf17;    //PDF1.7を設定
                        ptlParam.ParamPDFVersionSettings = ptlPdfVer;
                    }

                    //色設定
                    using (var ptlColor = new PtlParamColorSettings(ptlParam.ParamColorSettings))
                    {
                        ptlColor.ColorMode = PtlParamColorSettings.Gray;   //グレースケールに変換
                        ptlParam.ParamColorSettings = ptlColor;
                    }

                    //セキュリティ設定
                    using (var ptlSec = new PtlParamSecuritySettings(ptlParam.ParamSecuritySettings))
                    {
                        ptlSec.SecurityLevel = PtlParamSecuritySettings.AES256; //AES256bit暗号化
                        ptlSec.OwnerPassword = "test";  //権限パスワード文字列を指定
                        ptlSec.PDF14EditAllow = PtlParamSecuritySettings.EditPermissonCommentFillFormAndSign; //編集制限
                        ptlSec.PDF14PrintAllow = PtlParamSecuritySettings.PrintPermissionLowResolution; //印刷制限
                        ptlParam.ParamSecuritySettings = ptlSec;
                    }

                    //情報設定
                    using (var ptlInfo = new PtlParamInformationSettings(ptlParam.ParamInformationSettings))
                    {
                        ptlInfo.Author = "アンテナハウス株式会社";
                        ptlInfo.Title = "PDF Driver API テスト";
                        ptlParam.ParamInformationSettings = ptlInfo;
                    }

                    //編集した設定をファイルに保存する場合
                    ptlParam.SettingName = "sample-setting";   //設定名を指定
                    int iret = ptlParam.saveAs(savefile);
                    if (iret != 0)
                    {
                        Console.WriteLine("設定ファイルの保存に失敗:error code [" + iret.ToString() + "]");
                    }

                    //PDF出力
                    ptlConv.ParamSettings = ptlParam;
                    ptlConv.SelectSettings = PtlDrvConvert.ByAPI;   //ParamSettingsを使用する場合は、「ByAPI」の指定が必須
                    bool bret = ptlConv.convertFile(infile, outfile);   //PDF Driverを使用してPDF出力する
                    if (bret)
                    {
                        Console.WriteLine("成功");
                    }
                    else
                    {
                        Console.WriteLine("失敗");
                    }
                }
            }
            catch (PtlDrvException ex)
            {
                Console.WriteLine("error code [" + ex.ErrorCode + "] : " + ex.ErrorMessageJP);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error : " + ex.ToString());
            }
            Console.WriteLine("終了");
        }
    }
}
Copyright Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.