TCPDF Creator & Producer

Understanding PDF metadata that shows TCPDF as the Creator or Producer — learn how this powerful open-source PHP class generates feature-rich PDF documents with Unicode, barcodes, digital signatures, and more.

🆓 Open Source (LGPL) 🐘 PHP Class 📅 Since 2002

📄 About This PDF Metadata

When you examine a PDF file's properties and see TCPDF [version] (http://www.tcpdf.org) as the Producer, it indicates that the document was generated using TCPDF — one of the most feature-rich open-source PHP libraries for PDF creation.

Sample PDF Metadata from TCPDF:

Title: Sales Report Q4 2024

Author: Finance Department

Creator: Enterprise Report System

Producer: TCPDF 6.10.1 (http://www.tcpdf.org)

Creation Date: 2025-01-27 14:30:00

PDF Version: 1.7

By default, TCPDF sets the Producer field to "TCPDF [version] (http://www.tcpdf.org)" automatically. This value is hardcoded and intended to remain unchanged for tracking and debugging purposes. The Creator field can be customized using SetCreator().

PDF Creator

Set with SetCreator() — shows the application name that generated the PDF (e.g., "Invoice System", "Report Generator").

PDF Producer

Automatically set to TCPDF [version] (http://www.tcpdf.org) — identifies TCPDF as the underlying PDF engine.

📚 What is TCPDF?

TCPDF is a free and open-source PHP class library for generating PDF documents on-the-fly without requiring external extensions. Created by Nicola Asuni of Tecnick.com LTD, development began on August 3, 2002. It has evolved into one of the world's most active open-source PHP PDF projects, used by millions of users daily and integrated into thousands of CMS and web applications.

Library Information

Author:Nicola Asuni
Company:Tecnick.com LTD
Development Started:August 3, 2002
Current Version:6.10.1 (Nov 2025)
Website:tcpdf.org

Technical Details

License:GNU LGPL v3
Language:PHP
Dependencies:None (basic functions)
GitHub:tecnickcom/TCPDF
Composer:tecnickcom/tcpdf

Why TCPDF?

🌍

Full Unicode Support

UTF-8, RTL languages, bidirectional text, CJK support

📊

1D & 2D Barcodes

QR codes, DataMatrix, PDF417, EAN, UPC, CODE 128, and more

🔐

Security Features

256-bit encryption, digital signatures, PDF/A-1b compliance

💡 TCPDF vs FPDF

TCPDF was originally based on FPDF but has been significantly extended with advanced features. While FPDF is lightweight and simple, TCPDF offers Unicode, HTML/CSS support, barcodes, digital signatures, and much more — making it suitable for enterprise-grade PDF generation.

⚙️ How TCPDF Creates PDFs

TCPDF generates PDF documents directly in PHP without requiring external libraries:

PDF Generation Workflow:

1

Initialize

new TCPDF()

2

Configure

Metadata, fonts, margins

3

Add Content

Text, HTML, images, barcodes

4

Output

File, browser, email

✨ Key Features

📝 Text & Typography

  • UTF-8 Unicode and RTL languages
  • TrueType, OpenType, Type1, CID-0 fonts
  • Font subsetting (reduce file size)
  • Text hyphenation, stretching, kerning
  • Multiple columns mode

🌐 HTML & CSS

  • XHTML + CSS code rendering
  • JavaScript support
  • PDF forms (interactive)
  • Annotations, links, file attachments
  • Table of contents with bookmarks

📊 Barcodes

  • 1D: CODE 39, CODE 93, CODE 128, EAN-8, EAN-13, UPC-A, UPC-E, POSTNET, CODABAR
  • 2D: QR Code, DataMatrix ECC200, PDF417
  • Custom colors and sizes

🖼️ Images & Graphics

  • JPEG, PNG, SVG native support
  • GD and ImageMagick integration
  • Geometric shapes, transformations
  • ICC color profiles, CMYK, spot colors
  • Transparencies and layers

🔐 Security

  • Document encryption (up to 256-bit)
  • Digital signature certifications
  • PDF/A-1b (ISO 19005-1:2005) support
  • Permission controls

📄 Document Features

  • All standard page formats + custom
  • Automatic headers and footers
  • Page compression (zlib)
  • XObject templates
  • Move and delete pages

📤 How to Use TCPDF

TCPDF is easy to install via Composer or manual download:

Installation:

# Using Composer (recommended)

composer require tecnickcom/tcpdf

# Or download from GitHub

git clone https://github.com/tecnickcom/TCPDF.git

Basic Example with Metadata:

<?php

require_once('vendor/autoload.php');

 

// Create new PDF document

$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8');

 

// Set document metadata

$pdf->SetCreator('My Application');

$pdf->SetAuthor('John Doe');

$pdf->SetTitle('Sample Document');

$pdf->SetSubject('TCPDF Tutorial');

$pdf->SetKeywords('TCPDF, PDF, PHP');

 

// Remove default header/footer

$pdf->setPrintHeader(false);

$pdf->setPrintFooter(false);

 

// Add page and content

$pdf->AddPage();

$pdf->SetFont('helvetica', 'B', 20);

$pdf->Cell(0, 10, 'Hello World!', 0, 1);

 

// Output PDF

$pdf->Output('document.pdf', 'I');

?>

Adding HTML Content:

// Write HTML content

$html = '<h1>Invoice #12345</h1>

<table border="1">

<tr><th>Item</th><th>Price</th></tr>

<tr><td>Product A</td><td>$99.00</td></tr>

</table>';

 

$pdf->writeHTML($html, true, false, true);

Adding QR Code:

// 2D Barcode - QR Code

$pdf->write2DBarcode(

'https://example.com', // data

'QRCODE,H', // type (H=high error correction)

20, 30, // x, y position

50, 50 // width, height

);

🔍 Understanding PDF Metadata

TCPDF provides methods to set all standard PDF metadata fields:

Metadata Field TCPDF Method Description Default Value
Title SetTitle(string) Document title Empty
Author SetAuthor(string) Document author Empty
Subject SetSubject(string) Document subject Empty
Keywords SetKeywords(string) Searchable keywords (comma-separated) Empty
Creator SetCreator(string) Application that created the document Empty
Producer Hardcoded Library that produced the PDF TCPDF [version] (tcpdf.org)
Creation Date Automatic When the document was created Current timestamp

⚠️ Producer Field Note

The Producer field is intentionally hardcoded in TCPDF and should not be changed. According to Nicola Asuni, this is "to easily track and fix documents in the future." To override it, you must extend the TCPDF class.

Sample Producer Values:

TCPDF Version Producer Value
TCPDF 6.10.1TCPDF 6.10.1 (http://www.tcpdf.org)
TCPDF 6.7.5TCPDF 6.7.5 (http://www.tcpdf.org)
TCPDF 6.6.2TCPDF 6.6.2 (http://www.tcpdf.org)
TCPDF 6.4.3TCPDF 6.4.3 (http://www.tcpdf.org)
TCPDF 6.2.13TCPDF 6.2.13 (http://www.tcpdf.org)

Comparison with Related Libraries:

Library Producer Value
FPDFFPDF [version]
mPDFmPDF [version]
Dompdfdompdf + CPDF
tc-lib-pdf (new)tc-lib-pdf [version]

🛠️ Troubleshooting

Common issues when using TCPDF:

Memory Exhausted or Timeout Errors

Cause: TCPDF can be memory-intensive, especially with large documents, many images, or complex fonts.

Solution: Increase PHP memory limit (ini_set('memory_limit', '256M')) and execution time (set_time_limit(300)). Use font subsetting to reduce font data. Optimize images before embedding. Consider splitting large documents into multiple PDFs.

Font Not Displaying Correctly

Cause: Font not installed, wrong font path, or font cache issues.

Solution: Ensure the font file is in the TCPDF fonts directory. Use addTTFfont() to add custom TrueType fonts. Clear the font cache directory. For Unicode text, ensure you're using a Unicode-enabled font like DejaVu Sans or FreeSerif.

HTML/CSS Not Rendering Properly

Cause: TCPDF supports a subset of HTML/CSS, not full browser rendering.

Solution: Use simple, table-based layouts. Avoid complex CSS like flexbox, grid, or floats. Test incrementally. Check the TCPDF examples for supported HTML tags and CSS properties. Use inline styles where possible.

Headers Already Sent Error

Cause: Output was sent to the browser before PDF generation.

Solution: Ensure no whitespace, BOM characters, or echo/print statements before Output(). Use ob_start() at the beginning of your script and ob_end_clean() before output. Check included files for trailing whitespace.

Images Not Appearing in PDF

Cause: Invalid image path, unsupported format, or permission issues.

Solution: Use absolute paths for images. Verify the image file exists and is readable. TCPDF supports JPEG, PNG, and SVG natively. For GIF or other formats, ensure GD or ImageMagick is installed. Check server permissions on image directories.

❓ Frequently Asked Questions

When a PDF shows "TCPDF [version] (http://www.tcpdf.org)" as the Producer, it means the PDF was generated using TCPDF, a powerful open-source PHP class for PDF generation. TCPDF is one of the most feature-rich PHP PDF libraries, supporting Unicode, barcodes, digital signatures, and much more.

Yes, TCPDF is free and open source, licensed under the GNU Lesser General Public License (LGPL v3). You can use it in commercial projects without releasing your application's source code. However, if you modify TCPDF itself, you must release those modifications under the same LGPL license.

TCPDF development began on August 3, 2002 by Nicola Asuni of Tecnick.com LTD. It has been continuously maintained for over 20 years and has evolved into one of the world's most active open-source PHP PDF projects, used by millions of users and integrated into thousands of applications.

TCPDF is significantly more feature-rich than FPDF. While FPDF is lightweight and simple, TCPDF adds: full UTF-8 Unicode support, RTL languages, XHTML+CSS rendering, JavaScript, 1D/2D barcodes (QR codes, etc.), digital signatures, PDF/A-1b compliance, and many more advanced features. TCPDF is better suited for enterprise applications.

The Producer field is intentionally hardcoded in TCPDF. According to the author, Nicola Asuni, this is by design "to easily track and fix documents in the future." To change it, you would need to extend the TCPDF class and override the relevant method, but this is not recommended.

TCPDF supports extensive barcode generation: 1D barcodes include CODE 39, CODE 93, CODE 128, Interleaved 2 of 5, EAN-8, EAN-13, UPC-A, UPC-E, MSI, POSTNET, PLANET, CODABAR, CODE 11, PHARMACODE. 2D barcodes include QR Code, DataMatrix ECC200, and PDF417.

The classic TCPDF library is in support-only mode (bug fixes, security updates). A new version called tc-lib-pdf is under active development at github.com/tecnickcom/tc-lib-pdf. For new projects, consider using the new library once it reaches full feature parity.

🛠️ Related Tools

Viewer

PDF Metadata Viewer

Free tool to view PDF metadata including Creator, Producer, and version information.

View PDF Metadata →
Converter

PDF Converter

Convert PDF files to Excel, Word, and other formats.

Convert PDF Files →

📝 Summary: TCPDF PDF Metadata

  • Author: Nicola Asuni (Tecnick.com)
  • Development started: August 2002
  • Producer shows TCPDF [version]
  • License: GNU LGPL v3
  • No external dependencies
  • Current version: 6.10.1
  • Full UTF-8 Unicode and RTL
  • 1D/2D barcodes (QR, PDF417, etc.)
  • Digital signatures and encryption
  • PDF/A-1b compliance