Creating PDF's using PHP - php

What I am wanting to do is create a PDF ideally from HTML code. I found a class called dompdf but I'm having issues with font and page breaks.
Does anyone know of another script or even a better way in general to generate PDF files?
The reason why I am converting HTML to PDF is because I want someone to use a WYSIWYG editor to create the contents and click save to generate their PDF file...
Any input would be greatly apprecaited

Due to the different nature of PDF and HTML you'll always have to make a few comprimises when trying to convert HTML into PDF.
If this doesn't bother you too much, I'd get started with TCPDF. Its easy to use and has a fairly good grasp of colors, sizes and some other style related HTML attributes.

i use this class TCPDF :
http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf

If you don't mind a bit of work then you can use Cairo to generate PDFs.

You can take a look at html2fpdf. It can accept very basic html and css.

Related

php - generate pdf with html table and save it on file server

I am working with a tool which lets user upload a .csv file.
That csv file contains an address column. I have to use the address from each row in another HTML template. That HTML template is like this
. After creating that template I then need to convert it into a PDF, store the PDF on a file server and give the user a link to the PDF.
I've finished the first two steps - csv upload and created complete template with address, but I'm stuck on how I can convert a template into a PDF.
I have looked into a few php-pdf libraries like fpdf mpdf. I'm facing a problem in creating pdf with html template.
A link to a library wich convert HTML to PDF and works pretty well.
First the link to the library
HTML2PDF
Then some code* to create your PDF using your own generated HTML, where $content is your HTML string.
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->WriteHTML($content);
$html2pdf->Output('exemple.pdf');
*Code taken from the "example page" of the site.
I have used tcpdf in many cases, https://tcpdf.org/
Works well with tables, I have made receipts and accounting related stuff with it. Handle UTF-8 without problems, why it's my way to go.
Only downside is that code is bit long and complicated and it doesn't keep tables as tables in pdf and turns them to divs, so paddings and other styles might be bit trickier to do.
One way is to use webkit based HTML to PDF converter.
Pros are that it is easy to customize and style and to see in the browser how it will look and then you can be sure that it will look as same in PDF as well. You could use CSS and JavaScript as well to style and modify.
Cons are that it is hard to install it on the production server sometimes. But there are web services and APIs that get you covered.
For example one service is https://pdfapi.io. It is free to use. Only when your amounts get bigger, then it will charge like a cup of coffee.
Hope that helps.

Codeigniter View to PDF

I have used DOMpdf, mpdf, tcpdf and is not succeeded with the output.
I am putting here everything I have tried, including HTML.
OUTPUT PREVIEW :
Direct View File: http://jsfiddle.net/QdhdW/
DOMpdf and mPDF Output: https://www.box.com/s/f7cb2283d196db530702
ISSUES :
DOM pdf :
Bad looking CSS (and not exact as per required)
leaves 6-7 page
brakes in pdf the records are out of page then doesn't come to next page
mPDF :
makes output as small as possible, so that all records are covered in one page. (doesn't good as it is for A4 Page)
The Borders between each rows. (in HTML there is no borders between the rows.)
I don't mind using any pdf generator library and even if we change CSS
or make CSS inline, doesn't matter. The thing is I am seeking the PDF
output same as displayed in view File.
Please Help me, to figure it out. Struggling since yesterday.
Take a look at wkhtmltopdf it's a shell utility to convert html to pdf using the webkit rendering engine, and qt.
This will give you a much better result than the others as it's not trying to parse the html/css in php.
Finally I got it Solved.
Thanx to everyone for trying.
Solved it in DOM Pdf only, via changing the CSS.
Edited:
Make it worked through this
http://code.google.com/p/dompdf/issues/detail?id=507
If anyone else is having issue.
PhantomJS uses the webkit renderer and can output to PDF.
http://code.google.com/p/phantomjs/wiki/QuickStart
pdfcrowd is a web service for converting HTML to PDF.

Dynamic PDF generation

this is what i'm trying to do. I have a Student Result Application in
which i'll like to print out a pdf format of a specially designed
Result's Sheet..
http://www.4shared.com/photo/yg8vCjYe/results_layout.html
My question is that is it possible to send all the html, css and php
variables from the final result sheet to the pdf engine, or just
design a new page result_printout.php page and implement the
pdf engine on that page.
I'll be happy your honest opinions
thanks for you help
honestly, i haven't done this before,
but i think this should help:
http://www.rustyparts.com/pdf.php
Since you allready have the HTML I would suggest to use wkhtmltopdf. There also some wrappers for PHP. It's allways a bit tricky to get it all work in the right way, especially with pagebreaks.
But I find it usually more easy to use then all the other PHP PDF creation classes/libraries.
I have only worked with MPDF and you can pretty much send all the html, css and php variables to the pdf enginge and tell the engine to either force a download or send it to the browser where the user can either save the file or print or just view it. You can also email the generated pdf.
You can read the documentation here: http://mpdf1.com/manual/

PHP to Mesh 2 PDF'S Together or not?

I have an already pre-designed PDF, and I would like to fill the PDF with some database information. So I'm curious if I should save the PDF into JPG's and render them out with the data on top of the image and re-create a PDF.
Or is there a way to use the PDF already, and print data into the PDF that is already made?
I am trying to figure out the best solution to generating this type of PDF.
All thoughts would be greatly appreciated!
You can read about PHP's PDF library here: http://php.net/manual/book.pdf.php
PHP also recommends these alternatives:
http://www.fpdf.org/
http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf
http://php.net/manual/book.haru.php
PDF files support the use of interactive form fields, so the best method for adding information to a PDF from a database, is add form fields to your database and find a library that let's you fill out PDF forms programatically.
Rendering a PDF to an image just to write information on it and then converting it back to a PDF would mean that no text was selectable in the new PDF unless you OCR'd it, which isn't the most optimal way to do it.
After a bit more digging, I was able to use Zend PDF within the framework to update the PDF quite easily. It was my first time using the Zend Framework, and found it quite useful. I suggest anyone trying to manipulate PDF's use Zend.
Just my .02 though. I appreciate your pointers though that were given.

How do I replace outbound link URLs in a PDF document, using PHP

I have a PDF document with some external links.
I'd like to parse the document, replace the destination of the links then close (and serve) the PDF document, all using PHP
I know I can do this with PDFLib but I don't want to incur this cost.
I could re-write the document with FPDF or DomPDF, but some of these PDFs are quite complex so this would be a major time investment.
Surely there must be a way to do this directly to PDF docs, using native PHP?
TIA
I don't think there is a text/hyperlink changer class for PHP. The closest products, like pdftk, only does higher-level stuff like merging, splitting and applying watermarks.
Changing a pdf is much more difficult than generating it, so you need to use a pdf editor like Nitro PDF (untested), or why not Acrobat/Illustrator/InDesign.
If you must use PHP, regenerating the PDF:s with one of the free classes seems to be your best choice. I like FPDF very much, it gets my recommendation. If you decide to use it, check out FPDI as well, it can use existing PDF files as a template, maybe it will help you. Good luck!

Categories