Convert html to pdf using tcpdf in php

Convert html to pdf using tcpdf in php

Download tcpdf and include require file.

include (‘tcpdf/tcpdf.php’);

Extend default class of tcpdf If you want edit or modify pdf

class MYPDF extends TCPDF {
//Page header
public function Header() {
$headerData = $this->getHeaderData();
$this->SetFont(‘helvetica’, ‘B’, 10);
$this->writeHTML($headerData[‘string’]);
}
}

$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, ‘UTF-8’, false); //Default for UTF-8 unicode
//$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, false, ‘ISO-8859-1′, false); // set unicode to ISO-8859-1 so special chars like æ, ø, å will work.
$pdf->SetCreator(PDF_CREATOR);
// set default header data
$pdf->setHeaderData($ln=”, $lw=0, $ht=”, $hs='<table id=”head” cellpadding=”1″ cellspacing=”1″ style=”text-align:center;”><tr><td>All Category Report</td></tr></table>’, $tc=array(0,0,0), $lc=array(0,0,0));
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, ”, PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, ”, PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set document information
$pdf->AddPage();

Create table structure html and apply css in style.

$html ='<style>
th{border:0.5px solid #C0C0C0;background-color:rgb(44,126,193); font-size: 9pt;text-align: center;color:#FFFFFF;font-weight:bold;}
td{ vertical-align: middle;padding-top:5px;border:0.5px solid #C0C0C0;padding:5pt;color:#000000;background-color:#FFFFFF;font-size: 8pt;text-align: center;}
</style>
<table>
<thead>
<tr nobr=”true”><th>Id</th><th>Name</th></tr>
</thead><tbody>
<tr nobr=”true”>
<td>1</td>
<td>Senta</td>
</tr>
</tbody>
</table>’;

Finally write html to pdf to store in this folder create new pdf folder

$pdf->writeHTML($html, true, false, false, false, ”);
$pdf->lastPage();
ob_end_clean();
$fname = ‘test-‘.date(“d-m-Y-H-i-s”).’.pdf’; // filename test
$pdf->output(dirname(dirname(__FILE__)).”/pdf/test-“.date(“d-m-Y-H-i-s”).’.pdf’, ‘I’); // pdf view
//$pdf->Output(dirname(dirname(__FILE__)).”/pdf/test-“.date(“d-m-Y-H-i-s”).’.pdf’,’F’); // save in pdf folder

Make sure All content of code under <?php ?> tag and remove whitespace before closing tag of php.

Html to convert pdf save in to folder and Mail

Html to convert pdf save in to folder and Mail

Here Example of html table structure to convert to pdf using jspdf.

<table id= “xyz”><thead><tr><th>id</th></tr></thead>
<tbody><tr><td>1</td></tbody></table>

You can add style tag inline and give css to it.

Thereafter Include require Js file

https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
http://html2canvas.js
http://from_html.js
http://jspdf.plugin.autotable.js

var doc = new jsPDF(‘l’, ‘pt’, ‘a4’);
var specialElementHandlers = {
‘#xyz’: function(element, renderer){
return true;
}};
var table = document.getElementById(“xyz”);
var res = doc.autoTableHtmlToJson(table, true);
doc.autoTable(res.columns, res.data, {
startY: 60,
tableWidth: ‘auto’,
columnWidth: ‘auto’,
styles: {
overflow: ‘linebreak’
},
beforePageContent: function(data) {
doc.text(“New Pdf”, 40, 30);}
});
var pdf =doc.output(); //returns raw body of resulting PDF returned as a string as per the plugin documentation.
var data = new FormData();
data.append(“data” , pdf);
var xhr = new XMLHttpRequest();
xhr.open( ‘post’, ‘test.php’, true ); //Post to php Script to save to server
xhr.send(data);

After That Create new php file to post data on it and using phpmailer you can attached and mail. eg:test.php

<?php
require_once “../../PHPMailer/class.phpmailer.php”; // Download phpmailer
if(!empty($_POST[‘data’])){
$data = $_POST[‘data’];
$fname = ‘newpdf-‘.date(‘d-m-Y’).’.pdf’; // name the file
$file = fopen(“../pdf/” .$fname, ‘w’); // open the file path
fwrite($file, $data); //save data
fclose($file);
$bodytext = ‘Please Find PDF’;
$email = new PHPMailer();
$email->From = ‘xxx@xyz.com’;
$email->FromName = ‘My first pdf’;
$email->Subject = $file;
$email->Body = $bodytext;
$email->AddAddress( ‘xyz@abc.com’ );
//$email->AddAddress(‘person2@domain.com’, ‘Person Two’);
//$file_to_attach = $_SERVER[‘DOCUMENT_ROOT’].’/front/pdf’;
$email->AddAttachment(‘../pdf/’.$fname );

return $email->Send();
} else {
echo “No Data Sent”;
}
?>

How To Use Cache In Magento

In this section we will see how to use cache in our custom modules. Suppose you have a custom module and wanted to save some data in magento cache, lets see how to do it.

Saving Data To Cache

$data = array(1,2,3,4); //any data which you want to save to cache $id = 'my_mod_id'; //unique id for your cache data $tags = array('collection'); //cache tags will be explain later in detail $lifetime = false; //false means infinity, or you can specify number of seconds $priority = 8; // number between 0-9, used by few backend cache models Mage::app()->saveCache($data,$id,$tags,$lifetime,$priority); Retrieving Data Mage::app()->loadCache($id);

Deleting Cache Mage::app()->removeCache($id);

Checking If Cache Is Enabled Mage::app()->useCache('collection'); //check if cache group is enabled or not

above are some basic caching function we can use in magento.

Custom Sending emails in magento

you can put this script in controller or any event of user

<?php

$email_to = 'xyz@gmail.com';

$receiveName = 'xyz';

$vars = data of user

$template_id = "New email"; //Name of email template
$email_template = Mage::getModel('core/email_template')->loadByCode($template_id);  //load templa
$email_template->setSenderName(Mage::getStoreConfig('trans_email/ident_sales/name'));
$email_template->setSenderEmail(Mage::getStoreConfig('trans_email/ident_support/email'));

$email_template->send($email_to,$receiveName, $vars);

 

?>

WordPress function and its use

<?php bloginfo(‘name’); ?> – Title of the Blog, or Blog Name

<?php wp_title(); ?> – Title of a Specific Page

<?php bloginfo(‘url’); ?> – Exact URL for the Site

<?php bloginfo(‘description’); ?> – Site’s Description

<?php bloginfo(‘template_url’); ?> – Location of Site’s Theme File

<?php bloginfo(‘stylesheet_url’); ?> – Link to the Style.css location

<?php bloginfo(‘rss2_url’); ?> – RSS Feed URL for the Site

<?php bloginfo(‘pingback_url’); ?> – Pingback URL for the site

<?php bloginfo(‘version’); ?> – WordPress Version Number

<?php get_header(); ?> – Displays Header.php file content

<?php get_footer(); ?> – Displays Footer.php file content

<?php get_sidebar(); ?> – Displays Sidebar.php file content

<?php comments_template(); ?> – Displays Comment.php file content

<?php the_content(); ?> – Displays the Content of the Post

<?php the_excerpt(); ?> – Displays the excerpt that is used in Posts

<?php the_title(); ?> – Title of the Specific Post

<?php the_permalink() ?> – Link of the Specific Post

<?php the_category(‘, ‘) ?> – Category of a Specific Post

<?php the_author(); ?> – Author of the Specific Post

<?php the_ID(); ?> – ID of a Specific Post

<?php edit_post_link(); ?> – Edit link for a Post

<?php next_post_link(‘ %link ‘) ?> – URL of the Next Page

<?php previous_post_link(‘%link’) ?> – URL of the Previous Page

<?php get_links_list(); ?> – Lists all links in Blogroll

<?php wp_list_pages(); ?> – Lists all Pages

<?php wp_get_archives() ?> – List Archive for the Site

<?php wp_list_cats(); ?> – Lists all Categories

<?php get_calendar(); ?> – Displays the Built in Calendar

<?php wp_register(); ?> – Displays Register Link

<?php wp_loginout(); ?> – Displays Login/Logout Link only to Registered Users

Get Product Image based on its Position – Magento

You might have seen website where the product images changes when you move mouse on it. In this tutorial i’ll show you how to do it with Magento.

You need to create a small module to achieve this. We will add this function in the helper file of the module so it can be called globally anywhere using helper function.

If you are not familiar with module creation i’ll list the steps below:

Step 1: Create a file in “app/etc/modules” named “Greeting_Imagealt.xml”. The content of the file will be.

<?xml version="1.0"?>
<config>
<modules>
<Greeting_Imagealt>
<active>true</active>
<codePool>local</codePool>
</Greeting_Imagealt>
</modules>
</config>

Continue reading

How to call webservice in php?

I have called web services in php by using curl function. In below I have given  one example.  I have sent XML Request by using curl function.Because My web services return data on XML Format.

$xml_data = ''; //pass parameter using XML request provide By webservices
$postData = array(     // You can pass parameter using Array and pass in postfields.

    'authId'=>'',
    'siteId'=>'',
    'countryId'=>'',
    'regionId'=>'',
	'weekType'=>'',
	'startDate'=>''
);

$URL = "http://www.yourwebservices.com/";

$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "$xml_data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);

Continue reading