I am newbie to php.
I have developed small application in PHP. Now I have few label controls in one webpage inside form. that i want to save in pdf. Is there any tool like itextsharp (In ASp.net), where I can export one panel or form to pdf. (By rendering)
I checked fpdf and other. In that we can print text. My label data is coming from MYSQL.
Any suggestion.
I suggest mpdf. I'ts very simple, you can create your html as string and render it as pdf.
require_once("mpdf/mpdf.php");
$html = "<p>Hello World</p>";
$mpdf = new mPDF('c', 'A4');
$mpdf->WriteHTML($html);
print $mpdf->Output();
Related
I'm using mPDF to export a large table to a PDF. As I've read online, I need to break my HTML content into chunks and pass them to WriteHTML method one by one.
But looks like my bootstrap CSS is not getting exported when I do this. My table borders are not visible. No paddings...etc.
How can I achieve both these tasks?
This is my code:
$content_chunks = str_split($content, 1000);
$pdf = new Pdf();
$mpdf = $pdf->api; // fetches mpdf api
$mpdf->SetHTMLHeader(static::buildHeader());
$mpdf->SetHTMLFooter('Generated On: ' . date("r").'||{PAGENO}');
foreach($content_chunks as $html)
{
$mpdf->WriteHTML($html);
}
return $mpdf->Output($file_name,'D');
This is what the official docs say about breaking large HTML into chunks. But I can't find any information with related to exporting bootstrap css.
I am using open cart. I am generating a PDF file using TCPDF. I load my html from a tpl file, which has form with dynamic data. here is my code
$pdf = new TCPDF()
$pdf->AddPage('P');
$html = $this->render();
$pdf->writeHTML($html);
$pdf->Output();
Its showing me output but its breaking the result.
I have five parts in my form but its just showing me first two why is this so.
Plus my css is not working well.
i am using codeigniter i am working on invoice and i want to print a PDF file of my invoice page here is my controller.
$pdfFilePath ='invoice.pdf';
$data=$this->singleinvoice($invoiceId);
ini_set('memory_limit','32M');
$html = $this->load->view('invoice/invoicetopdf', $data, true);
$this->load->library('pdf');
$pdf = $this->pdf->load();
$pdf->SetFooter($_SERVER['HTTP_HOST'].'|{PAGENO}|'.date(DATE_RFC822));
$pdf->WriteHTML($html);
$pdf->Output($pdfFilePath, 'D');
redirect("invoice");
when i echo $html veriable is show fine but when it output the pdf .it has no css styling i mean it convert the HTML without any of my css Style.
i also tried the following but no luck.
$style=file_get_contents(base_url().'_assets/css/bootstrap.css');
$pdf->WriteHTML($style,1);
$pdf->Output($pdfFilePath, 'D');
Now i want to convert my HTML page to PDF as it is shown to the public with complete styling and markups.
does it possible any suggestion or solution ?
you have to convert your Page Structure from DIV to Traditional Table structure.
arrange your elements contents etc.into table or tables.
then try some basic CSS.
because most of CSS are not supported in mpdf or any other pdf converter.
Click here
to know what(CSS) is supported and what is not in mpdf.
This is the code for index which will export what ever is in page under HTML varialbe:
<?php
require('fpdf/fpdf.php');
$html = 'kkjkjkjkjjkj';
$pdf = new FPDF();
$pdf->AliasNbPages($html);
$pdf->AddPage($html);
$pdf->SetFont('Times','',12);
$pdf->Output();
?>
Here it's exporting it to PDF but here how I can let the $html to get export to PDF using FPDF
<?php
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>
1) Have a look at the Manual and Tutorial sections of the FPDF website
There are a lot of simple examples to take a look at.
2) You can't send html code with the AddPage() function. It should be orientation ("P" or "L") and size (like "A4") (see their documentation here)
3) It is not possible to just insert html into FPDF. You have to cut it up into text, links, images, tables and build the PDF content up just as you build up the HTML. There are some script that do support html input, but even those make mistakes now and then. My advise: instead of creating/building/compiling HTML, generate FPDF elements.
This example clearly exports a (simple) $html variable to a PDF
http://fpdf.org/en/tutorial/tuto6.htm
It is not possible to directly write HTML to a PDF using FPDF - you would have to separate the data into strings, set formatting to them, etc - basically, you will not be dealing with HTML anymore.
However, if you are not limited to FPDF, I would suggest looking into wkhtmltopdf, which can take HTML as an input, and render it to PDF using Webkit rendering engine. It can even take a remote URL and convert it to a PDF on your server.
A client of mine has a food blog hosted on WordPress. Each post entry contains some text and a div called "recipes" with some more text inside it. They would like to add to this div a link that generates a PDF of the recipe, dynamically, for saving or printing, as the user sees fit.
I have seen quite a few Wordpress plugins that offer the conversion of entire posts to PDF but not anything that's customizable enough to select a given portion of a post, the way we'd like to.
Any suggestions on how to do this? I'm comfortable with PHP, Javascript, CSS but am new to the various PDF libraries.
Take a look at dompdf It's pretty easy to work with :) This is from the documentation:
<?php
require_once("dompdf_config.inc.php");
$html =
'<html><body>'.
'<p>Put your html here, or generate it with your favourite '.
'templating system.</p>'.
'</body></html>';
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("sample.pdf");
If you need more control than dompdf you could always use PHP's XML/XSL methods to convert the HTML to XSL:FO and use FOP on the commandline to generate the PDF. It's a little long-winded but you get complete control of the output styling/structure, the ability to "lock" the PDF, provide metadata, etc.