TCPDF -> tc-lib-pdf Delegation Mapping

June 18, 2026 ยท View on GitHub

Generated by php scripts/mapping.php from the curated map in that script (single source of truth). Do not edit this file manually.

Statuses: stub (not implemented), delegated, adapter, shim, intentional-noop, blocked.

Summary

FamilyTotalDelegatedAdapterShimNoopBlockedStub
Bootstrap/Lifecycle/Output3310812300
Document/Page state6002040000
Header/Footer190017200
Text/Font/metrics4552119000
HTML/CSS182310300
Graphics/Transforms/Images714587110
Forms/Annotations/Links/JS203152000
Signatures/Security6060000
Barcodes4022000
Columns/TOC/Templates/Regions17096020
Total29324142115930

Bootstrap/Lifecycle/Output

TCPDF methodtc-lib targetStatusNotes
__construct\Com\Tecnick\Pdf\Tcpdf::__constructadaptermap (orientation,unit,format,unicode,encoding,diskcache,pdfa) onto (unit,isunicode,subsetfont,compress,mode); orientation/format become per-page defaults
__destruct-shimrelease delegate
__get-shimlegacy protected properties (AutoPageBreak, lMargin, ...) read by user subclasses
__isset-shimcompanion of __get
Error-shimthrow/die per K_TCPDF_THROW_EXCEPTION_ERROR
Open-shimlegacy state flag only
Close-adapterrenders deferred header/footer decorations for all pages, then builds the PDF
OutputOutput::getOutPDFString/savePDF/renderPDF/downloadPDFadapterdest switch I/D/F/S/FI/FD/E
getPDFDataOutput::getOutPDFStringdelegated
setCompressionTcpdf::$compressintentional-noopcompression is always enabled at engine construction; legacy off-switch dropped
setSRGBmodeMetaInfo::setSRGBdelegated
setDocInfoUnicode-intentional-nooptc-lib handles doc-info encoding internally
setTitleMetaInfo::setTitledelegated
setSubjectMetaInfo::setSubjectdelegated
setAuthorMetaInfo::setAuthordelegated
setKeywordsMetaInfo::setKeywordsdelegated
setCreatorMetaInfo::setCreatordelegated
setAllowLocalFilesTcpdf::$fileOptionsintentional-noopengine file access is constructor-bound; facade passes legacy-compatible allowed paths
setDisplayModeTcpdf::setDisplayModedelegated
setPDFVersionBase::setPDFVersiondelegated
setViewerPreferencesMetaInfo::setViewerPreferencesadapter
setExtraXMPMetaInfo::setCustomXMPadapter
setExtraXMPRDFMetaInfo::setCustomXMPadapter
setExtraXMPPdfaextensionMetaInfo::setCustomXMPadapter
setDocCreationTimestampMetaInfo::$doctimeshimfacade state; the engine stamps output with its own clock
setDocModificationTimestampMetaInfo::$docmodtimeshimfacade state; the engine stamps output with its own clock
getDocCreationTimestampMetaInfo::$doctimeshim
getDocModificationTimestampMetaInfo::$docmodtimeshim
setLanguageArrayTcpdf::setLanguageArrayadapterEnglish defaults built in; overridable via K_TCPDF_DEFAULT_LANGUAGE or this method
setSpacesRETcpdf::setSpaceRegexpdelegated
startTransaction-shimdeep snapshot via serialize/unserialize of the facade+engine graph
commitTransaction-shim
rollbackTransaction-shim

Document/Page state

TCPDF methodtc-lib targetStatusNotes
setPageUnit-shimre-creates the engine; only valid before the first page
setPageOrientationPage (per-page data)shim
setPagePage::setCurrentPageadapter
lastPagePage::setCurrentPageadapter
getPagePage::getPageIdadapter1-based vs 0-based
getNumPagesPage::getPagesadapter
AddPageText::addPageadapterapply facade margins/format; re-emit font+colors
endPage-shimheaders/footers deferred to Close(); resets tocpage flag
startPageText::addPageadapter
setPageMarkPage::addContentMarkadapter
PageNoPage::getPageIdadapter
getPageDimensionsPage::getPageadapterlegacy array shape
getPageWidthPage::getPageadapter
getPageHeightPage::getPageadapter
getBreakMarginPage::getPageadapter
getScaleFactorTcpdf::$kunitshimpoints per unit
setMarginsPage marginsshimfacade state + future pages
setLeftMarginPage marginsshim
setTopMarginPage marginsshim
setRightMarginPage marginsshim
getMargins-shimfacade state accessor
getOriginalMargins-shim
setCellPaddingCell::setDefaultCellPaddingadapter
setCellPaddingsCell::setDefaultCellPaddingadapter
getCellPaddingsTcpdf::$defcellshim
setCellMarginsCell::setDefaultCellMarginadapter
getCellMarginsTcpdf::$defcellshim
setAutoPageBreakPage margins (CB)adapter
getAutoPageBreak-shim
Ln-shimcursor shim
GetX-shimcursor shim
GetAbsX-shim
GetY-shim
setX-shim
setY-shim
setXY-shim
setAbsX-shim
setAbsY-shim
setAbsXY-shim
AcceptPageBreak-shimpage-break policy hook
movePagePage::moveadapterengine move() only supports moving pages backward (same as legacy)
deletePagePage::deleteadapter
copyPage-adapterclones format/margins/content into a new page
startPageGroupPage groupshimgroup applies from the next added page
setStartingPageNumber-shim
getAliasRightShift-shimlegacy alias machinery
getAliasNbPages-shimreturns real total during deferred decoration; placeholder otherwise (body substitution pending)
getAliasNumPage-shimreturns real number during deferred decoration; placeholder otherwise
getPageGroupAlias-shimreal total during deferred decoration; placeholder otherwise
getPageNumGroupAlias-shimreal number during deferred decoration; placeholder otherwise
getGroupPageNo-adapter
getGroupPageNoFormatted-shim
PageNoFormatted-shim
setBookletPage margins (booklet)shim
setLastH-shimcursor shim
getLastH-shim
resetLastH-shim
getCellHeight-shimfontsize*ratio+padding
setCellHeightRatio-shim
getCellHeightRatio-shim

Header/Footer

TCPDF methodtc-lib targetStatusNotes
setHeaderData-shimfacade-rendered page decoration
setFooterData-shim
getHeaderData-shim
setHeaderMargin-shim
getHeaderMargin-shim
setFooterMargin-shim
getFooterMargin-shim
setPrintHeader-shimper-page flag frozen when the page starts
setPrintFooter-shimper-page flag, updatable until the page ends
getImageRBX-shimimage bottom-right cursor
getImageRBY-shim
resetHeaderTemplate-intentional-noopfacade renders headers directly, no cached XObject template
setHeaderTemplateAutoreset-intentional-noopfacade renders headers directly, no cached XObject template
Header-shimdeferred to Close(); painted behind the body content (legacy z-order)
Footer-shimdeferred rendering at Close-time; real page numbers (no alias substitution needed)
setHeaderFont-shim
getHeaderFont-shim
setFooterFont-shim
getFooterFont-shim

Text/Font/metrics

TCPDF methodtc-lib targetStatusNotes
setRTLBase::setRTLadapterplus resetx cursor handling
getRTLTcpdf::$rtlshim
setTempRTL-shimforcedir on text calls
isRTLTextDir-shim
GetStringWidthFont metricsadapter
GetArrStringWidthFont metricsadapter
GetCharWidthFont metricsadapter
getRawCharWidthFont metricsadapter
GetNumCharsUnicode convadapter
AddFontFont\Stack::insertadaptertc-lib font model only (breaking change): import new fonts with the tc-lib-pdf-font importer
setFontFont\Stack::insertadaptertc-lib font model only (breaking change): legacy .php/.z font definitions unsupported
setFontSizeFont\Stack::insertadapter
getFontBBoxFont metricsadapter
getAbsFontMeasureFont metricsshim
getCharBBoxFont metricsadapter
getFontDescentFont metricsadapter
getFontAscentFont metricsadapter
isCharDefinedFont metricsadapter
replaceMissingCharsFont metricsadapter
setDefaultMonospacedFont-shimstate
getFontSize-shimstate accessor
getFontSizePt-shim
getFontFamily-shim
getFontStyle-shim
getFontFamilyName-delegatedfamily name normalization
isUnicodeFontFont metricsdelegated
setFontSubsettingFont\Stack subset flagshim
getFontSubsetting-shim
setFontStretchingFont\Stack::insert stretchingshimambient Tz text-state operator (engine spacing/stretching conventions are inconsistent)
getFontStretching-shim
setFontSpacingFont\Stack::insert spacingshimambient Tc text-state operator (engine spacing/stretching conventions are inconsistent)
getFontSpacing-shim
TextText::getTextCelladapterabsolute-position Cell
CellText::getTextCelladaptercursor model + page-break in facade; stretch modes 1/2 via horizontal-scaling CTM, 3/4 via ambient Tc spacing
MultiCellText::getTextCelladapterheight grows to fit text (legacy minimum-height semantics); ln=0 returns to the starting page
WriteText::getTextCelladapterflowing text
getNumLinesText line splitshimgreedy-wrap approximation; engine splitLines is protected
getStringHeightText line splitshimderived from getNumLines approximation
hyphenateTextText::setTexHyphenPatternsadapterconfigures engine TeX patterns; engine hyphenates at render time, text returned unchanged
setTextRenderingModegetTextCell stroke/fill/clip argsshim
setTextShadowgetTextCell shadow argadapternative engine shadow for Cell/MultiCell/Write/Text; HTML shadows emulated with an offset alpha-blended copy of the rendered text objects; header/footer render shadow-free (legacy parity)
getTextShadow-shim
stringLeftTrimHTML::strTrimLeftdelegated
stringRightTrimHTML::strTrimRightdelegated
stringTrimHTML::strTrimdelegated

HTML/CSS

TCPDF methodtc-lib targetStatusNotes
writeHTMLHTML::addHTMLCelladaptermarkup pre-processing: malformed hex colors repaired, relative resource paths resolved, styled inline parents with nested children flattened (engine paints inline backgrounds only at depth 1)
writeHTMLCellHTML::addHTMLCelladapterln=0 returns to the starting page (legacy column flows); tcpdf-in-HTML tags executed when K_TCPDF_CALLS_IN_HTML is set
fixHTMLCodeHTML::tidyHTMLdelegated
addHtmlLink-shimrendered via Write() with link color/style state
unhtmlentities-shimhtml_entity_decode
getCSSPaddingCSS helpersshimCSS shorthand parser
getCSSMarginCSS helpersshimCSS shorthand parser
getCSSBorderMarginCSS helpersshimCSS shorthand parser
getHTMLFontUnitsCSS helpersshim
getHTMLUnitToUnitsCSS helpersshim
serializeTCPDFtag-shimpayload format consumed by the writeHTML tcpdf-tag executor
setLIsymbolHTML::setULLIDotdelegated
setHtmlVSpaceHTML::setHtmlVSpaceadapter
setListIndentWidth-intentional-nooplist indentation is computed by the engine HTML renderer
setOpenCell-intentional-noopblock continuation borders are handled by the engine HTML renderer
setHtmlLinksStyle-shimstate consumed by addHtmlLink
setDefaultTableColumns-intentional-nooptable layout is computed by the engine HTML renderer
pixelsToUnits-shimpx / (k * imgscale)

Graphics/Transforms/Images

TCPDF methodtc-lib targetStatusNotes
getAllSpotColorsColor spot registrydelegated
AddSpotColorColor spot registryadapterCMYK components 0-100 mapped to the engine color model
setSpotColorColor spot registryadapter
setDrawSpotColorColor spot registryadapter
setFillSpotColorColor spot registryadapter
setTextSpotColorColor spot registryadapter
setColorArrayColor\Pdfadapterlegacy array conventions (gray/RGB/CMYK)
setDrawColorArrayColor\Pdfadapter
setFillColorArrayColor\Pdfadapter
setTextColorArrayColor\Pdfadapter
setColorColor\Pdfadapter
setDrawColorColor\Pdfadapter
setFillColorColor\Pdfadapter
setTextColorColor\Pdfadapter
setLineWidthGraph styleadapter
GetLineWidth-shim
setLineStyleGraph styleadapterlegacy style array translation
LineGraph\Draw::getLineadapter
RectGraph\Draw::getRectadapter
CurveGraph\Draw raw opsadapter
PolycurveGraph\Draw raw opsadapter
EllipseGraph\Draw::getEllipseadapter
CircleGraph\Draw::getCircleadapter
PolyLineGraph\Draw::getPolygonadapter
PolygonGraph\Draw::getPolygonadapterper-segment line styles collapsed to a single style
RegularPolygonGraph\Draw::getRegularPolygonadapter
StarPolygonGraph\Draw::getStarPolygonadapter
RoundedRectGraph\Draw::getRoundedRectadapter
RoundedRectXYGraph\Draw::getRoundedRectadapter
ArrowGraph\Drawadapter
StartTransformGraph\Draw::getStartTransformdelegated
StopTransformGraph\Draw::getStopTransformdelegated
ScaleXGraph transformadapter
ScaleYGraph transformadapter
ScaleXYGraph transformadapter
ScaleGraph transformadapterlegacy percentages mapped to engine ratios
MirrorHGraph transformadapter
MirrorVGraph transformadapter
MirrorPGraph transformadapter
MirrorLGraph transformadapter
TranslateXGraph transformadapter
TranslateYGraph transformadapter
TranslateGraph transformadapter
RotateGraph transformadapter
SkewXGraph transformadapter
SkewYGraph transformadapter
SkewGraph transformadapter
setAlphaGraph ExtGStateadapter
getAlpha-shim
setOverprintGraph ExtGStateadapter
getOverprint-shim
setVisibilityTcpdf::newLayeradaptermapped onto optional-content layers
startLayerTcpdf::newLayeradapter
endLayerTcpdf::closeLayeradapter
colorRegistrationBarGraph\Drawadapterlegacy letter list mapped to engine color pairs
cropMarkGraph\Drawadapter
registrationMarkGraph\Draw::getRegistrationMarkadaptersecondary color ignored (engine derives the inverse)
registrationMarkCMYKGraph\Draw::getCmykRegistrationMarkdelegated
LinearGradientGraph gradientsadapter
RadialGradientGraph gradientsadapter
CoonsPatchMeshGraph gradientsadaptercorner order verified against the reference renderer (engine names use PDF y-up coordinates)
GradientGraph gradientsadapter
PieSectorGraph\Draw::getPieSectoradapterlegacy cw/origin angle convention translated
PieSectorXYGraph\Draw::getPieSectorshimelliptical sector approximated by scaling a circular sector
ImageImage\Import::add + Graphadapterplacement, @-string data, dpi/imgscale sizing, fitbox, palign, masks via engine
ImageEps-blockedunsupported (breaking change): no PostScript interpreter in the engine โ€” convert EPS/AI artwork to SVG and use ImageSVG(); SVG/raster inputs are dispatched to ImageSVG()/Image()
ImageSVGSVG::addSVGadapter
setImageScale-shimstate
getImageScale-shim
setJPEGQualityImage quality argshim
setRasterizeVectorImages-intentional-noopthe engine renders vector images natively

Forms/Annotations/Links/JS

TCPDF methodtc-lib targetStatusNotes
AddLinkJavaScript::addInternalLinkadapterfacade tokens resolved to engine internal links at use time
setLinkJavaScript::addInternalLinkadapter
LinkJavaScript::setLinkadapter
AnnotationJavaScript::setAnnotationadapteroption keys lowercased; unreadable attachment sources skipped (legacy parity)
EmbedFileJavaScript::addEmbeddedFileadapter
EmbedFileFromStringJavaScript::addContentAsEmbeddedFiledelegated
IncludeJSJavaScript::appendRawJavaScriptdelegated
addJavascriptObjectJavaScript::addRawJavaScriptObjdelegated
setFormDefaultPropJavaScript::setDefJSAnnotPropadapter
getFormDefaultPropJavaScript::getDefJSAnnotPropshim
TextFieldJavaScript::addFFText/addJSTextadapter
RadioButtonJavaScript::addFFRadioButtonadapter
ListBoxJavaScript::addFFListBoxadapter
ComboBoxJavaScript::addFFComboBoxadapter
CheckBoxJavaScript::addFFCheckBoxadapter
ButtonJavaScript::addFFButtonadapter
setDestinationJavaScript::setNamedDestinationadapter
getDestination-shim
setBookmarkJavaScript::setBookmarkadapter
BookmarkJavaScript::setBookmarkadapter

Signatures/Security

TCPDF methodtc-lib targetStatusNotes
setProtectionEncrypt\Encrypt (constructor)adapterre-initializes the engine with an Encrypt object; must be called before pages; legacy RC4 deprecation muted
setUserRightsTcpdf::setUserRightsadapter
setSignatureTcpdf::setSignatureadapter
setSignatureAppearanceTcpdf::setSignatureAppearanceadapter
addEmptySignatureAppearanceTcpdf::addEmptySignatureAppearanceadapter
setTimeStampTcpdf::setSignTimeStampadapter

Barcodes

TCPDF methodtc-lib targetStatusNotes
setBarcode-shimheader barcode state
getBarcode-shim
write1DBarcodeTcpdf::getBarcodeadapternatural width from module count x xres; fg/bg colors, border, position, label text; legacy-only types skipped
write2DBarcodeTcpdf::getBarcodeadapterRAW/RAW2 mapped to engine SRAW; fg/bg colors, border, position

Columns/TOC/Templates/Regions

TCPDF methodtc-lib targetStatusNotes
addTOCPage-shim
endTOCPage-shim
addTOCTcpdf::addTOCadapterengine builds the TOC from the bookmark outline; filler/font args not applied
addHTMLTOC-shimapproximated with the engine bookmark TOC; HTML templates not applied
setEqualColumnsPage regions (columns)adaptercolumns become regions of pages added after the call
resetColumnsPage regionsshim
setColumnsArrayPage regionsadapterapplies to pages added after the call
selectColumnPage regionsadapter
getColumnPage regionsadapter
getNumberOfColumnsPage regionsadapter
startTemplateJavaScript::newXObjectTemplateadapterfacade routes content and registers fonts/images/extgstates in the XObject resources; page breaks suppressed inside templates
endTemplateJavaScript::exitXObjectTemplateadapter
printTemplateJavaScript::getXObjectTemplateadapter
getPageRegionsPage regionsshim
setPageRegionsPage regionsblockedlegacy regions are no-write exclusion zones; the engine only supports writable regions - stored for page creation, exclusion semantics not reproduced
addPageRegionPage regionsblockedsee setPageRegions
removePageRegionPage regionsshim