ページの先頭行へ戻る
Interstage List Works V11.0.0 APIリファレンス
FUJITSU Software

1.4.12 LW_CreatePDFFileEx(帳票のPDF変換(セキュリティ情報指定))

記述形式

int  LW_CreatePDFFileEx(LWAPIHANDLE   iServerApiHandle,
                        char *        lpSplFilePath,
                        char *        lpPDFDirPath,
                        char *        lpPDFFileName,
                        LPPDFINFO     lpPDFInfo,
                        void *        reserve)

機能

帳票をSPL形式からPDF形式へ変換します。またセキュリティ情報などを指定することもできます。


パラメタの説明

iServerApiHandle

サーバAPI識別子を指定します。

lpSplFilePath

PDFに変換するList Works帳票の論理パスを指定します。必ず指定します。

本情報の最終文字にはNULLが設定されている必要があります。

lpPDFDirPath

PDFファイルを格納するフォルダの物理パスを指定します。必ず指定します。

本情報の最終文字にはNULLが設定されている必要があります。

フォルダの物理パスには、実際に存在するパスを指定してください。

lpPDFFileName

生成するPDFファイルの名前を指定します。本情報の最終文字にはNULLが設定されている必要があります。

本情報を省略する場合はNULLを指定します。省略された場合は、lpSplFilePathで指定したList Works帳票のファイル名の拡張子を“.pdf”に変更したファイル名で作成します。

なお、指定したPDFファイルの名前に拡張子“.pdf”が付加されていない場合でも、自動的に拡張子“.pdf”を付加したファイル名で作成します。

lpPDFInfo

PDFINFO構造体 (PDF変換情報構造体)のアドレスを指定します。

本情報を省略する場合はNULLを指定します。省略された場合は、デフォルト動作としてのPDF変換が行われます。

PDFINFO構造体を以下に示します。

typedef struct CreatePDFInfo
{
unsigned short  usp_Length;        /* 領域長                                    */
char            cp_OvlOrigin;      /* オーバレイ原点位置の参照方法              */
char            cp_Rsv1[1];        /* リザーブ                                  */
char            cp_OpenPwd[32+4];  /* "文書を開く"パスワード                    */
char            cp_SecuPwd[32+4];  /* "セキュリティオプションの変更"パスワード  */
int             ip_Print;          /* 印刷許可指定                              */
int             ip_Modify;         /* 文書変更許可指定                          */
int             ip_Select;         /* テキスト/グラフィックス選択許可指定       */
int             ip_Annotate;       /* 注釈/フォームフィールド追加変更許可指定   */
int             ip_Embed;          /* エンベッド指定                            */
} PDFINFO;
typedef  PDFINFO*          LPPDFINFO;

lpPDFInfoにNULLを指定した場合の設定内容のデフォルト値は以下のとおりです。

設定内容

デフォルト値

オーバレイ原点位置の参照方法

オーバレイごとに保存してある帳票項目から参照します。

“文書を開く”パスワード

設定されません。

“セキュリティオプションの変更”パスワード

設定されません。

印刷許可指定

印刷を許可します。

文書変更許可指定

変更を許可します。

テキスト/グラフィックス選択許可指定

選択を許可します。

注釈/フォームフィールド追加変更許可指定

追加・変更を許可します。

エンベッド指定

埋め込みません。


reserve

予約されています。NULLを指定してください。


PDFINFO構造体の説明

メンバ変数

項目

説明

usp_Length

領域長

構造体のサイズを指定します。

本APIを実行する前に、呼び出し元でsizeof(PDFINFO)を実行してください。

cp_OvlOrigin

オーバレイ原点位置の参照方法

オーバレイ原点位置情報の参照方法を指定します。

0:オーバレイごとに保存してある帳票項目から参照する
1:帳票名ごとに保存してある帳票項目から参照する

List Worksクライアント環境設定の【帳票項目】タブで「帳票名ごとに利用する」を選択している場合は「1」を、「オーバレイごとに利用する」を選択している場合は「0」を指定します。

cp_Rsv1

リザーブ

NULLを指定します。

cp_OpenPwd

“文書を開く”パスワード

PDFファイルを開くときのパスワードを32バイト以内の半角英数字、または記号(ASCIIコードの文字範囲)で指定します。最終文字にはNULLが設定されている必要があります。

その他の文字を指定した場合、また32バイトを超えたパスワードを指定した場合はエラーとなります。

指定しない場合パスワードは設定されません。

cp_SecuPwd

“セキュリティオプションの変更”パスワード

PDFファイルのセキュリティオプションを変更するときのパスワードを32バイト以内の半角英数字、または記号(ASCIIコードの文字範囲)で指定します。最終文字にはNULLが設定されている必要があります。

その他の文字を指定した場合、また32バイトを超えたパスワードを指定した場合はエラーとなります。

“文書を開く”パスワードと同じパスワードを指定した場合、この“セキュリティオプションの変更”パスワードは無効となります。

指定しない場合はパスワードなしでセキュリティオプションの変更ができるようになります。

ip_Print

印刷許可指定

PDFファイルの印刷を許可するかどうかを指定します。

0:印刷を許可する
1:印刷を許可しない

ip_Modify

文書変更許可指定

PDFファイルの文書の変更を許可するかどうかを指定します。

0:変更を許可する
1:変更を許可しない

ip_Select

テキスト/グラフィックス選択許可指定

PDFファイルのテキストとグラフィックスの選択を許可するかどうかを指定します。

0:選択を許可する
1:選択を許可しない

ip_Annotate

注釈/フォームフィールド追加変更許可指定

PDFファイルの注釈と、フォームフィールドの追加と変更を許可するかどうかを指定します。

0:追加・変更を許可する
1:追加・変更を許可しない

ip_Embed

エンベッド指定

PDFファイルに文字を埋め込むかどうかを指定します。

0:埋め込まない
1:外字を埋め込む
2:すべての文字を埋め込む

外字のエンベッドはList Worksに帳票を登録する時に、外字を文字コードとして登録した場合のみ有効となります。


復帰値

0

正常終了しました。

-1

異常終了しました。


注意

  • LW_CreatePDFFileEx()を使用するには、List WorksサーバにList Creator Enterprise Editionがインストールされている必要があります。

  • lpPDFDirPathおよび、lpPDFFIleNameに全角文字(半角カナ)を指定した場合、動作は保証されません。

  • 変換が可能な最大ページ数は8000ページです。ページ数が8000ページを超える帳票を指定した場合はエラーになります。大量ページのPDF変換は、サーバの負荷が非常に高くなるため、8000ページを上限としています

  • PDF変換された帳票を見るためには、Adobe Readerが必要です。

  • Adobe Readerには、文書を変更する機能がありません。このため、本APIで「文書変更許可指定」および「注釈/フォームフィールド追加変更許可指定」に「許可する」を指定してPDF変換しても、Adobe Readerでは文書を変更することはできません。

  • 本APIで「文書変更許可指定」および「注釈/フォームフィールド追加変更許可指定」に「許可する」を指定して変換したPDFファイルは、Adobe Readerで表示した場合、セキュリティ情報に「許可しない」と表示される場合があります。「許可しない」と表示された場合でも、指定した「文書変更許可指定」および「注釈/フォームフィールド追加変更許可指定」は、正常に設定されています。

  • 外字のエンベッド指定をする場合、事前に以下の手順で設定を行う必要があります。

    1. Charset Managerにおける、List Creator連携時の設定

    2. List Creatorにおける、利用者定義文字の登録

      外字のエンベッド指定をする場合の設定については“Charset Managerのマニュアル”および“List Creatorのマニュアル”を参照してください。
  • 外字を含む帳票を変換する際に、「エンベッド指定」で「0:埋め込まない」を指定すると、PDFファイルが正しく表示されない場合があります。正しく表示されない場合は、「エンベッド指定」に「1:外字を埋め込む」、または「2:すべての文字を埋め込む」を指定してください。

  • lpPDFDirPathおよび、lpPDFFileNameで指定されたファイルと同一のファイルが存在する場合、そのファイルに上書きします。

  • lpPDFDirPathおよび、lpPDFFileNameに指定したファイルの物理パスの合計が、256バイトを超えた場合はエラーになります。

  • 帳票に記入情報が設定されている場合は、PDF変換時に記入情報は反映されません。

  • PDFに変換する帳票は、保管フォルダ内に登録されている必要があります。

  • List CreatorのPDFフォント登録機能には対応していません。MS明朝、MSゴシック以外のフォントは、すべてMS明朝として変換されます。

  • 変換後のPDFファイルは、変換前の帳票と比べて、面塗り属性、線属性、バーコードなどが多少異なる場合があります。

    PDF変換時の制限事項や注意事項については、“List Creatorのマニュアル”も合わせて参照してください。
  • PDF変換後のバーコードは、用紙、リーダ、出力装置の解像度、および状態により精度が変わるため、実際の運用を行う前に、読み込めることを確認してから使用してください。

  • List CreatorデザイナやFORMのPowerFORMツールで作成したベクトルオーバレイ(KOL6)の場合、矩形オーバレイ文字は表示されません。

  • オーバレイはベクトルオーバレイ、ドットオーバレイの順に変換されます。

  • 変換後のPDFファイルは、印刷データ/オーバレイに設定されている色が有効となります。設定されていない場合はモノクロとなります。

  • ID印刷によって出力される情報はPDF変換されません。

  • 組み込みメディアがクリッピングされている場合、解像度に関わらず72dpiで変換されます。このため、変換後のPDFファイルでは、組み込みメディアが変換前の帳票と異なる場合があります。

  • 仕分け機能で旧バージョンのWindows版からLinux版に一般アプリ帳票が登録された場合、一般アプリ帳票の図形データ(表、罫線など)およびバーコードは変換されません。

  • エラーが発生し、エラーの原因が特定できない場合は、リスト管理サーバの実行履歴を参照してください。


参考

異常終了した場合に以下のサーバ機能APIを実行すると、エラーの詳細を取得することができます。

エラーコードの取得

LW_GetServerApiErrCode(サーバ機能APIエラーコード取得)

LW_GetServerApiErrCodeについては、“1.3.1 LW_GetServerApiErrCode(サーバ機能APIエラーコード取得)”を参照してください。
エラーメッセージの取得

LW_GetServerApiErrMsg(サーバ機能APIエラーメッセージ取得)

LW_GetServerApiErrMsgについては、“1.3.2 LW_GetServerApiErrMsg(サーバ機能APIエラーメッセージ取得)”を参照してください。