Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The code snippet example will generate a simple pdf from allow you to create a PDF file from HTML code that you pass to the PDF service. You will then be returned either a download link, or optionally the PDF file contents in the API response.

Code Snippet Example:


Code Block
languagephp
themeRDark
titleBuild PDF
//toImport import the pdf service classes
$t->runInteraction("Pdf.class.php");
//import config class which contains keys
$t->runInteraction("Config.class.php");

//setSet header/footer keys, footer, and page content HTML Code
//HTML5 and CSS3 is supported
$header_html="{_BLINK_PAGE_NO_}/{_BLINK_PAGES_}<br><hr>";
$footer_html = "<hr><br>{_BLINK_PAGE_NO_}/{_BLINK_PAGES_}";
$body = "<table><td>PDF Example: " . date("c") . "</td></tr></table>";

$content = array(
   "page" => array(
       "orientation" => "Portrait",
       "size" => "A4",
       "margins" => array(
           "top" => "5mm",
           "right" => "1cm",
           "bottom" => "5mm",
           "left" => "1cm"
       )
   ),
   "header" => array(
       "height" => "1in",
       "html" => $header_html
   ),
   "footer" => array(
       "height" => "1in",
       "html" => $footer_thmlhtml
   ),
   "body" => array(
       "html" => $body
   )
);


echo "About to build<BR>";

//create object
//Call the PDF Service
$pdf = new PDFBuilder(Config::$PDF);
//build pdf, if base64 is required
$result = $pdf->build($content);

echo "<pre>";
print_r($result);
echo "</pre>";

/*
 try {
print_r($result);
 } catch (Exception $e) {
      print_r($result);
 }
*/

//Following code sends an email to your email address with pdf as attachment
$t->addStringAttachment(file_get_contents($result["url"]), "Report.pdf", "base64");
$from = "bmp@blinkmobile.com.au";
$to = "YOUR ADDRESS EMAIL";
$subject = "[BlinkMobile] PDF Demo";
$body
=
"PDF
Attached.";
$t->email($to, $subject, $body, $from);

return "Done<BR>";


/**
* $result = array(
*  "id" => "<UNIQUE OBJECT ID>",
*  "url" => "http://url.to.pdf/valid.for.3.minutes",
*  "content" => "base64 pdf content"
* );
**/

 

Explanation:

The first two "runInteraction" lines will simply "include" the class files you already uploaded. Make sure your have used the correct interaction names. You will need to put both of these lines on any page, or interaction, that you will be calling the class.

In the code example above, the following functions are used.

...

See more information on $t->email

$header_html (array)

The header array can contain any HTML code or CSS styling you want in the header section of your PDF document.

...

headerAn array containing your header styling and html code 
 

height : (array) use the same parameters as page:margin

 "height" => "1in" (default)
 

html : (string) containing your header html code

  "html" => $header_html


$footer_html (array)

The footer array can contain any HTML code or CSS styling you want in the footer section of your PDF document.

...

footerAn array containing your header styling and html code 
 

height : (array) use the same parameters as page:margin

 "height" => "1in" (default)
 

html : (string) containing your footer html code

 "html" => $footer_thml


$body (array)

The body array can contain any HTML code or CSS styling you want in the body of your PDF document.

bodyAn array containing your header styling and html code 
 

html : (string) containing your footer html code

     "html" => $body

$content (array)

The content array contains tall the parameters required to produce a PDF document.

...

pageAn array containing the following parameters 
 orientation : (string) page orientation.
  • P  or portrait (default).
  • L  or landscape

 

size : (string) page size

 

  • A3

  • A4 (default)

  • A5

  • Legal

  • Letter

  • Tabloid

 margins :  (array) for top, right, bottom and left margins (case sensitive)
  • "top": "5mm"
  • "right": "1cm"
  • "bottom": "5mm"
  • "left": "1cm"
 

margin-units - (string) User measure unit. Possible values are:


  • px: pixels (default)

  • mm: millimeter

  • cm: centimeter

  • in: inch
 header : an array containing the $header arraySee above
 footer : an array containing the $footer arraySee above
 body : an array containing the $body arraySee above

 

Blink Constants - (string) for page number and number of pages (only works in header and footer

...