Canevas de dessin natif Linux

HPDFHeadlessCanvas.THotPDF et THPDFPage fournissent la façade de dessin Unix/FPC utilisée par l'importeur HTML partagé ; ces noms appartiennent à cette unité et ne remplacent pas les classes Windows HPDFDoc

Créez le document, réglez optionnellement PageWidth et PageHeight en points, appelez AddPage, dessinez via CurrentPage, puis sauvegardez avec SaveToFile ou SaveToStream

Le texte utilise des programmes de polices TrueType Unicode et du façonnage réel ; GetFontBytes sélectionne une famille et un style Fontconfig, tandis que RegisterFontMemory enregistre des octets sfnt explicites indépendamment de la durée de vie de l'importeur

La correspondance Fontconfig exige explicitement des contours TrueType scalables, en conservant la graisse et l'inclinaison demandées ; ainsi une famille demandée qui correspondrait sinon à une police CFF non prise en charge obtient un substitut installé utilisable

La page prend en charge les lignes, les rectangles remplis et contourés, l'état police/couleur/espacement, le texte Unicode, les images, les liens hypertexte et les widgets ordinaires texte, checkbox, radio, combo et bouton poussoir ; les widgets radio partagent un vrai champ parent

MaxBytes borne les allocations managées de polices, de contenu et d'images, MaxOutputBytes borne la sérialisation, et MaxObjects, MaxPages et MaxGlyphs bornent le travail sur le graphe et le texte ; ces limites sont des garde-fous d'allocation plutôt qu'une comptabilité du RSS du processus

SaveToFile écrit un fichier temporaire privé dans le même répertoire, le synchronise et le renomme après une sérialisation bornée réussie ; une annulation ou un échec préserve une destination existante

SetPDFA4Profile accepte un profil sRGB matrix/TRC validé pour une création flattened à neuf, ajoute de vraies métadonnées PDF/A-4 et un output intent, et émet du PDF 2.0 ; la validation générale de conformité reste une étape de vérification séparée

Workflows natifs et acceptation

SaveToStream(Stream, AllowEmptyArchivalTemplate=False) exige normalement une page ; l'option true explicite n'autorise un template intermédiaire vide qu'après SetPDFA4Profile, pour une construction bornée d'import de pages