set_option("errorpolicy=exception searchpath={" . $searchpath . "}"); $p->set_option("stringformat=utf8"); $p->begin_document("", "pdfua=PDF/UA-1 lang=en " . "tag={tagname=Document Title={" . $title . "}}") ; $p->set_info("Creator", "PDFlib Cookbook"); $p->set_info("Title", $title . ' $Revision: 1.4 $'); /* Automatically create spaces between chunks of text */ $p->set_option("autospace=true"); $p->begin_page_ext(0, 0, "width=a4.width height=a4.height taborder=structure"); $font = $p->load_font("GenR102", "pdfdoc", "embedding nosubsetting"); $p->setfont($font, 24.0); $p->fit_textline("Kraxi paper planes order form", $x1, $y, "tag={tagname=H1}"); $p->create_bookmark("Kraxi paper planes order form", ""); $p->setfont($font, 12.0); $id_P = $p->begin_item("P", ""); /* =================== Text field ======================== */ $y -= 3 * $fieldheight; $p->fit_textline("Enter name:", $x1, $y + 0.5 * $fieldheight, ""); $optlist = "tag={tagname=Form} tooltip={First name} " . "bordercolor={gray 0} font=" . $font; $p->create_field($x2, $y, $x2 + $fieldwidth, $y + $fieldheight, "firstname", "textfield", $optlist); /* =================== Combo box ======================== */ $y -= 3 * $fieldheight; $p->fit_textline("Select size:", $x1, $y + 0.5 * $fieldheight, ""); /* Create a form field of type "combobox". * Set the values for the combobox items (itemnamelist={0 1 2 3 4}). * Set the labels for the combobox items (itemtextlist={...}). * Set the focus on the last item (currentvalue=4). * Allow the user to change an item (editable=true) */ $optlist = "tag={tagname=Form} tooltip={Select size} " . "font=" . $font . " fontsize=12 backgroundcolor={gray 0.9} " . "bordercolor={gray 0.7} itemnamelist={0 1 2 3 4} " . "currentvalue=4 itemtextlist={S M L XL XXL} editable=true"; $p->create_field($x2, $y, $x2 + $fieldwidth, $y + $fieldheight, "size", "combobox", $optlist); /* =================== List box ======================== */ $y -= 4 * $fieldheight; $p->fit_textline("Select model:", $x1, $y, ""); /* Create a form fiels of type "listbox". * Set the values for the list items (itemnamelist={0 1 2 3}). * Set the labels for the list items (itemtextlist={...}). * Set the focus on the first item (currentvalue=0). */ $optlist = "tag={tagname=Form} tooltip={Select model} " . "font=" . $font . " fontsize=12 backgroundcolor={gray 0.9} " . "bordercolor={gray 0.7} itemnamelist={0 1 2 3} currentvalue=0 " . "itemtextlist={{Long Distance Glider} {Giant Wing} " . "{Cone Head Rocket} {Super Dart}}"; $y -= 2.5 * $fieldheight; $p->create_field($x2, $y, $x2 + $fieldwidth, $y + 3 * $fieldheight, "plane", "listbox", $optlist); /* =================== Check boxes ======================== */ $y -= 2 * $fieldheight; $p->fit_textline("Select extras:", $x1, $y, ""); /* Create several form fields of type "checkbox" */ $optlist = "buttonstyle=cross bordercolor={gray 0} " . "backgroundcolor={rgb 0.95 0.95 1} fillcolor={rgb 0.25 0 0.95}"; $p->create_field($x2, $y, $x2 + $fieldsmall, $y + $fieldsmall, "glossy", "checkbox", $optlist . " tag={tagname=Form} tooltip={glossy paper}"); $p->fit_textline("Glossy paper", $x2 + 2 * $fieldsmall, $y, ""); $y -= $fieldheight; $p->create_field($x2, $y, $x2 + $fieldsmall, $y + $fieldsmall, "rainbow", "checkbox", $optlist . " tag={tagname=Form} tooltip={rainbow colors}"); $p->fit_textline("Rainbow colors", $x2 + 2 * $fieldsmall, $y, ""); /* =================== radio buttons ======================== */ $y -= 3 * $fieldheight; $p->fit_textline("Select color:", $x1, $y, ""); /* First, create a form field group called "colors" */ $p->create_fieldgroup("colors", "fieldtype=radiobutton tooltip={Select a color for the paper plane}"); /* Create several form fields of type "radiobutton". * All fields belong to the "colors" field group. Indicate this * relationship by providing each radiobutton field name with the * prefix "colors.". * Activate the first radio button (currentvalue={On}). * The tooltip is always shared by the group. */ $optlist = "buttonstyle=circle bordercolor={gray 0.8}"; $p->create_field($x2, $y, $x2 + $fieldsmall, $y + $fieldsmall, "colors.standard", "radiobutton", $optlist . " currentvalue={On} tag={tagname=Form}"); $p->fit_textline("Standard", $x2 + 2 * $fieldsmall, $y, ""); $y -= $fieldheight; $p->create_field($x2, $y, $x2 + $fieldsmall, $y + $fieldsmall, "colors.yellow", "radiobutton", $optlist . " tag={tagname=Form}"); $p->fit_textline("Yellow", $x2 + 2 * $fieldsmall, $y, ""); $y -= $fieldheight; $p->create_field($x2, $y, $x2 + $fieldsmall, $y + $fieldsmall, "colors.blue", "radiobutton", $optlist . " tag={tagname=Form}"); $p->fit_textline("Blue", $x2 + 2 * $fieldsmall, $y, ""); /* =================== Push button ======================== */ /* Create a print field of type "pushbutton". */ /* Create an action for executing the Acrobat command File/Print */ $printaction = $p->create_action("Named", "menuname=Print"); $y -= 3 * $fieldheight; $optlist = "bordercolor={rgb 0.25 0 0.95} " . "backgroundcolor={rgb 0.95 0.95 1} " . "fillcolor={rgb 0.25 0 0.95} font=" . $font . " fontsize=14"; $p->create_field($x2, $y, $x2 + 0.5*$fieldwidth, $y + $fieldheight, "print", "pushbutton", $optlist . " caption={Print form} action={up " . $printaction . "} tag={tagname=Form} tooltip={Print the document}"); $p->end_item($id_P); $p->end_page_ext(""); $p->end_document(""); $buf = $p->get_buffer(); $len = strlen($buf); header("Content-type: application/pdf"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=tagged_form_fields.pdf"); print $buf; } catch (PDFlibException $e) { echo("PDFlib exception occurred in tagged_form_fields sample:\n" . "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " . $e->get_errmsg() . "\n"); exit(1); } catch (Exception $e) { echo($e); exit(1); } $p = 0; ?>