PdfOut


PDFを指定ファイルに出力します。



<対応インターフェース>
COM(メソッド)
アセンブリ(メソッド)


<構文>
PdfOut(
file_name As String, PDFの出力先を完全パスで指定します。
マクロを使うことで仕分出力が行えます。詳細は「仕分出力」を参照
option As String="" PDFのオプションを指定します。詳細は「PDFオプション」を参照
) As Integer

※VB での宣言です。言語により宣言の記述は異なりますが内容は同じです。


<戻り値>
エラーコードを戻します。
正常終了した場合 0 を戻します。


仕分出力


「Wonderful Report 2005 開発環境」で作成する帳票定義ファイル(*.wfr)にデータ(DBやCSVファイル)を入力した結果をPDFに出力する場合、特定のデータ値ごとにPDFを分けて出力することができます。
「Wonderful Report 2005」の仕分印刷相当の出力を簡単に行うことができます。(基準セクションのデータ値が対象となります)

出力ファイルパス中にマクロを記述することで仕分出力を行うことができます。


仕分出力は「PDF Client」で使用することはできません。
エラーとなります。



マクロを含むファイルパスの例
"c:\sample\sample_%Field=企業コード%.pdf"



マクロはパーセント(%)で囲んで記述します。Fieldマクロの書式は次の通りです。

<Fieldマクロの書式>
%Field=<フィールド名>%
<フィールド名>には基準セクションにリンクされているデータのフィールド名を指定します。



PDFオプション


PdfOutとGetPdfImageで設定できるPDFオプションの記述方法と詳細は次の通りです。

オプション値は<オプション名>=<値>の文字列で指定することができます。また、セミコロン(;)で区切ることで複数の値を一括して指定することができます。

値に次の特殊文字を含む場合は引用符(')で囲む必要があります。
※引用符はシングルクォーテーション(')です。


オプション名や値に省略名(例、PdfPM=PRH)を扱えるのはversion 3.0.0.135以降です。



<特殊文字>
カンマ(,)
セミコロン(;)
シングルクォーテーション(')
イコール(=)
スペース( )
改行コード


特殊文字を値に含む場合はシングルクォーテーション(')で囲みます。
PdfMeta[Title]='請求書(あいうえお商事 No.12345)'


複数のプロパティ値を設定する場合はセミコロン(;)で区切ります。
PdfVersion=7 ; PdfUser=test ; PdfOwner=test_owner


複数の値を持つプロパティについてはカンマ(,)で値を区切ります。
PdfPermission=Copy,TextAccess,PrintHigh



<エラー>
PDFオプションで発生するエラーは次の2つのエラーだけです。
無効なオプション名や綴り間違い等ではエラーは発生しません。

・使用できない文字をパスワードに指定した
・無効なページ範囲を指定した


<オプション一覧>
オプション 説明
PdfVersion 作成するPDFのバージョンを指定します。
PDFのバージョンにより暗号化アルゴリズムが決定されます。

説明 暗号化アルゴリズム
4 バージョン 1.4のPDFを出力します。 Standard-40bit
5 バージョン 1.5のPDFを出力します。 Standard-128bit
6 バージョン 1.6のPDFを出力します。
(デフォルト値)
AES-128bit
7 バージョン 1.7のPDFを出力します。 AES-256bit
PDF/A-1b ※この機能はversion 3.0.0.138以降で利用できます。

PDF/A-1bに準拠したPDFを出力します。
ベースバージョンは 1.4 となります。

<無効化されるオプション>
PdfUser
PdfOwner
PdfPermissions
PdfMetadata
PdfViewingDeadline
PdfViewingStart
PdfViewingDeadlineAlert
暗号化されません。 


PDFの暗号化はPdfUserまたはPdfOwnerを設定しないと有効になりません。
PdfVersion=6
PdfVersion=PDF/A-1b
PdfUser ユーザパスワードを指定します。
PDFを開くために必要なパスワードとなります。

<扱える文字>
PDFバージョンが1.4〜1.6 までは半角英数記号。
PDFバージョンが1.7ではUnicode文字(全角英数記号・半角カタカナ除く)

<パスワードの最大文字数>
PDFバージョン1.4〜1.6では32文字まで。
PDFバージョン1.7では127文字まで。(UTF-8換算)
PdfUser=test_user
PdfOwner オーナー(権限)パスワードを指定します。
オーナーパスワードを指定すると
PdfPermissionsで許可する権限を指定することができます。

<扱える文字>
PDFバージョンが1.4〜1.6 までは半角英数記号。
PDFバージョンが1.7ではUnicode文字(全角英数記号・半角カタカナ除く)

<パスワードの最大文字数>
PDFバージョン1.4〜1.6では32文字まで。
PDFバージョン1.7では127文字まで。(UTF-8換算)
PdfOwner=test_owner
PdfPermissions
PdfPM
PdfOwnerでオーナー(権限)パスワードを指定した場合、
許可する権限を指定することができます。(デフォルト値:Accessibility)

複数の値を組み合わせて指定することができます。
EditLevel1〜4は最後に指定された値が有効となります。

説明
Copy
CP
内容のコピーを許可します。
アクセシビリティのための内容の抽出も許可されます。
Accessibility
AC
アクセシビリティのための内容の抽出を許可します。
Print
PR
低解像度で印刷を許可します。
PDFバージョン1.4では高解像度で印刷を許可します。
PrintHigh
PRH
高解像度で印刷を許可します。
EditLevel1
EL1
ページの挿入、削除、回転を許可します。
PDFバージョン1.4ではサポートされていません。
EditLevel2
EL2
フォームフィールドの入力と既存の署名フィールドに署名を許可します。
PDFバージョン1.4ではサポートされていません。
EditLevel3
EL3
注釈の作成、フォームフィールドの入力と既存の署名フィールドに署名を許可します。
EditLevel4
EL4
ページの抽出を除く全ての操作を許可します。

PdfPermissions=Copy,Print
PdfPM=CP,PRH,EL2
PdfMetadata PDFを暗号化する場合、メタ情報の暗号化の有無を指定します。
PDFバージョン1.4ではこの設定は無視され常に暗号化されます。

説明
Encrypt 暗号化します。(デフォルト値)
UnEncrypt 暗号化しません。。

PdfMetadata=UnEncrypt
PdfMeta メタ情報を設定します。
このオプションではオプション名に続き
エントリ名をかぎ括弧([ ])で囲んで指定します。

PdfMeta[<エントリ名>]=値

設定できるメタ情報のエントリは次の通りです。

エントリ名
Title タイトル
Subject 主題、サブタイトル
Author 作成者
Keywords PDFに関するキーワード
このエントリは値を複数指定することができます。

帳票定義ファイル(*.wfr)を使っている場合は、
マクロを使いデータ値を埋め込むことができます。
(基準セクションのデータ値が対象となります)

例)
PdfMeta[Subject]='%Field=企業名%'
PdfMeta[Keywords]='%Field=企業名%','%Field=部署名%'
PdfMeta[Title]='Sample';
PdfMeta[Keywords]='明日','天気','晴れ'
PdfImageQuality
PdfIQ
画像の品質を指定します。(デフォルト値:80)
指定可能な範囲は 10〜100 です。
PdfImageQuality=80
PdfImageDpi
PdfID
画像の解像度(DPI)を指定します。(デフォルト値:300)
指定可能な範囲は 72〜2400 です。
PdfImageDpi=300
PdfBarcodeDpi
PdfBD
バーコードの解像度(DPI)を指定します。(デフォルト値:600dpi)
指定可能な範囲は 72〜2400 です。

PDFを介してのバーコードの印字は読み取り精度が低下する傾向にあります。
これはPDFの内部解像度と実際に出力するプリンタの解像度の相違からスケーリング処理でバーの均一性が保たれないためです。
「PDF Server」「PDF Client」では最終ターゲット(プリンタ)の解像度に合わせてバーコードを最適化して出力することで品質の低下を抑えることができます。


最適化を有効に活用するにはPDFの印刷時に出力倍率を100%にする必要があります。
プリンタ(ドライバ)やPDF出力ソフトの設定で出力倍率が調整されるとバーコードの品質は必ず低下します。
PdfBarcodeDpi=1200
Range PDFに出力するページ範囲を指定します。(1〜)
指定しない場合は全ページをPDFに出力します。

特定のページを指定:Range=3
範囲を指定:Range=1-3
複数のページを指定:Range=1,3,7-8
Range=1-3
PdfPaper ※この機能はversion 3.0.0.109以降で利用できます。

出力するPDFの用紙サイズを指定します。
指定しない場合は帳票の用紙(サイズ)に従います。
指定可能な用紙名は A1〜A6,B1〜B6 です。

任意の用紙サイズを1/100mm単位で直接指定することもできます。
この場合は 幅x長さ で指定します。

第二引数で用紙方向を指定することができます。
指定しない場合は帳票の用紙方向に従います。
説明
Landscape 横(用紙の幅と長さを入れ替えます)
Portrait
PdfPaper=A3
PdfPaper=21000x29700,Landscape
PdfOffset ※この機能はversion 3.0.0.109以降で利用できます。

PDFの出力位置を調整することができます。(デフォルト値は Left,Top です)
PdfPaperやPdfZoomを設定し出力用紙と帳票の用紙サイズが異なる場合に、配置位置を調整することができます。

第一引数には横方向のオフセットを1/100mm単位で指定します。
次の値を指定することもできます。
説明
Left 左に寄せます。
Center 中央に配置します。
Right 右に寄せます。


第二引数には縦方向のオフセットを1/100mm単位で指定します。
次の値を指定することもできます。
説明
Top 上に寄せます。
Center 中央に配置します。
Bottom 下に寄せます。
PdfOffset=Center,Top
PdfOffset=1000,0
PdfViewingDeadline
PdfVD
※この機能はversion 3.0.0.135以降で利用できます。
※この機能はPDFビューワーのフォームやJavascriptのサポート状況にに大きく依存します。厳密な管理を行う方法としては不適当です。


出力するPDFに閲覧期限となる日時を指定します。(書式はyyyy/MM/dd hh:mm:ss)
閲覧期限を超えると全てのページが白紙となります。
時刻を省略すると 00:00:00 が適用されます。

2022年6月末日までを閲覧期限とする場合は 2022/07/01 と指定します。


PdfOwnerを使って制限を与えた場合でも、このオプションの指定によりフォームの編集・操作の許可が追加で与えられます。これは、閲覧可能な場合、ページ出力時に内部処理でフォームの編集操作が発生するためです。これにより、PDFビューアによってはPDFを閉じるタイミングで保存を確認する問い合わせが発生します。
PdfVD=2023/01/01
PdfViewingDeadlineAlert
PdfVDA
※この機能はversion 3.0.0.135以降で利用できます。
※この機能はPDFビューワーのフォームやJavascriptのサポート状況にに大きく依存します。厳密な管理を行う方法としては不適当です。


指定できる文字は半角英数字と一部の記号です。(ASCII文字)

閲覧期限を超えたことを伝えるメッセージを指定します。閲覧期限を超えている場合、このメッセージがアラート(ダイアログ)に表示されます。アラート(ダイアログ)は1ページ目に移動したタイミングで表示されます。
PdfVDA='The viewing deadline.'
PdfZoom ※この機能はversion 3.0.0.109以降で利用できます。

PDFへの出力倍率を指定します。(デフォルト値はAutoです)
PdfPaperオプションで指定した用紙サイズに合わせて自動調整(拡大・縮小)することができます。

次のように設定することで用紙マージンが狭い帳票のマージンを広げて出力することができます。
(例 PdfZoom=95%;PdfOffset=Center,Center)
PdfZoom=90%
PdfZoom=Auto



使用例


PdfOutの使用例です。


テンプレートファイルを使ってPDFを作成する例(COM-VB)


帳票定義ファイル(*.wfr)にデータを入力してPDFを作成する例(COM-C#)


プログラムから直接PDFを作成する例(アセンブリ-VB)



このページの先頭へ