function PDFLib_GRenderer($format = null, $orientation = 'landscape') { // Null size does not create a graphic. $this->styles = array(); $this->font = null; if (!is_null($format)) { $size = $this->_getFormat($format, $orientation); $this->width = $size[0]; $this->height = $size[1]; $this->pdf = pdf_new(); pdf_open_file($this->pdf, ''); pdf_begin_page($this->pdf, $this->width, $this->height); $this->font = pdf_findfont($this->pdf, 'Helvetica', 'builtin', 0); } }
public function createPDF($fname) { $pdf = pdf_new(); pdf_open_file($pdf, ''); $image = pdf_load_image($pdf, "png", $fname, ""); $w = pdf_get_value($pdf, "imagewidth", $image); $h = pdf_get_value($pdf, "imageheight", $image); pdf_begin_page($pdf, $w * 2, $h * 2); pdf_place_image($pdf, $image, $w / 2, $h / 2, 1); pdf_end_page($pdf); pdf_close($pdf); $mybuf = PDF_get_buffer($pdf); $mylen = strlen($mybuf); header("Content-type: application/pdf"); header("Content-Length: {$mylen}"); header("Content-Disposition: inline; filename=chart.pdf"); print $mybuf; PDF_delete($pdf); unlink($fname); }
function reset(&$media) { OutputDriverGenericPDF::reset($media); // Check if PDFLIB is available if (!extension_loaded('pdf')) { // Try to use "dl" to dynamically load PDFLIB $result = dl(PDFLIB_DL_PATH); if (!$result) { readfile(HTML2PS_DIR . 'templates/missing_pdflib.html'); error_log("No PDFLIB extension found"); die("HTML2PS Error"); } } $this->pdf = pdf_new(); // Set PDF compatibility level pdf_set_parameter($this->pdf, "compatibility", $this->get_pdf_version()); /** * Use PDF license key, if present * * PDFLIB_LICENSE constant is defined in 'config.inc.php' file in "PDFLIB-specific" section. */ if (defined("PDFLIB_LICENSE")) { pdf_set_parameter($this->pdf, "license", PDFLIB_LICENSE); } pdf_open_file($this->pdf, $this->get_filename()); // @TODO: compression level, debug pdf_set_value($this->pdf, "compress", 0); // Set path to the PDFLIB UPR file containig information about fonts and encodings if (defined("PDFLIB_UPR_PATH")) { pdf_set_parameter($this->pdf, "resourcefile", PDFLIB_UPR_PATH); } // Setup encodings not bundled with PDFLIB $filename = $this->generate_cpg('koi8-r'); pdf_set_parameter($this->pdf, 'Encoding', sprintf('koi8-r=%s', $filename)); // Setup font outlines global $g_font_resolver_pdf; $g_font_resolver_pdf->setup_ttf_mappings($this->pdf); $pdf = $this->pdf; pdf_set_info($pdf, "Creator", "html2ps (PHP version)"); // No borders around links in the generated PDF pdf_set_border_style($this->pdf, "solid", 0); $this->_status = PDFLIB_STATUS_DOCUMENT_STARTED; }
/** * Create the PDF canvas. * * Parameters available: * * 'page' Specify the page/paper format for the graph's page, available * formats are: A0, A1, A2, A3, A4, A5, A6, B5, letter, legal, ledger, * 11x17, cd_front, inlay, inlay_nosides * * 'align' Alignment of the graph on the page, available options are: * topleft, topcenter, topright, leftcenter, center, rightcenter, * leftbottom, centerbottom, rightbottom * * 'orientation' Specifies the paper orientation, default is 'portrait' and * 'landscape' is also supported. * * 'creator' The creator tag of the PDF/graph * * 'author' The author tag of the PDF/graph * * 'title' The title tag of the PDF/graph * * 'width' The width of the graph on the page * * 'height' The height of the graph on the page * * 'left' The left offset of the graph on the page * * 'top' The top offset of the graph on the page * * 'filename' The PDF file to open/add page to, using 'filename' requires * the commercial version of PDFlib (http://www.pdflib.com/), this has for * obvious ($ 450) reasons not been tested * * 'pdf' An existing PDFlib PDF document to add the page to * * 'add_page' (true/false) Used together with 'pdf', to specify whether the * canvas should add a new graph page (true) or create the graph on the * current page (false), default is 'true' * * The 'page' and 'width' & 'height' can be mutually omitted, if 'page' is * omitted the page is created using dimensions of width x height, and if * width and height are omitted the page dimensions are used for the graph. * * If 'pdf' is specified, 'filename', 'creator', 'author' and 'title' has no * effect. * * 'left' and 'top' are overridden by 'align' * * It is required either to specify 'width' & 'height' or 'page'. * * The PDF format/PDFlib has some limitations on the capabilities, which * means some functionality available using other canvass (fx. alpha * blending and gradient fills) are not supported with PDF (see Canvas.txt * in the docs/ folder for further details) * * @param array $param Parameter array */ function Image_Canvas_PDF($param) { if (isset($param['page'])) { switch (strtoupper($param['page'])) { case 'A0': $this->_pageWidth = 2380; $this->_pageHeight = 3368; break; case 'A1': $this->_pageWidth = 1684; $this->_pageHeight = 2380; break; case 'A2': $this->_pageWidth = 1190; $this->_pageHeight = 1684; break; case 'A3': $this->_pageWidth = 842; $this->_pageHeight = 1190; break; case 'A4': $this->_pageWidth = 595; $this->_pageHeight = 842; break; case 'A5': $this->_pageWidth = 421; $this->_pageHeight = 595; break; case 'A6': $this->_pageWidth = 297; $this->_pageHeight = 421; break; case 'B5': $this->_pageWidth = 501; $this->_pageHeight = 709; break; case 'LETTER': $this->_pageWidth = 612; $this->_pageHeight = 792; break; case 'LEGAL': $this->_pageWidth = 612; $this->_pageHeight = 1008; break; case 'LEDGER': $this->_pageWidth = 1224; $this->_pageHeight = 792; break; case '11X17': $this->_pageWidth = 792; $this->_pageHeight = 1224; break; case 'CD_FRONT': $this->_pageWidth = 337; $this->_pageHeight = 337; break; case 'INLAY': $this->_pageWidth = 425; $this->_pageHeight = 332; break; case 'INLAY_NOSIDES': $this->_pageWidth = 390; $this->_pageHeight = 332; break; } } if (isset($param['orientation']) && strtoupper($param['orientation']) == 'LANDSCAPE') { $w = $this->_pageWidth; $this->_pageWidth = $this->_pageHeight; $this->_pageHeight = $w; } parent::Image_Canvas($param); if (!$this->_pageWidth) { $this->_pageWidth = $this->_width; } elseif (!$this->_width) { $this->_width = $this->_pageWidth; } if (!$this->_pageHeight) { $this->_pageHeight = $this->_height; } elseif (!$this->_height) { $this->_height = $this->_pageHeight; } $this->_width = min($this->_width, $this->_pageWidth); $this->_height = min($this->_height, $this->_pageHeight); if (isset($param['align']) && ($this->_width != $this->_pageWidth || $this->_height != $this->_pageHeight)) { switch (strtoupper($param['align'])) { case 'TOPLEFT': $this->_top = 0; $this->_left = 0; break; case 'TOPCENTER': $this->_top = 0; $this->_left = ($this->_pageWidth - $this->_width) / 2; break; case 'TOPRIGHT': $this->_top = 0; $this->_left = $this->_pageWidth - $this->_width; break; case 'LEFTCENTER': $this->_top = ($this->_pageHeight - $this->_height) / 2; $this->_left = 0; break; case 'CENTER': $this->_top = ($this->_pageHeight - $this->_height) / 2; $this->_left = ($this->_pageWidth - $this->_width) / 2; break; case 'RIGHTCENTER': $this->_top = ($this->_pageHeight - $this->_height) / 2; $this->_left = $this->_pageWidth - $this->_width; break; case 'LEFTBOTTOM': $this->_top = $this->_pageHeight - $this->_height; $this->_left = 0; break; case 'CENTERBOTTOM': $this->_top = $this->_pageHeight - $this->_height; $this->_left = ($this->_pageWidth - $this->_width) / 2; break; case 'RIGHTBOTTOM': $this->_top = $this->_pageHeight - $this->_height; $this->_left = $this->_pageWidth - $this->_width; break; } } $this->_pdflib = $this->_version(); $addPage = true; if (isset($param['pdf']) && is_resource($param['pdf'])) { $this->_pdf =& $param['pdf']; if (isset($param['add_page']) && $param['add_page'] === false) { $addPage = false; } } else { $this->_pdf = pdf_new(); if (isset($param['filename'])) { pdf_open_file($this->_pdf, $param['filename']); } else { pdf_open_file($this->_pdf, ''); } pdf_set_parameter($this->_pdf, 'warning', 'true'); pdf_set_info($this->_pdf, 'Creator', isset($param['creator']) ? $param['creator'] : 'PEAR::Image_Canvas'); pdf_set_info($this->_pdf, 'Author', isset($param['author']) ? $param['author'] : 'Jesper Veggerby'); pdf_set_info($this->_pdf, 'Title', isset($param['title']) ? $param['title'] : 'Image_Canvas'); } if ($addPage) { pdf_begin_page($this->_pdf, $this->_pageWidth, $this->_pageHeight); } $this->_reset(); }
if ($ltime['minutes']) { $texttime .= " and " . ($ltime['minutes'] + 0) . " minute" . ($ltime['minutes'] ? "s" : ""); } else { $texttime = "exactly {$texttime}"; } // A4 page: 595 x 842 points $radius = 177; $margin = 120; $ring = 40; $header = 20; $footer = 228; $file = tempnam("", "tests") . '.pdf'; $width = 2 * ($radius + $margin); $height = 2 * ($radius + $margin) + $header + $footer; $pdf = pdf_new(); if (!pdf_open_file($pdf, $file)) { echo "error"; exit; } pdf_set_parameter($pdf, "warning", "true"); pdf_set_info($pdf, "Creator", "Phalanger"); pdf_set_info($pdf, "Author", "Uwe Steinmann"); pdf_set_info($pdf, "Title", "Analog Clock"); pdf_begin_page($pdf, $width, $height); function center($s, $y, $size, $fontname = "Times-Roman", $outline = 0) { global $pdf, $font, $width; pdf_set_value($pdf, "textrendering", $outline); $font = pdf_findfont($pdf, $fontname, "iso8859-2"); pdf_setfont($pdf, $font, $size); $w = pdf_stringwidth($pdf, $s);
function create_pdf() { pdf_open_file($this->pdf, $this->get_filename()); }
function _presentation(&$presentation) { global $pres; $_SESSION['selected_display_mode'] = get_class($this); // In PDF mode we loop through all the slides and make a single // big multi-page PDF document. $this->page_number = 0; $this->pdf = pdf_new(); if (!empty($pdfResourceFile)) { pdf_set_parameter($this->pdf, "resourcefile", $pdfResourceFile); } pdf_open_file($this->pdf, null); pdf_set_info($this->pdf, "Author", isset($presentation->speaker) ? $presentation->speaker : "Anonymous"); pdf_set_info($this->pdf, "Title", isset($presentation->title) ? $presentation->title : "No Title"); pdf_set_info($this->pdf, "Creator", "See Author"); pdf_set_info($this->pdf, "Subject", isset($presentation->topic) ? $presentation->topic : ""); while (list($this->slideNum, $slide) = each($presentation->slides)) { // testing hack $slideDir = dirname($this->presentationDir . '/' . $presentation->slides[$this->slideNum]->filename) . '/'; $fn = $this->presentationDir . '/' . $presentation->slides[$this->slideNum]->filename; $fh = fopen($fn, "rb"); $r =& new XML_Slide($fh); $r->setErrorHandling(PEAR_ERROR_DIE, "%s ({$fn})\n"); $r->parse(); $this->objs = $r->getObjects(); $this->my_new_pdf_page($this->pdf, $this->pdf_x, $this->pdf_y, true); $this->pdf_cx = $this->pdf_cy = 0; // Globals that keep our current x,y position while (list($this->coid, $obj) = each($this->objs)) { $obj->display(); } $this->my_new_pdf_end_page($this->pdf); } $this->my_new_pdf_page($this->pdf, $this->pdf_x, $this->pdf_y, true); pdf_set_font($this->pdf, $this->pdf_font, -20, 'winansi'); $fnt = pdf_findfont($this->pdf, $this->pdf_font, 'winansi', 0); $dx = pdf_stringwidth($this->pdf, "Index", $fnt, -20); $x = (int) ($this->pdf_x / 2 - $dx / 2); pdf_set_parameter($this->pdf, "underline", 'true'); pdf_show_xy($this->pdf, "Index", $x, 60); pdf_set_parameter($this->pdf, "underline", 'false'); $this->pdf_cy = pdf_get_value($this->pdf, "texty", null) + 30; $old_cy = $this->pdf_cy; pdf_set_font($this->pdf, $this->pdf_font, -12, 'winansi'); if (is_array($this->page_index)) { foreach ($this->page_index as $pn => $ti) { if ($ti == 'titlepage') { continue; } $ti .= ' '; while (pdf_stringwidth($this->pdf, $ti, $fnt, -12) < $this->pdf_x - $this->pdf_cx * 2.5 - 140) { $ti .= '.'; } pdf_show_xy($this->pdf, $ti, $this->pdf_cx * 2.5, $this->pdf_cy); $dx = pdf_stringwidth($this->pdf, $pn, $fnt, -12); pdf_show_xy($this->pdf, $pn, $this->pdf_x - 2.5 * $this->pdf_cx - $dx, $this->pdf_cy); $this->pdf_cy += 15; if ($this->pdf_cy > $this->pdf_y - 50) { $this->my_new_pdf_end_page($this->pdf); $this->my_new_pdf_page($this->pdf, $this->pdf_x, $this->pdf_y, false); $this->pdf_cy = $old_cy; pdf_set_font($this->pdf, $this->pdf_font, -12, 'winansi'); } } } $this->my_new_pdf_end_page($this->pdf); pdf_close($this->pdf); $data = pdf_get_buffer($this->pdf); header('Content-type: application/pdf'); header('Content-disposition: inline; filename=' . $_SESSION['currentPres'] . '.pdf'); header("Content-length: " . strlen($data)); echo $data; }
<?php // create handle for new PDF document $pdf = pdf_new(); // open a file pdf_open_file($pdf, "philosophy.pdf"); // start a new page (A4) pdf_begin_page($pdf, 595, 842); // get and use a font object $arial = pdf_findfont($pdf, "Arial", "host", 1); pdf_setfont($pdf, $arial, 10); // print text pdf_show_xy($pdf, "There are more things in heaven and earth, Horatio,", 50, 750); pdf_show_xy($pdf, "than are dreamt of in your philosophy", 50, 730); // end page pdf_end_page($pdf); // close and save file pdf_close($pdf);
if ($album == false) { message(__FILE__, __LINE__, 'error', '[b]Error[/b][br]album_id not found in database'); } $query = mysql_query('SELECT image_front, image_back, image_front_width * image_front_height AS front_resolution, album_id FROM bitmap WHERE album_id = "' . mysql_real_escape_string($album_id) . '"'); $bitmap = mysql_fetch_assoc($query); // +------------------------------------------------------------------------+ // | Initialize PDF | // +------------------------------------------------------------------------+ $pdf = pdf_new(); if (pdf_get_value($pdf, 'major', 0) < 5) { pdf_close($pdf); message(__FILE__, __LINE__, 'error', '[b]netjukebox requires PDFlib 5 or later[/b]'); } pdf_open_file($pdf, ''); $font = pdf_load_font($pdf, 'Helvetica', 'host', ''); // winansi, host, iso8859-1, unicode >> unicode and glyph id addressing not supported in PDFlib Lite!!! if (NJB_DEFAULT_CHARSET == 'UTF-8') { pdf_set_parameter($pdf, 'textformat', 'utf8'); } pdf_set_info($pdf, 'Creator', 'netjukebox ' . NJB_VERSION); pdf_set_info($pdf, 'Title', $album['artist'] . ' - ' . $album['album']); $width = 210; // A4 $height = 297; // A4 $scale = 72 / 25.4; // mm to dtp-point (1 point = 1/72 inch; 1 inch = 25.4 mm) $hash_data = pdf_get_value($pdf, 'major', 0) . '-' . pdf_get_value($pdf, 'minor', 0) . '-' . NJB_VERSION; $hash_data .= '-' . $album['artist'] . ' - ' . $album['album'] . '-' . $width . '-' . $height;
<?php if (!extension_loaded('pdf')) { echo 'Este servidor no puede generar PDFs, '; echo 'pero puedes bajar <a href="invoice.pdf">la factura</a> '; echo 'previamente generada por este programa'; exit; } $pdf = pdf_new(); pdf_open_file($pdf); pdf_set_info($pdf, "Author", "Jesús M. Castagnetto"); pdf_set_info($pdf, "Title", "Ejemplo de Factura"); pdf_set_info($pdf, "Creator", "Jesús M. Castagnetto"); pdf_set_info($pdf, "Subject", "Ejemplo de Factura"); $sizes = array('a4' => '595x842', 'letter' => '612x792', 'legal' => '612x1008'); if (!isset($type)) { $type = 'a4'; } list($x, $y) = explode('x', $sizes[$type]); $items = array(array('Un programa simple que hace de todo', '299.99'), array('El programa especial sin el que el anterior no corre', '1899'), array('Una libreria de comunicacion', '29.95'), array('Un programa para bloquear la comunicacion', '49.95'), array('Una libreria que comprime todo a 1 byte', '49.9'), array('Y un programa que permite recuperar lo comprimido a 1 byte', '39999.95')); pdf_begin_page($pdf, $x, $y); $imagepath = realpath('../images/booger.jpg'); $im = pdf_open_jpeg($pdf, $imagepath); pdf_place_image($pdf, $im, 5, $y - 72, 0.5); pdf_close_image($pdf, $im); pdf_set_value($pdf, 'textrendering', 0); // fill pdf_set_font($pdf, "Helvetica", 12, winansi); pdf_show_xy($pdf, 'Micro Snot & L4m3r5 S.R.L.', 145, $y - 20); pdf_continue_text($pdf, '123 Calle del Dolor'); pdf_continue_text($pdf, 'Tacora, Lima 666');
<?php # pdf_example4 # a simple bar graph // create a new pdf document $pdf = pdf_new(); $filename = 'c:pdf_example4.pdf'; pdf_open_file($pdf, $filename); // start a new page (Letter size) pdf_begin_page($pdf, 612, 792); // setup font and print hello world pdf_set_parameter($pdf, 'FontOutline', 'Arial=c:windowsfontsarial.ttf'); $font = pdf_findfont($pdf, "Arial", "host", 1); pdf_setfont($pdf, $font, 16); pdf_show_xy($pdf, "Simple Bar Graph", 50, 720); // draw the x and y axis pdf_moveto($pdf, 50, 690); pdf_lineto($pdf, 50, 520); pdf_lineto($pdf, 400, 520); pdf_stroke($pdf); // draw the bar chart $x = 80; $y = 520; $w = 40; // the data and color for each column $data = array('120', '160', '300', '240'); $color = array('#4EC3BC', '#DAA876', '#E29CC8', '#FDE0C6'); // get into some meat now, cheese for vegetarians; for ($i = 0; $i < count($data); $i++) { // calculate the height of the bar $y_ht = $data[$i] / max($data) * 100;
function fud_pdf($author, $title, $subject, $page_type = 'letter', $hmargin = 15, $wmargin = 15) { $this->pdf = pdf_new(); pdf_open_file($this->pdf, ''); pdf_set_info($this->pdf, 'Author', $author); pdf_set_info($this->pdf, 'Title', $title); pdf_set_info($this->pdf, 'Creator', $author); pdf_set_info($this->pdf, 'Subject', $subject); pdf_set_value($this->pdf, 'compress', 9); switch ($page_type) { case 'A0': $this->pw = 2380; $this->ph = 3368; break; case 'A1': $this->pw = 1684; $this->ph = 2380; break; case 'A2': $this->pw = 1190; $this->ph = 1684; break; case 'A3': $this->pw = 842; $this->ph = 1190; break; case 'A4': $this->pw = 595; $this->ph = 842; break; case 'A5': $this->pw = 421; $this->ph = 595; break; case 'A6': $this->pw = 297; $this->ph = 421; break; case 'B5': $this->pw = 501; $this->ph = 709; break; case 'letter': default: $this->pw = 612; $this->ph = 792; break; case 'legal': $this->pw = 612; $this->ph = 1008; break; case 'ledger': $this->pw = 1224; $this->ph = 792; break; } $this->hmargin = $hmargin; $this->wmargin = $wmargin; $fonts = array('Courier', 'Courier-Bold', 'Helvetica-Bold', 'Helvetica'); foreach ($fonts as $f) { $this->fonts[$f] = pdf_findfont($this->pdf, $f, 'host', false); } }
<?php // create short variable names $name = $_POST['name']; $score = $_POST['score']; if (!$name || !$score) { echo "<h1>Error:</h1>\n <p>This page was called incorrectly</p>"; } else { $date = date('F d, Y'); // create a pdf document in memory $pdf = pdf_new(); pdf_open_file($pdf, ""); // set up name of font for later use $fontname = 'Times-Roman'; // set up the page size in points and create page // US letter is 11" x 8.5" and there are approximately 72 points per inch $width = 11 * 72; $height = 8.5 * 72; pdf_begin_page($pdf, $width, $height); // draw our borders $inset = 20; // space between border and page edge $border = 10; // width of main border line $inner = 2; // gap within the border //draw outer border pdf_rect($pdf, $inset - $inner, $inset - $inner, $width - 2 * ($inset - $inner), $height - 2 * ($inset - $inner)); pdf_stroke($pdf); //draw main border $border points wide pdf_setlinewidth($pdf, $border);
<?php $svr = $_SERVER["PATH_TRANSLATED"]; $path_parts = pathinfo($svr); $str_current_path = $path_parts["dirname"]; $i_top = 750; $i_left = 50; $i_offset = 200; $str_pdf_name = "invoice.pdf"; $pdf = pdf_new(); pdf_open_file($pdf, "{$str_current_path}/Temp_doc/{$str_pdf_name}"); pdf_set_info($pdf, "Author", "etelegate"); pdf_set_info($pdf, "Title", "Invoice Form"); pdf_set_info($pdf, "Creator", "etelegate"); pdf_set_info($pdf, "Subject", "Invoice"); pdf_begin_page($pdf, 595, 842); //pdf_add_outline($pdf, "Page 5"); $font = pdf_findfont($pdf, "Verdana", "winansi", 1); pdf_setfont($pdf, $font, 12); //pdf_set_value($pdf, "textrendering", 1); $jpeg_image = pdf_open_image_file($pdf, "jpeg", "images/logo2os.jpg"); pdf_place_image($pdf, $jpeg_image, 200, $i_top, 1.0); pdf_close_image($pdf, $jpeg_image); /*$jpeg_image = pdf_open_image_file($pdf, "jpeg", "images/top1.jpg"); pdf_place_image($pdf, $jpeg_image, 300, $i_top+20, 0.5); pdf_close_image($pdf, $jpeg_image); $jpeg_image = pdf_open_image_file($pdf, "jpeg", "images/top4.jpg"); pdf_place_image($pdf, $jpeg_image, 301, $i_top-10, 0.5); pdf_close_image($pdf, $jpeg_image);*/ $i_top -= 50; pdf_show_xy($pdf, "Company Name", $i_left, $i_top);