
ウィンドウのタイトルバーに文書タイトルを表示するかどうかを選択します。
PDFドキュメントを開いたウィンドウのタイトルバーに文書タイトルを表示するかどうかを設定できます。
本サンプルプログラムでは、入力PDFについて、文書タイトルをウィンドウのタイトルバーに表示するかどうかを選択して設定し、PDFドキュメントを出力します。
package cookbook;
import jp.co.antenna.ptl.*;
public class SetOpenModeOfDocTitle {
// そのクラスのusageを表示する関数
private static void printUsage() {
System.out.print("usage: java SetOpenModeOfPageOfUI in-pdf-file out-pdf-file");
System.out.println(" display-doc-title");
System.out.println("display-doc-title : ウィンドウのタイトルバーに文書タイトルを");
System.out.println("0: 表示する 1: 表示しない");
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
if (args.length < 3) {
printUsage();
return;
}
//TODO20181220 以下の記述をブラッシュアップする
// コマンドライン引数の読み取り
boolean flagDisplayDocTitle;
// display-doc-title
try {
flagDisplayDocTitle = readBoolArgs(args[2], "display-doc-titleは" +
"0か1で指定してください。");
}
catch (IllegalArgumentException ex) {
System.out.println(ex.getMessage());
printUsage(); // usageメッセージの表示
return;
}
try (PtlParamInput inputFile = new PtlParamInput(args[0]);
PtlParamOutput outputFile = new PtlParamOutput(args[1]);
PtlPDFDocument doc = new PtlPDFDocument()) {
// PDFファイルをロードします。
doc.load(inputFile);
try (PtlDocProperty docProperty = doc.getDocProperty(); // PDFの文書プロパティ
PtlOpenMode openmode = docProperty.getOpenMode()) { // 開き方の取得
// ウィンドウのタイトルバーに文書タイトルを表示するかどうか設定
//(true: 非表示、false: 表示)
openmode.setDisplayDocTitle(flagDisplayDocTitle);
/*----- 開き方のデフォルト設定 -----*/
...【SetOpenAction.javaと同じ処理のため省略
・サムネイルとページを表示するページモードに設定
・連続ページの形で表示するページレイアウトに設定
・ユーザーインターフェイスのうちウィンドウコントロールを非表示に設定
・ウィンドウをページのサイズに合わせ、画面中央に表示するように設定
・右から左に読み上げオプションを設定する】...
...【SetOpenModeOfPage.javaと同じ処理のため省略
・最初に開くページを2ページ目にし、あらかじめ決まった座標をズームして開くよう設定】...
/*----- 以上、ここまでが開き方のデフォルト設定 -----*/
}
// ファイルに保存します。
doc.save(outputFile);
}
...【AppendAnnotStampDefault.javaと同じ処理のため省略
・エラーメッセージ処理と出力】...
}
/**
* 0または1を入力されたargsにより、trueまたはfalseを返すメソッド。
*
* @param args 与えられるコマンドライン引数。0または1でtrueまたはfalseを指定する。
* @param errorMessage argsが0か1でなかった場合に出力されるエラーメッセージを指定。
* @return argsの数値を読み取った結果を戻す
* @throws java.lang.IllegalArgumentException argsが0か1でなかった場合に発生。
*/
public static boolean readBoolArgs(String args, String errorMessage)
throws IllegalArgumentException
{
...【AppendAnnotHighlight.javaと同じ処理のため省略】...
}
}
SetOpenModeOfDocTitle.java
C:\samples>java cookbook.SetOpenModeOfDocTitle usage: java SetOpenModeOfPageOfUI in-pdf-file out-pdf-file display-doc-title display-doc-title : ウィンドウのタイトルバーに文書タイトルを 0: 表示する 1: 表示しない C:\samples>java cookbook.SetOpenModeOfDocTitle setopenmode.pdf setopenmodeDocTitle-0.pdf 0 -- 完了 --