/* * フォームフィールドの基礎: * 暗号化され、いくつかのフォームフィールドを含む、線形化されたPDF(Webでの * 高速配信用)を作成します。 * JavaScript が「ページを開く」アクションとしして挿入され、日付フィールドに * 現在の日付が自動的に入力されます。 * * 必要な製品 : PDFlib/PDFlib+PDI/PPS 9 * 必要なデータ : フォントファイル */ package com.pdflib.cookbook.pdflib.form_fields; import com.pdflib.pdflib; import com.pdflib.PDFlibException; public class starter_formfields { public static void main(String argv[]) { pdflib p = null; /* 必要に応じてデータファイルがあるフォルダのパスを指定する */ String searchpath = "../input"; String optlist; int font, action; double llx = 150, lly = 550, urx = 350, ury = 575; int exitcode = 0; /* フォームフィールドに日付を自動入力するための JavaScript */ String js = "var d = util.printd(\"mm/dd/yyyy\", new Date()); " + "var date = this.getField(\"date\"); " + "date.value = d;"; try { p = new pdflib(); /* load_font() 等でエラーが起きた場合、-1を返す */ p.set_option("errorpolicy return searchpath={{" + searchpath + "}}"); /* マスターパスワードを設定し、ユーザーが変更できないようにする */ optlist = "linearize masterpassword=pdflib permissions={nomodify}"; if (p.begin_document("starter_formfields.pdf", optlist) == -1) throw new Exception("Error: " + p.get_errmsg()); p.set_info("Creator", "PDFlib starter sample"); p.set_info("Title", "starter_formfields"); optlist = "script[" + js.length() + "]={" + js + "}"; action = p.create_action("JavaScript", optlist); optlist = "action={open=" + action + "}"; p.begin_page_ext(0, 0, "width=a4.width height=a4.height " + optlist); font = p.load_font("NotoSerif-Regular", "winansi", "simplefont"); if (font == -1) throw new Exception("Error: " + p.get_errmsg()); p.setfont(font, 24); p.fit_textline("Date: ", 125, lly + 5, "position={right bottom}"); /* tooltip でフィールドに説明のテキストを追加する */ optlist = "tooltip={Date (will be filled automatically)} " + "bordercolor={gray 0} font=" + font; p.create_field(llx, lly, urx, ury, "date", "textfield", optlist); lly -= 100; ury -= 100; p.fit_textline("Name: ", 125, lly + 5, "position={right bottom}"); optlist = "tooltip={Enter your name here} " + "bordercolor={gray 0} font=" + font; p.create_field(llx, lly, urx, ury, "name", "textfield", optlist); p.end_page_ext(""); p.end_document(""); } catch (PDFlibException e) { System.err.println("PDFlib exception occurred:"); System.err.println("[" + e.get_errnum() + "] " + e.get_apiname() + ": " + e.get_errmsg() ); exitcode = 1; } catch (Exception e) { System.err.println(e); exitcode = 1; } finally { if (p != null) { p.delete(); } System.exit(exitcode); } } }