Versions Compared

Key

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

The code snippet example will generate a simple pdf from the PDF service.

Code Snippet Example:

 

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

//set header/footer keys
$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_thml
   ),
   "body" => array(
       "html" => $body
   )
);


echo "About to build<BR>";

//create object
$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.

...

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

Code Block
languagejs
titleDefault Page Parametres
 "page": {
    "orientation": "P",
    "size": "A4",
    "margins": {
      "top": "5mm",
      "right": "1cm",
      "bottom": "5mm",
      "left": "1cm"
    }
pageAn array containing the following parameters 
 orientation : (string) page orientation.
  • P  or portrait (default).
  • L  or landscape

 

size : (string) page size

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


  • Header parameters

 

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 parameters

...

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 parameters

 

footerbodyAn 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

...