{
  "$schema": "https://context7.com/schema/context7.json",
  "url": "https://context7.com/tecnickcom/tc-lib-pdf",
  "public_key": "pk_AINs7SRNYi4YSEfbyLFuQ",
  "projectTitle": "tc-lib-pdf",
  "description": "Pure-PHP library to generate PDF documents: the modular, strictly typed successor to TCPDF. UTF-8 and RTL text, HTML/CSS rendering, SVG, images, encryption, PAdES signatures, PDF/A, PDF/X and PDF/UA.",
  "branch": "main",
  "excludeFolders": [
    ".github",
    ".phpdoc",
    ".vscode",
    "vendor",
    "target",
    "test",
    "resources",
    "src/include",
    "examples/data",
    "examples/images"
  ],
  "excludeFiles": [
    "CODE_OF_CONDUCT.md",
    "CONTRIBUTING.md",
    "SECURITY.md",
    "composer.lock"
  ],
  "rules": [
    "The Composer package is tecnickcom/tc-lib-pdf, the namespace is \\Com\\Tecnick\\Pdf and the entry class is \\Com\\Tecnick\\Pdf\\Tcpdf. It requires PHP 8.2 or later.",
    "tc-lib-pdf is not a drop-in replacement for TCPDF. The TCPDF API (new TCPDF(), AddPage(), Cell(), Write(), Output(), SetFont()) does not exist here and TCPDF documentation does not apply. Never mix the two APIs.",
    "A document is built by inserting a font with $pdf->font->insert($pdf->pon, 'helvetica', '', 12), calling $pdf->addPage(), writing with addHTMLCell() or addTextCell(), then getOutPDFString() for the raw PDF bytes and renderPDF() to stream them.",
    "K_PATH_FONTS must be defined and point at vendor/tecnickcom/tc-lib-pdf-font/target/fonts. The fonts are generated by the Composer post-install-cmd and post-update-cmd scripts; a K_PATH_FONTS error means they have not been generated yet.",
    "Fonts, images, graphics, pages, filters, encryption, signatures, parsing, barcodes, colors, files and Unicode live in separate tecnickcom/tc-lib-* Composer packages that are pulled in as dependencies. Require only tecnickcom/tc-lib-pdf.",
    "The runnable scripts under examples/ (E000 to E084, listed in examples/index.md) are the canonical usage reference. Prefer adapting them over reconstructing calls from method names.",
    "In-depth topics have dedicated documents under doc/: FONTS.md, STANDARDS.md for PDF/A, PDF/X and PDF/UA conformance, DIGITAL_SIGNATURES.md, PDF_IMPORT.md, ICC_PROFILE.md, REMOTE_RESOURCES.md and CACHE.md.",
    "Digital signing goes through the $pdf->signature() facade. Profiles are legacy (adbe.pkcs7.detached), pades-b-b, pades-b-t, pades-b-lt and pades-b-lta; upgradeToLta() adds the archive timestamp."
  ]
}
