diff --git a/table_demo b/table_demo new file mode 100755 index 0000000..f8d1c99 --- /dev/null +++ b/table_demo @@ -0,0 +1,136 @@ +#!/usr/bin/env php + +set_option("errorpolicy=return"); + $pdf->set_option("stringformat=utf8"); + + if ($pdf->begin_document($outfile, "") == 0) + throw new Exception("Error: " . $pdf->get_errmsg()); + + // set up the document metadata info + $pdf->set_info('Creator', 'IODP Science Support Office'); + $pdf->set_info('Author', 'IODP Science Support Office'); + $pdf->set_info('Title', 'Demo of TCPDF for generating IODP Proposals'); + $pdf->set_info('Subject', 'IODP Proposals'); + $pdf->set_info('Keywords', 'IODP proposal ocean drilling core expedition'); + + $textOpts = "fontname={Helvetica} embedding fontsize=20 " + . "encoding=unicode "; + + // START PAGE 1 + $pdf->begin_page_ext(612, 792, ''); + + // create bookmarks first thing + $action = $pdf->create_action("GoTo", "destination={page=1}"); + $pdf->create_bookmark("Page 1", " action={activate= " . $action . "}"); + + // action + $action = $pdf->create_action("GoTo", "destination={page=2}"); + // bookmark + $pdf->create_bookmark("Page 2", " action={activate= " . $action . "}"); + + + // text/image + $pdf->fit_textline("Jump to SSF for SHACK-10A", 20, 750, + $textOpts . " underline=true matchbox={name=to_second_page}"); + // annotation; reuse the "page 2" action above + $optlist = "action={activate " . $action . "} linewidth=0 " . + "usematchbox={to_second_page}"; + $pdf->create_annotation(0, 0, 0, 0, "Link", $optlist); + + // the rest of the text on page 1 + $pdf->fit_textline("This is some text on the first page; ", 20, 720, + $textOpts); + $pdf->fit_textline("Привет! Этот немного текста.", 20, 690, $textOpts); + + // END PAGE 1 + $pdf->end_page_ext(''); + + // START PAGE 2 + //$pdf->begin_page_ext(612, 792, ''); + $ssfPDF = $pdf->open_pdi_document(__DIR__ . "/site_summary_figure.pdf", ''); + if ($ssfPDF == 0) + throw new Exception("Error: " . $p->get_errmsg()); + + $ssfPage = $pdf->open_pdi_page($ssfPDF, 1, ''); + $ssfWidth = $pdf->pcos_get_number($ssfPDF, "pages[0]/width"); + $ssfHeight = $pdf->pcos_get_number($ssfPDF, "pages[0]/height"); + //print "Page width/height: $ssfWidth x $ssfHeight\n"; + + $pdf->begin_page_ext($ssfWidth, $ssfHeight, ''); + + $pdf->fit_pdi_page($ssfPage, 0, 0, ''); + $pdf->close_pdi_page($ssfPage); + $pdf->close_pdi_document($ssfPDF); + + // write some text on to the page + $action = $pdf->create_action("GoTo", "destination={page=1}"); + $pdf->fit_textline("Back to Top", 20, $ssfHeight - 30, + $textOpts . " underline=true matchbox={name=to_first_page}"); + + // call create_annotation here + $optlist = "action={activate " . $action . "} linewidth=0 " . + "usematchbox={to_first_page}"; + $pdf->create_annotation(0, 0, 0, 0, "Link", $optlist); + + // END PAGE 2 + $pdf->end_page_ext(''); + + // START PAGE 3 + $pdf->begin_page_ext(612, 792, ''); + + // END PAGE 3 + $pdf->end_page_ext(''); + + // close the document + $pdf->end_document(''); + +} catch (PDFlibException $e) { + die("PDFlib exception occurred\n" + . "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " + . $e->get_errmsg() . "\n"); +} catch (Exception $e) { + die($e); +} + +// vim: expandtab filetype=php shiftwidth=3 tabstop=3