Mastering PDF with PHP
Minimum price
Suggested price

Mastering PDF with PHP

Create, read and edit PDF files in your PHP applications

About the Book

Welcome to the world of dynamically built PDF documents!

In today's web applications, the Portable Document Format is commonly used to send invoices, reports, tickets, e-books, and many other files. Chances are that you are already working on a project that requires processing PDF files.

With this book, you'll save a lot of time by knowing the most popular tools on the market, their features, and their drawbacks. You'll avoid wasting weeks comparing and hacking a multitude of solutions. This is your guide to achieving great results faster!

My book is not tied to any particular framework, however we might use some components. Users of all frameworks are welcome here, just like people who code plain PHP.

This is a work in progress. I will add more details about every HTML to PDF conversion tool that I know. I will cover advanced features like annotations, certificates, tagging, and so on.

If you buy this book now, you'll get free lifetime updates!

About the Author

Piotr Horzycki
Piotr Horzycki

I'm a software developer mostly with a PHP and Java background. I started my professional career in 2008, just before a global economic crisis hit. I survived and then learnt a lot about different industries I worked for: media, advertising, education and finance.

I'm running a blog about fintech, security and PDF processing. I give talks at meetups and conferences, including International PHP Conference in Munich. My article about MoneyPHP has been published in the php[architect] magazine. I have a few contributions to the mPDF library.

Table of Contents

  • Introduction
    • Who is this book for?
    • How to read this book?
    • About the author
  • What is Portable Document Format for?
    • Quick look at the history
    • Main features
    • Which version to use?
    • Differences between HTML and PDF
    • Is PDF a right choice for me?
  • The structure of a PDF file
    • Main goals
    • Four parts of a file
    • Write your own PDF in Notepad
    • Adding metadata
    • Compression
    • Summary
  • An example document: an invoice
    • An example invoice
    • Basic HTML structure
    • Body structure
    • Creating a stylesheet
    • Validating document syntax
    • Summary
  • Choosing a tool to generate PDF files
    • Two ways to create a PDF file
    • Native PHP libraries
    • External conversion tools
    • Summary
  • Presenting a document to a user
    • Displaying a PDF in a frame
    • Browser window
    • Downloading a PDF
    • More about filenames
    • Sending a PDF over email
    • Saving a file
    • Display preferences
    • Summary
  • Understanding fonts
    • How fonts work?
    • Font file formats in the PDF
    • Picking a proper font
    • Selecting a font in CSS
    • Text transformations
    • ANSI or Mac versus Unicode
    • Summary
  • Encryption
    • Choosing the cipher
    • User permissions
    • Encryption with TCPDF
    • Encryption with mPDF
    • Encryption with Dompdf
    • Encryption with FPDF
    • Encrypting an existing file with command line tools
    • Summary
  • Calling external programs from a PHP script
    • Input, output and exit codes
    • Basic execution from a PHP script
    • Escaping arguments
    • Opening and controlling a process
    • The most convenient solution: The Process Component
    • Reporting progress of time-consuming tasks
    • Queueing tasks
    • Summary
  • Styling pages with CSS
    • Page dimensions and margins
    • Adjusting individual pages
    • Page-margin boxes and generated content
    • Bleed area and crop marks
    • Controlling page breaks
    • Media queries
    • Summary
  • Reading and testing PDF files
    • Metadata and text extraction
    • Taking a screenshot
    • Summary
  • Editing PDF files
    • Importing a document to FPDF or TCPDF
    • The PDF Toolkit
    • Manipulating files with pdfjam
    • Summary
  • Notes

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub