※基本的なドキュメントの開き方は「ドキュメントを開く」を参照

 

単ページのPDFを開く場合は単純にopen関数で開けばよいのですが、ページが複数あるPDFを開く場合、アプリケーションのpreferences.PDFFileOptionsプロパティにあるpageToOpenに開きたいページ番号(先頭が1ページ)を設定することで任意のページを開くことができます。

//PDFを開く
app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;
var fObj = File.openDialog('PDFファイルを選択');
if (fObj != null) {
var opt = app.preferences.PDFFileOptions;
    opt.pageToOpen = 1;
    app.open(fObj);
}

なお、先頭でアプリケーションにあるuserInteractionLevelプロパティに値を設定しているのは、ドキュメントを開くときにアラートを出さないようにするためのものです(参照:ドキュメントを開く)。

こうしておかないと、スクリプトでPDFドキュメントを開くときにも毎回「どのページを開くか?」と尋ねてきます。

 

<PDFFileOptionsについて>

PDFFileOptionsにはもうひとつpDFCropToBoxという設定項目があるのですが、これを試すためのテストドキュメントがうまく作成できず、未だ検証できていません。

「どの範囲を基準として開くか?」という設定のようですが、PDFの作成時に印刷エリアやトンボを設定したり、Acrobatでトリミングしたりしたドキュメントをそれぞれの値で開いても、すべて同じ結果になってしまいます。

その違いがわかるような好例ドキュメントを作成する方法をご存じの方はご一報ください(このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。)。

なお、pDFCropToBoxに設定する値はPDFBoxType定数で、以下のような説明が付けられています。

 

・PDFBoxType定数

PDFBoxType.PDFARTBOX アートボックスにトリミングします。 アートボックスとは、ページの作成者が意図した、ページの意味のあるコンテンツ(潜在的な空白を含む)の範囲のことです。
PDFBoxType.PDFBLEEDBOX ブリードボックスにトリミングします。 ブリードボックスとは、出力するときにページのコンテンツをクリップする領域のことです。
PDFBoxType.PDFBOUNDINGBOX バウンディングにトリミングします。 バウンディングとは、ページ上のすべてのテキスト、グラフィック、および画像を囲む短形範囲のことです。
PDFBoxType.PDFCROPBOX クロップボックスにトリミングします。 クロップボックスとは、表示および印刷するページの領域のことです。
PDFBoxType.PDFMEDIABOX メディアボックスにトリミングします。 メディアボックスとは、(ドキュメントの)ページのサイズです。 
PDFBoxType.PDFTRIMBOX トリムボックスにトリミングします。 トリムボックスとは、面付け内のページのコンテンツの位置の指定です。

 

 

 

Joomla templates by a4joomla