PDFium Delphi Component Docs

Référence API PDFium VCL

Windows utilise VCL ou le widget set Windows de Lazarus ; les builds Free Pascal/LCL natifs utilisent Linux Qt6 ou macOS Cocoa avec une bibliothèque PDFium correspondante ; consultez la configuration LCL native pour les outils et besoins d’exécution ; le wrapper VCL Delphi/C++Builder reste la voie Windows ; la validation des helpers crypto et horodatage Delphi macOS est distincte du wrapper visuel

Unités d’aide

UnitéDescription
FPdfAsyncFournit une annulation structurée, des futurs configurables et un pool de workers à priorité borné pour un travail PDF en arrière-plan réactif
FPdfMatrixFournit la composition affine, les diagnostics, le mappage de rectangles ajustés, la géométrie inverse, la décomposition et les transformations en masse de points ou de rectangles pour les API d’objets de page PDFium
FPdfMeasureAjoute les méthodes d’assistance TPdf.MeasureText, MeasureTextWidth et WrapText pour la mise en page du texte en unités utilisateur PDF
FPdfLayoutConstruit des mises en page paginées, balisées, fondées sur grille, Markdown, HTML, tableau, image, lien et nœuds réutilisables
FPdfTextShapingMet en forme le texte Unicode bidirectionnel en exécutions visuelles de glyphes bornées avec une interface de moteur extensible et une implémentation Windows Uniscribe
FPdfProductionFournit des flux de travail de production bornés pour la couleur, les polices, SVG, le remplacement, XFA, les codes-barres, Portfolio et RichMedia
FPdfDiffAlignement de pages borné, différences de texte Unicode et régions visuelles connexes
FPdfMergeFusion transactionnelle des signets, destinations nommées et liens internes, vérifiée par réouverture indépendante
FPdfOcrTesseractFournisseur OCR Tesseract facultatif avec dépendances explicites et limites de reconnaissance
FPdfFormMergeFusion transactionnelle des champs AcroForm avec politiques de collision explicites
FPdfBarcodeZXingGénération et reconnaissance natives facultatives des codes-barres
FPdfStyledEditRemplacement vérifié du texte PDF avec conservation du style, aperçu et rollback
FPdfSemanticDiffChangements sémantiques stables des annotations et formulaires avec coordonnées de superposition avant/après
FPdfColourLittleCmsTransformations ICC natives facultatives des échantillons Gray, RGB et CMYK originaux
FPdfDocumentColourConversion bornée des couleurs du document PDF avec rapports explicites des objets non pris en charge
FPdfRedactionGéométrie des Form imbriqués, tracés remplis et images affines pour le caviardage transactionnel
FPdfStandardsExecutionExécute les flux de travail de mesure, GeoPDF, réparation PDF/A, PDF/UA, PDF/X, preuves PAdES, PDF/VT, PDF/E et PDF/R
FPdfAsn1Encode, parcourt, décode et valide des données ASN.1 DER bornées avec identifiants à étiquettes élevées, valeurs typées, contrôles canoniques et limites de ressources
FPdfPreflightReportConstruit des rapports de normes interrogeables, des plans de réparation PDF/A, un précontrôle de production PDF/X, des règles déclaratives, des budgets de ressources, une validation parallèle isolée, une agrégation et un export lisible par machine
FPdfBenchmarkExécute des corpus bornés de performance et de conformité avec des gardes de chargement, de première page, de rendu, d’enregistrement, de mémoire, de sémantique, de pixel et de réouverture indépendante
FPdfXmpLit, modifie et écrit de façon incrémentielle des paquets XMP bornés conscients des espaces de noms, avec des valeurs RDF typées et la préservation des espaces de noms inconnus
FPdf standards helpersAPI autonomes de validation et d’enregistrement des fichiers associés, PAdES, PDF/A, PDF/E, PDF/R, PDF/UA, PDF/VT et PDF/X
FPdfThumbnailFournit le contrôle de navigation par miniatures défilant TPdfThumbnailView
FPdfCompressCompression FlateDecode au niveau des flux, injection d’action d’ouverture par défaut, normalisation après enregistrement et inspection de version PDF utilisées par le pipeline d’enregistrement de TPdf
FPdfContentNormalizeAnalyse et normalise les séquences de contenu PDF, y compris la gestion bornée des images en ligne
FPdfXfdfImport et export XFDF autonomes des champs de formulaire et annotations sans charger pdfium.dll
FPdfEditLiaison d’édition des objets de page PDFium plus fonctions d’assistance autonomes pour les couleurs ARGB
FPdfPdfvtMimeConstruit et valide des flux de parties MIME PDF/VT-2s mono-fichier transportant un document PDF/VT en ligne, des pièces jointes réutilisables et un profil ICC
FPdfIccProfileEffectue une validation bornée de l’en-tête ICC et de la table de balises avec correspondance MD5, SHA-256, métadonnées de profil et descriptions multilingues
FPdfEncryptÉcrit des PDF chiffrés AESV3-CBC ou AESV4-GCM ISO/TS 32003 et authentifie le déchiffrement de compatibilité AESV4
FPdfAesChiffrement par blocs AES-128 et AES-256 en Pascal pur avec expansion de clé et enveloppes de flux AES-256-CBC
FPdfHmacHMAC-SHA256, HKDF-SHA256, comparaison d’octets à temps constant et effacement sécurisé des octets en Pascal pur
FPdfMacConstruit et vérifie des jetons CMS AuthenticatedData autonomes ISO/TS 32004
FPdfAesGcmChiffrement authentifié AES-GCM en Pascal pur pour clés AES-128 et AES-256
FPdfSha256Hachage SHA-256 en Pascal pur avec assistants incrémentiels et en une seule passe
FPdfSha512Hachage SHA-512 et SHA-384 en Pascal pur partageant un même type de contexte
FPdfSha3Hachage SHA3-256, SHA3-384, SHA3-512 et SHAKE256 en flux en Pascal pur pour les extensions cryptographiques PDF 2.x
FPdfCmsConstruit des SignedData CMS RFC 5652 et CAdES à partir d’un condensat détaché et d’un backend cryptographique ICmsSigner
FPdfTsaClient d’autorité d’horodatage RFC 3161 pour les profils PAdES B-T et B-LTA
FPdfTsaWinBackend de transport d’horodatage Windows WinHttp pour les requêtes RFC 3161
FPdfTsaFpcTransport d’horodatage libcurl pour les requêtes RFC 3161 sur Linux et macOS
FPdfTsaPosixTransport HTTP natif Delphi POSIX pour les requêtes d’horodatage RFC 3161 bornées
FPdfCryptoFaçade de résolution des signataires PAdES au-dessus du backend cryptographique actif
FPdfTrustedListAnalyse, mise en cache, mise à jour, ancres de confiance et évaluation des services qualifiés des listes de confiance européennes authentifiées
FPdfCryptoWinBackend Windows pour la signature CNG, la vérification CMS détachée, l’extraction des certificats des signataires et l’évaluation de confiance système en mode cache uniquement
FPdfCryptoMacBackend macOS qui signe avec une identité Keychain et vérifie CMS via CMSDecoder et SecTrust
FPdfCryptoSslÉléments de signature OpenSSL explicites, vérification CMS indépendante, preuves OCSP/CRL bornées et diagnostics par signataire conservant le verdict CRL précédent si aucune réponse ni aucun répondeur OCSP n’est examiné
FPdfCryptoOcspPréfiltre OCSP DER et de fraîcheur borné avant authentification native du répondeur
FPdfPkcs11Backend de signature par jeton PKCS#11 qui garde la clé privée à l’intérieur du jeton, sur toutes les plateformes
FPdfSha1SHA-1 en Pascal pur utilisé uniquement pour retrouver un certificat par empreinte, jamais comme empreinte de signature
FPdfBidiRésolution de l’algorithme bidirectionnel Unicode (UAX #9) et réordonnancement visuel, sans dépendance de plateforme
FPdfTextShapingHbBackend de mise en forme de texte HarfBuzz pour les plateformes sans Uniscribe

Méthodes du composant TPdf

Gestion des documents

MéthodeDescription
CreateDocumentCrée un nouveau document PDF vide
LoadDocument(Data: TMemoryStream; Buffered: Boolean = True)Charge un document PDF depuis un flux mémoire
LoadDocument(Data: Pointer; Size: Integer; Buffered: Boolean = True)Charge un document PDF depuis un tampon mémoire
LoadDocumentCharge un document PDF depuis FileName
LoadDocument(const Data: TBytes; Buffered: Boolean = True)Charge un document PDF depuis TBytes
LoadCustomDocument(AStream: TStream; AOwnsStream: Boolean = False)Diffuse un document PDF depuis n’importe quel TStream via FPDF_LoadCustomDocument; PDFium récupère les blocs à la demande au lieu de copier tout le fichier en mémoire. AOwnsStream = True transfère la durée de vie du flux à l’instance TPdf
TPdfLoadOptions, TPdfLoadReport, LastLoadReportSélectionne un chargement compatible, strict ou de récupération et examine des preuves d’audit xref bornées
SaveAsRepairedÉcrit une copie complète en révision unique et la recharge strictement de façon indépendante avant livraison
TPdfRandomAccessStoreStockage adressable thread-safe avec E/S positionnées et déversement à sens unique de la mémoire bornée vers un stockage temporaire privé supprimé à la fermeture
SaveMemoryLimit, SaveTemporaryDirectory, LastSaveSpillCount, LastSaveLargestMemoryBufferConfigure et mesure le stockage de travail borné utilisé par la préparation d’enregistrement de TPdf
SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanEnregistre le document dans un flux avec compression facultative et contrôles de conformité explicites PDF 1.3 à PDF 1.7; la sortie chiffrée à version explicite et pv13 avec saIncremental déclenchent EPdfError
SaveAs(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanEnregistre atomiquement le document dans un fichier avec compression facultative et contrôles de conformité explicites PDF 1.3 à PDF 1.7; une normalisation ou validation échouée laisse la cible existante inchangée
SaveAsLinearized(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanÉcrit une sortie Fast Web View Annexe F avec regroupement de la première page et tables d’indications vérifiées de décalages de page et d’objets partagés
SaveAsLinearized(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanÉcrit atomiquement une sortie Fast Web View via un fichier temporaire dans le même répertoire
SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanÉcrit des flux d’objets PDF 1.5+ bornés avec un flux xref de type 2 complet
SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanÉcrit atomiquement une sortie moderne en flux d’objets via un fichier temporaire dans le même répertoire
SaveAsNormalizedContent(Stream: TStream; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanÉcrit un contenu de page logique normalisé et fusionné avec une validation syntaxique bornée
SaveAsNormalizedContent(const FileName: string; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanÉcrit atomiquement une sortie de contenu normalisé via un fichier temporaire dans le même répertoire
SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanRéécrit le document en une seule révision propre ne conservant que les objets accessibles depuis le catalogue et le /Info du trailer
SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanÉcrit atomiquement une copie élaguée en révision unique via un fichier temporaire dans le même répertoire
SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanRéécrit le document en balayant les objets inaccessibles et en fusionnant polices, images et XObjects de formulaire compatibles sur un représentant unique
SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanÉcrit atomiquement une copie dédupliquée en révision unique via un fichier temporaire dans le même répertoire
SaveAsFlateRecompressed(Stream: TStream; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanRéécrit le document en réencodant les flux FlateDecode à compression maximale quand le gain dépasse un seuil défini par l’appelant
SaveAsFlateRecompressed(const FileName: string; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanÉcrit atomiquement une copie recompressée Flate via un fichier temporaire dans le même répertoire
SaveAsInlineImagesExternalised(Stream: TStream; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanRéécrit le document en extrayant les images en ligne BI/ID/EI vers des XObjects réutilisables et en remplaçant les blocs en ligne par des opérateurs Do
SaveAsInlineImagesExternalised(const FileName: string; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanÉcrit atomiquement une copie externalisée via un fichier temporaire dans le même répertoire
SaveAsReproducible(Stream: TStream; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanRéécrit le document en retirant les horodatages non déterministes et le /ID afin que des enregistrements répétés soient identiques à l’octet près
SaveAsReproducible(const FileName: string; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanÉcrit atomiquement une copie reproductible via un fichier temporaire dans le même répertoire
ExportObjectGraph(Stream: TStream; const Options: TPdfObjectGraphInspectOptions; out Report: TPdfObjectGraphReport): BooleanExporte les valeurs directes actives et les valeurs de flux d’objets en JSON typé borné avec condensats SHA-256 facultatifs des flux encodés
SaveAsObjectGraphPatched(Stream: TStream; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanApplique des correctifs transactionnels typés de dictionnaires de premier niveau et recharge strictement le résultat préparé avant livraison
SaveAsObjectGraphPatched(const FileName: string; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanRemplace atomiquement un fichier après le succès de la transaction complète de correctifs du graphe d’objets
ExportObjectGraph / SaveAsObjectGraphPatched object-graph envelopePage de modèle d’inspection et de correction du graphe d’objets partagée par les deux méthodes; couvre l’enveloppe versionnée pdf-object-graph-v1 et les correctifs transactionnels vérifiés par chargement strict
InspectOptionalContent(out Inventory: TPdfOptionalContentInventory; Usage: TPdfOptionalContentUsage = ocuView; ConfigurationIndex: Integer = -1): BooleanLit le modèle de contenu facultatif et l’état de rendu natif effectif
SaveAsOptionalContentConfigured(Stream: TStream; const Changes: TPdfOptionalContentStateChanges; const Options: TPdfOptionalContentConfigureOptions; out Report: TPdfOptionalContentConfigureReport; AllowSignedDocument: Boolean = False): BooleanÉcrit et vérifie strictement l’état de contenu facultatif choisi par l’appelant
BeginEditTransaction(const LabelText: WString = ''; AllowSignedDocument: Boolean = False)Démarre une transaction d’édition de document atomique depuis un instantané natif reproductible
CommitEditTransaction: BooleanStocke la transaction modifiée sous forme de delta bidirectionnel borné chaîné par SHA-256
RollbackEditTransactionRestaure le document d’avant transaction sans ajouter d’entrée d’annulation
BeginPageObjectEditTransaction(AllowSignedDocument: Boolean = False)Démarre un lot atomique de mutations d’objets natifs limité à la page
CommitPageObjectEditTransaction: BooleanGénère le contenu de page une seule fois et valide toutes les mutations natives réussies
RollbackPageObjectEditTransactionRestaure l’instantané de document validé d’avant lot
PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatusSignale l’état de la transaction, la page, le nombre de mutations et le nombre de générations de contenu
BeginPageObjectEditTransaction / CommitPageObjectEditTransaction / RollbackPageObjectEditTransaction / PageObjectEditTransactionStatusModèle de transaction d’édition atomique limitée à la page couvrant l’instantané borné, les mutations natives par lot, la régénération unique du contenu et l’annulation
UndoEdit: BooleanApplique et vérifie le delta inverse à la position courante du journal
RedoEdit: BooleanApplique et vérifie le delta direct après la position courante du journal
EditCanUndo: BooleanIndique si une transaction de document validée peut être annulée
EditCanRedo: BooleanIndique si une transaction de document annulée peut être rétablie
ClearEditJournalLibère l’historique d’édition validé tout en conservant l’état courant du document
ConfigureEditJournal(const Options: TPdfEditJournalOptions)Définit les limites d’entrées, de deltas stockés et d’instantanés
GetEditJournalInfo: TPdfEditJournalInfoLit la position du journal, les libellés, les empreintes, l’utilisation des limites et la disponibilité d’annulation ou de rétablissement
ExportEditJournal(Stream: TStream)Écrit le format de journal borné portable
ImportEditJournal(Stream: TStream; ApplyRecordedPosition: Boolean = True; AllowSignedDocument: Boolean = False)Valide et rejoue un journal uniquement contre son empreinte racine ou enregistrée
SaveRecoverySnapshotÉcrit un paquet de récupération avec somme de contrôle contenant les empreintes de la source et le journal d’édition vérifié
RestoreRecoverySnapshotRestaure un paquet de récupération uniquement après vérification de la somme de contrôle, de la source, du journal et du résultat
InspectRecoverySnapshotLit les métadonnées de récupération et valide le paquet sans appliquer les modifications
EnableRecoveryAutosave(const FileName: string)Actualise atomiquement un fichier de récupération explicite après validation, annulation ou rétablissement
DisableRecoveryAutosaveArrête les écritures de récupération pilotées par la validation sans supprimer un paquet existant
RecoveryAutosaveFileName: stringLit le chemin absolu de sauvegarde automatique de récupération ou une chaîne vide quand elle est désactivée
ValidatePagePlan(const Plan: TPdfPagePlan; ImportedSource: TPdf = nil; AllowSignedDocument: Boolean = False): TPdfPagePlanValidationReportCompile une opération de page en une correspondance exacte ancien-vers-nouveau et signale les effets sur la navigation, les libellés, les formulaires, la structure, les fonctionnalités importées et les signatures sans modifier l’un ni l’autre document
GenerateLayout(Layout: TPdfLayoutDocument; out Plan: TPdfLayoutPlan; AllowSignedDocument: Boolean = False): BooleanMesure et pagine d’abord, puis ajoute atomiquement du texte natif, des filets, des bordures de tableau, des images, des pages et des XObjects de page réutilisables avec des totaux de pages stables
GeneratePagedLayout(Layout: TPdfLayoutDocument; PagedPlan: TPdfLayoutPagedPlan; out Plan: TPdfLayoutPlan; AllowSignedDocument: Boolean = False): BooleanDiffuse les commandes vers un stockage adressable, matérialise un tableau de pages borné à la fois et ajoute les pages PDFium séquentiellement
GenerateTaggedLayout(Layout: TPdfLayoutDocument; out Plan: TPdfLayoutPlan; const Language: string = 'en-US'): BooleanGénère un nouveau document de mise en page sémantique avec MCIDs natifs, arborescence de structure et parentale complète, texte de remplacement, associations d’en-têtes de tableau et liens balisés
TPdfLayoutDocument.AddLink / AddSemanticNode / SetLastItemSemanticsAttache des liens URI, des conteneurs sémantiques non visuels et des métadonnées de rôle, parent, ID, langue, texte de remplacement, liste et tableau aux éléments de mise en page
TPdfLayoutDocument.AddTable(Table: TPdfLayoutTable)Capture et pagine un tableau avec légendes, en-têtes répétés, lignes scindables, cellules fusionnées, liens, bordures et sémantique balisée continue
TPdfLayoutDocument.AddCachedNode(Node: TPdfLayoutCachedNode; Height: Single = 0; Width: Single = 0)Construit un nœud paresseux une seule fois, met en cache son plan mesuré et émet des placements répétés depuis un seul modèle natif de Form XObject
BeginIncrementalSave(AllowSignedDocument: Boolean = False)Démarre une session de révision d’objets modifiés depuis un instantané sémantique stable tout en conservant le préfixe source exact chiffré ou non chiffré
CommitIncrementalSave(Stream: TStream; out Info: TPdfIncrementalCommitInfo): BooleanAjoute uniquement les objets indirects modifiés ou nouveaux, en héritant des paramètres de sécurité chiffrés et en validant la chaîne complète de révisions
CommitIncrementalSave(const FileName: string; out Info: TPdfIncrementalCommitInfo): BooleanVide durablement, rouvre, valide et remplace atomiquement via un fichier annexe dans le même répertoire tout en restaurant l’état de session après échec
EndIncrementalSaveLibère la ligne de base et l’état de révision accumulé
SaveAsEncrypted(const FileName: string; const Options: TPdfEncryptOptions): BooleanEnregistre le PDF actif avec chiffrement AESV3-CBC ou AESV4-GCM ISO/TS 32003
SaveAsEncryptedToStream(Stream: TStream; const Options: TPdfEncryptOptions): BooleanÉcrit la sortie PDF chiffrée dans n’importe quel TStream adressable sans passer par le disque
ValidatePdfMac(const Password: AnsiString): TPdfMacValidationResultValide un MAC PDF autonome ISO/TS 32004 par rapport aux octets sources chargés d’origine
SaveAsWithAssociateFiles(const FileName: string; const Options: TAssocFilesOptions): BooleanEnregistre le PDF actif vers un chemin de fichier en injectant les fichiers associés dans le catalogue ou les pages conformément à ISO 32000-2 §7.11.4
SaveAsWithAssociateFilesToStream(Stream: TStream; const Options: TAssocFilesOptions): BooleanÉcrit la sortie PDF avec fichiers associés injectés dans n’importe quel TStream adressable sans passer par le disque
CompareWith(Other: TPdf; const Options: TPdfDocumentDiffOptions; out Report: TPdfDocumentDiffReport): BooleanCompare le nombre de pages, la géométrie, la rotation, le texte extrait et les pixels rendus avec tolérance
ImportImposed(const Options: TPdfImpositionOptions; out Plan: TPdfImpositionPlan; out Report: TPdfImpositionExecutionReport): TPdfConstruit une sortie N-up ou livret via une composition native PDFium par lots et signale les compteurs d’exécution
ImportPages(Pdf: TPdf; const Range: string; PageNumber: Integer = 1): BooleanImporte des pages depuis un autre document PDF. Format de plage: '1,3,5-7'
ImportPreferences(Pdf: TPdf): BooleanImporte les préférences d’affichage depuis un autre PDF

Opérations sur les pages

MéthodeDescription
AddPage(PageNumber: Integer; Width, Height: Double)Ajoute une nouvelle page à la position (base 1) indiquée avec les dimensions données (en points, 72 points = 1 pouce). La valeur 0 est acceptée comme alias de compatibilité pour insérer la première page, et la page insérée devient la page courante
DeletePage(PageNumber: Integer)Supprime la page à l’index indiqué
ExtractThumbnail(PageNumber: Integer): TBitmapDécode la miniature intégrée de n’importe quelle page (base 1) sans changer la page active
GetPageBox(Box: TPdfPageBox): TPdfRectangleLit la boîte du dictionnaire de page sélectionnée sur la page courante
RemoveObject(Index: Integer; DestroyObject: Boolean = True)Supprime un objet de page de la page courante et régénère le contenu de page
ReloadPageRecharge la page courante
SetPageBox(Box: TPdfPageBox; const Rectangle: TPdfRectangle)Définit la boîte du dictionnaire de page sélectionnée sur la page courante
UpdatePageApplique les modifications en attente à la page courante (appelle FPDFPage_GenerateContent)

Opérations sur le texte

MéthodeDescription
Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringExtrait le texte de la page courante
TextInRectangle(Left, Top, Right, Bottom: Double): WStringExtrait le texte d’une zone rectangulaire (coordonnées de page)
TextInRectangle(Rectangle: TPdfRectangle): WStringExtrait le texte d’un rectangle
ReadTextPageSnapshot(PageNumber: Integer; const Options: TPdfTextSnapshotOptions; out Status: TPdfTextSnapshotStatus): TPdfTextPageSnapshotCapture le texte, l’Unicode, la géométrie, le style et les métadonnées normalisées d’objets texte en une seule passe native explicitement bornée
TextPageSnapshot[PageNumber: Integer]: TPdfTextPageSnapshotRenvoie une copie profonde appartenant à l’appelant depuis la LRU d’instantanés de texte consciente des révisions sans changer la page active
TextSnapshotCacheCapacity, TextSnapshotCacheCount, TextSnapshotCacheHitCount, TextSnapshotCacheMissCountConfigure une rétention bornée et signale l’occupation du cache, les succès et les échecs
TPdfTextPageSnapshot / TPdfTextSnapshotStatusEnregistrement d’instantané de texte appartenant à l’appelant et modèle de statut de lecture bornée, avec le comportement du cache LRU conscient des révisions
ReadPageObjectsSnapshot(PageNumber: Integer; const Options: TPdfPageObjectSnapshotOptions; out Status: TPdfPageObjectSnapshotStatus): TPdfPageObjectsSnapshotCapture la géométrie, le style, les marques, les détourages, les faits d’image et les faits de texte immuables des objets de page sous budgets explicites
PageObjectsSnapshot[PageNumber: Integer]: TPdfPageObjectsSnapshotRenvoie une copie profonde appartenant à l’appelant depuis la LRU d’instantanés d’objets de page consciente des révisions
PageObjectSnapshotCacheCapacity, PageObjectSnapshotCacheCount, PageObjectSnapshotCacheHitCount, PageObjectSnapshotCacheMissCountConfigure une rétention bornée des objets de page et signale l’occupation du cache, les succès et les échecs
TPdfPageObjectsSnapshot / TPdfPageObjectSnapshotStatusEnregistrement d’instantané d’objets de page appartenant à l’appelant et modèle de statut de lecture bornée, avec le comportement du cache LRU conscient des révisions
GetStructuredText(const Options: TPdfStructuredTextOptions): TPdfStructuredTextPageConstruit un modèle borné de page, bloc, ligne et segments stylés avec géométrie native des caractères et enrichissement sémantique facultatif
ExtractTables(const Options: TPdfTableExtractionOptions): TPdfTablesDétecte les tableaux lignés et alignés sur espaces de la page courante avec cellules fusionnées, indice de confiance et sorties CSV et JSON
ExtractDocumentTables(const Options: TPdfTableExtractionOptions): TPdfTablesExtrait des tableaux bornés sur toutes les pages et marque les chaînes de continuation inter-pages correspondantes
BuildReflowDocument(const Options: TPdfReflowOptions; const CancellationToken: IPdfCancellationToken = nil): TPdfReflowDocumentConstruit un arbre de pages sémantique borné et émet du HTML échappé et adaptatif avec titres, paragraphes, listes, figures et tableaux sensibles aux segments
ApplyOcrSearchLayer(Provider, Options, Report, CancellationToken): BooleanRend les pages sélectionnées via PDFium et ajoute du texte OCR invisible filtré par confiance sans réencoder les images de page
AddText(const Text, Font: WString; FontSize: Single; X, Y: Double; Color: TColor = clBlack; Alpha: Byte = $FF; Angle: Double = 0.0)Ajoute du texte à la position indiquée avec la police, la couleur, la transparence et l’angle de rotation choisis
SetText(ObjectIndex: Integer; const Text: WString)Définit le texte d’un objet texte existant (API PDFium non documentée, peut provoquer des problèmes de mise en forme)
SetTextPositions(ObjectIndex: Integer; const Positions: TPdfSingleArray)Définit les positions de chaque caractère pour un objet texte existant. Les positions commencent avec le deuxième caractère et sont relatives à l’origine de l’objet texte
FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): IntegerDémarre la recherche de texte et renvoie l’indice du caractère ou -1 si rien n’est trouvé
FindNext: IntegerContinue la recherche de texte vers l’avant et renvoie l’indice du caractère ou -1
FindPrevious: IntegerContinue la recherche de texte vers l’arrière et renvoie l’indice du caractère ou -1
CreateDocumentSearch(Text, Options, StartPage, Direction, CancellationToken): TPdfDocumentSearchCrée une recherche paresseuse avant ou arrière sur tout le document avec rétention d’un handle natif d’une page, annulation et géométrie par correspondance
CharacterIndexAtPos(X, Y, ToleranceX, ToleranceY: Double): IntegerRenvoie l’indice du caractère à la position de la page
RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerRenvoie le nombre de rectangles de texte pour une plage de caractères
ReadingUnits: TPdfReadingUnitsRenvoie des unités de lecture par phrase pour l’écoute assistée et la navigation sémantique
DocumentReadingUnits: TPdfReadingUnitsConstruit des enregistrements TPdfReadingUnit au niveau de la phrase pour le flux de contenu lisible de tout le document
PageWordBoxes: TPdfWordBoxesRenvoie des boîtes de mots avec les plages FTextPage et les rectangles de page pour la surbrillance mot à mot
SetReadingWord(const Word: TPdfWordBox)Met en évidence un TPdfWordBox comme mot parlé courant dans TPdfView
ClearReadingWordEfface l’incrustation du curseur de lecture au niveau du mot courante dans TPdfView
TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerMappe un décalage de caractère de page vers le TPdfWordBox conteneur, le met en évidence et renvoie l’indice du mot
SelectWordBox(const Word: TPdfWordBox): BooleanSélectionne la plage de texte du visualiseur représentée par un TPdfWordBox
SelectWordSpan(const Words: TPdfWordBoxes; StartIndex, EndIndex: Integer): BooleanSélectionne une plage d’enregistrements TPdfWordBox de la même page comme une sélection de texte du visualiseur
BuildReadingUnits(Fragments)Convertit des TPdfContentFragments en enregistrements TPdfReadingUnit au niveau de la phrase sans charger pdfium.dll
NextReadingUnitOfKind(Units, CurrentIndex, Kind, GoForward)Trouve le TPdfReadingUnit suivant ou précédent dont Kind correspond à un TPdfContentFragmentKind demandé
BuildWordBoxes(PageText)Scinde le texte de la page en enregistrements TPdfWordBox avec texte du mot et plages de caractères FTextPage
WordBoxIndexAtCharIndex(Words, CharIndex)Mappe un indice de caractère vers l’indice (base 0) du TPdfWordBox qui le contient
SpokenTextAppend(var Spoken: TPdfSpokenText; const SpokenPart: WString; Page, StartIndex: Integer; SourceCount: Integer = -1)Ajoute une séquence de texte parlé mappée à TPdfSpokenText
BuildSpokenTextFromWords(Words, FirstWord, LastWord)Construit un TPdfSpokenText depuis une plage contiguë de TPdfWordBox
SpokenToPageChar(Spoken, SpokenOffset, Page, CharIndex)Traduit un décalage de caractère du moteur de synthèse vocale vers un caractère de page PDF
EstimateSpokenWordIndex(Words, ElapsedMs, WordsPerMinute)Estime l’indice du mot parlé quand le moteur de synthèse vocale ne signale aucune position de mot

Opérations sur les annotations

MéthodeDescription
CreateAnnotation(const Annotation: TPdfAnnotation)Crée une nouvelle annotation sur la page courante
DeleteAnnotation(Index: Integer)Supprime l’annotation à l’index indiqué

Aplatissement des formulaires

MéthodeDescription
GenerateFormAppearancesRégénère les flux d’apparence /AP de chaque widget de formulaire sur chaque page (FPDF_FFLDraw). À appeler après les affectations FormField[] et avant SaveAs / FlattenPage / FlattenAllPages
FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerAplatit les annotations et widgets de formulaire de la page courante en contenu statique. Renvoie FLATTEN_SUCCESS, FLATTEN_NOTHINGTODO ou FLATTEN_FAIL
FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): BooleanAplatit chaque page du document. Renvoie True quand toutes les pages réussissent
SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Définit les indicateurs de champ AcroForm du champ de formulaire à l’index d’annotation indiqué sur la page courante
SetFormFieldFlagsAt(X, Y: Single; const Flags: TPdfFormFieldFlags)Définit les indicateurs de champ AcroForm du champ de formulaire aux coordonnées de page indiquées

Opérations XFA

Les bibliothèques Windows ordinaires v3.125.3 signalent les échecs d’écriture finale mise en mémoire tampon comme des échecs d’enregistrement, alignant le correctif sur la réparation V8 de la v3.125.2. Les bibliothèques V8 de Windows préservent le texte édité dans les enregistrements XDP par tableau de paquets et monoflux pris en charge, y compris les blancs d’origine et les caractères Unicode supplémentaires. En v3.126.0, le XDP monoflux pris en charge conserve aussi les commentaires et instructions de traitement hors des datasets vivants et paquets de formulaire remplacés, y compris les entrées UTF-8 et UTF-16 marquées par un BOM ; les encodages d’entrée invalides, balises incomplètes, références d’entité invalides, instructions de traitement mal formées, commentaires ou instructions de traitement à l’intérieur des paquets remplacés, déclarations DTD et XMLDSig sont rejetés. Ce sont des garde-fous d’enregistrement bornés, pas un validateur XML complet. Les autres paquets pris en charge et les espaces de noms racine sont conservés sémantiquement ; la conformité à des formes externes arbitraires et la sérialisation XML octet identique restent hors du périmètre vérifié

Le copier-couper-coller de la visionneuse et des formulaires Windows utilise en v3.126.0 un budget borné de 100 ms de réessais d’ouverture du presse-papiers, sans pomper les messages d’interface ; un accès au presse-papiers indisponible renvoie toujours un échec, et un couper échoué préserve le texte et la sélection originaux du champ

En v3.126.1, les ajouts et suppressions de pages XFA dynamiques mettent à jour TPdf.PageCount et OnXfaPageCountChanged à partir du nombre total réel de pages de la mise en page achevée, au lieu d’interpréter le delta de l’événement natif comme le total

En v3.126.2, la consultation complète des XFA garde intacts les réglages par défaut de sélection de texte, remplace le texte sélectionné du champ lors de la saisie au clavier et rafraîchit les handles de pages au retour d’un rappel de mise en page dynamique ; les champs en lecture seule et AllowFormEvents conservent leurs restrictions de saisie

Les garde-fous d’enregistrement des bibliothèques V8 Windows v3.126.2 valident la syntaxe des attributs, les attributs dupliqués, les noms qualifiés, les portées d’espaces de noms et les déclarations XML avant de modifier le XDP monoflux ; les schémas XML, DTD, XMLDSig, XML 1.1 et les noms des plans supplémentaires restent hors du périmètre pris en charge

AnalyzeSignatureRevisions sépare la propriété des pages des liens de navigation des widgets et préserve le contexte de contenu de page pour les charges utiles d’apparence partagées, empêchant qu’une modification ultérieure de page soit traitée comme une mise à jour autorisée de formulaire ou d’annotation

Les bibliothèques V8 de Windows v3.126.1 rafraîchissent aussi la géométrie des widgets de saisie chargés lorsque la mise en page dynamique déplace un champ, gardant son texte et sa zone de saisie native alignés avec le nouvel emplacement. Le fixture requis du dépôt vérifie l’ajout, la suppression et les changements de hauteur d’instances via les événements natifs ; les formulaires externes arbitraires et la saisie au premier plan dans la visionneuse restent un travail d’acceptation distinct

MéthodeDescription
GetXfaConfigRécupère les octets XML bruts du paquet de configuration XFA du document PDF
GetXfaDatasetsRécupère les octets XML d’origine des datasets XFA du document PDF
GetXfaFormPacketsCapture tous les paquets XFA intégrés dans une collection TXfaPacketList
GetXfaPacketByNameRenvoie les octets de contenu bruts du paquet XFA identifié par son nom
GetXfaPacketContentRenvoie les octets de contenu bruts du paquet XFA à l’index indiqué (base 0)
GetXfaPacketCountRenvoie le nombre de paquets XFA intégrés dans le document
GetXfaPacketNameRenvoie le nom du paquet XFA à l’index indiqué (base 0)
GetXfaTemplateRécupère les octets XML bruts du paquet de modèle XFA du document PDF

Opérations sur les pièces jointes

MéthodeDescription
CreateAttachment(const Name: WString): BooleanCrée une nouvelle pièce jointe vide
DeleteAttachment(Index: Integer): BooleanSupprime la pièce jointe à l’index indiqué

Opérations sur les images

MéthodeDescription
AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): BooleanAjoute une image JPEG depuis un flux à la position et taille indiquées
AddPicture(Picture: TPicture; X, Y: Double)Ajoute une image à la position indiquée (taille d’origine)
AddPicture(Picture: TPicture; X, Y, Width, Height: Double)Ajoute une image à la position indiquée avec la taille spécifiée
AddImage(const FileName: string; X, Y, Width, Height: Double)Insertion directe d’un fichier image (délègue à AddPicture via un TPicture temporaire); accepte tout format d’image enregistré auprès des unités graphiques VCL ou LCL
AddImage(Bitmap: TBitmap; X, Y, Width, Height: Double)Insère un TBitmap pf32bit directement sans l’intermédiaire TPicture; déclenche EPdfError sur bitmap nil

Opérations de dessin

MéthodeDescription
CreatePath(X, Y: Single; FillMode; FillColor; FillAlpha; Stroke; StrokeColor; StrokeAlpha; StrokeWidth; LineCap; LineJoin; BlendMode)Crée un tracé commençant à la position (X, Y)
CreatePath(X, Y, Width, Height: Single; ...)Crée un tracé rectangulaire avec les limites données
MoveTo(X, Y: Single)Déplace le point courant vers (X, Y)
LineTo(X, Y: Single)Trace une ligne du point courant vers (X, Y)
BezierTo(X1, Y1, X2, Y2, X3, Y3: Single)Trace une courbe de Bézier avec deux points de contrôle et un point final
ClosePathFerme le sous-tracé courant
AddPathAjoute le tracé terminé à la page courante

Rendu

MéthodeDescription
RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation; Options)Rend la page dans un contexte de périphérique (HDC)
RenderPage(Left, Top, Width, Height: Integer; Rotation; Options; Color): TBitmapRend la page dans un nouveau bitmap
RenderPage(Bitmap: TBitmap; Left, Top, Width, Height: Integer; Rotation; Options; Color)Rend la page dans un bitmap existant
RenderPageByIndex(PageNumber, Width, Height: Integer; Rotation; Options; Color): TBitmapRend n’importe quelle page à une taille exacte sans changer la page active, en réutilisant les scènes de page analysées
RenderPageSkia(Canvas, Width, Height, DrawFormOverlay)Rend la page active et l’incrustation de formulaire facultative dans un SkCanvas appartenant à l’appelant quand le module PDFium chargé expose Skia
RenderPageSkiaByIndex(Canvas, PageNumber, Width, Height, DrawFormOverlay)Rend n’importe quelle page vers Skia via le cache borné de scènes de page analysées sans changer la page active
SpotPlates / RenderSpotPlate / PageUsesOverprint / RenderOverprintPreviewÉnumère et rend les plaques d’impression exactes ou l’aperçu de surimpression via l’ABI facultatif de sortie d’impression soumis à détection de capacités
GetSkiaRenderCapabilities / GetPrintOutputCapabilitiesSonde les exports facultatifs de rendu natif sans en faire des exigences de chargement de la DLL PDFium
RenderPageThumbnail(PageIndex, MaxWidth, MaxHeight, Rotation, Options, Background, ColorScheme): TBitmapRend n’importe quelle page (base 1) dans un bitmap de miniature appartenant à l’appelant avec rotation, indicateurs, arrière-plan et couleurs malvoyants facultatifs sans changer PageNumber
ThumbnailCacheMaxEntries / ThumbnailCacheMaxBytes / ThumbnailCacheStatistics / ClearThumbnailCacheLimite la rétention des miniatures intégrées et rendues par plafonds d’éléments et d’octets de pixels et examine la télémétrie LRU
ClearPageSceneCacheLibère toutes les scènes de page analysées inutilisées et retire les entrées en cours lorsque leur rendu se termine
RenderPagesParallel(PageNumbers; Options; CancellationToken): TPdfParallelRenderReportRend simultanément plusieurs demandes de pages (base 1) via des documents de travail isolés partageant une source unique immuable en mémoire, fichier mappé ou accès aléatoire natif
RenderPageBandedToEncoder(Width, Height, BandHeight; Encoder): TPdfBandedImageReportFournit à un codec de l’appelant des bandes de page correctement détourées sans assembler un bitmap pleine page
RenderPageBandedToStream(Stream, Width, Height, StreamOptions): TPdfBandedImageReportÉcrit une sortie PNG ou TIFF en avant seul avec mémoire de bandes bornée et plafond facultatif d’octets de sortie
RenderDiffOverlay(Other: TPdf; const Difference: TPdfPageDifference; const Options: TPdfDocumentDiffOptions): TBitmapRend une différence TPdfPageDifference renvoyée par CompareWith sous la forme d’un bitmap de superposition appartenant à l’appelant
RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; ...): TBitmapRend une tuile (portion) d’une page dans un nouveau bitmap
RenderTile(Bitmap: TBitmap; Left, Top, Width, Height, PageWidth, PageHeight: Integer; ...)Rend une tuile dans un bitmap existant
InvertPdfBitmap(Bitmap)Inverse les canaux RGB d’un TBitmap 32 bits rendu sur place pour l’affichage sombre ou à contraste élevé
GrayscalePdfBitmap(Bitmap)Convertit sur place un TBitmap 32 bits rendu en niveaux de gris de luminance
DuotonePdfBitmap(Bitmap, DarkColor, LightColor)Mappe sur place la luminance du bitmap rendu vers des couleurs sombres et claires choisies par l’appelant

Conversion de coordonnées

MéthodeDescription
DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): BooleanConvertit les coordonnées périphérique en coordonnées de page
PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): BooleanConvertit les coordonnées de page en coordonnées périphérique

Signatures numériques PAdES

MéthodeDescription
PadesCryptoAvailableIndique si le backend cryptographique de signature est disponible sur le système
AnalyzeSignatureRevisionsClasse les révisions ultérieures des octets d’origine par rapport aux permissions DocMDP et FieldMDP de chaque signature
BuildPadesEvidenceReport(Options)Met en corrélation les faits natifs de signature, la confiance, les horodatages, les stratégies, la couverture DSS/VRI et les révisions ultérieures en preuves JSON ou CSV bornées
PreparePadesRemoteSignature(Prepared; Options; out Request)Prépare un espace réservé de signature détachée lié à une empreinte avec contraintes facultatives de seed value, certificat, FieldMDP et DocMDP pour un flux HSM, cloud ou interrompu
CompletePadesRemoteSignature(Prepared; Dest; Request; CmsDer)Valide et remplit une session de signature à distance persistée avec la valeur CMS détachée retournée
SavePadesRemoteSigningRequest(Stream; Request)Sérialise une requête de signature à distance versionnée pour une reprise ultérieure
LoadPadesRemoteSigningRequest(Stream)Charge et valide une requête de signature à distance persistée
RenewPadesArchiveTimestamp(FileName; Options; out Report)Ajoute un nouvel horodatage de document d’archivage sans modifier les révisions signées antérieures
RenewPadesArchiveTimestampToStream(Stream; Options; out Report)Écrit la chaîne B-LTA renouvelée dans un flux après validation complète
SaveAsPadesDss(const FileName: string; const Options: TPadesDssOptions)Enregistre le PDF actif avec du matériel DSS PAdES dédupliqué et des dictionnaires VRI spécifiques aux signatures
SaveAsPadesDssToStream(Stream: TStream; const Options: TPadesDssOptions)Enregistre le PDF actif dans un flux avec du matériel DSS PAdES dédupliqué et des dictionnaires VRI spécifiques aux signatures
SignPades(const FileName: string; const Options: TPadesSignOptions)Ajoute une signature PAdES d’approbation ou de certification contrainte en utilisant les magasins de certificats locaux
SignPadesToStream(Stream: TStream; const Options: TPadesSignOptions)Écrit une mise à jour de signature PAdES contrainte d’approbation ou de certification dans un flux
SignPadesWithPdfA(const FileName: string; const Options; PdfAOptions)Enregistre un document PDF signé PAdES conforme aux normes d’archivage PDF/A
ValidatePadesInspecte les structures PAdES des octets d’origine, rejette les clés requises ambiguës, prouve l’exclusion exacte du jeton Contents et signale les révisions couvertes, les états cryptographiques, les profils d’algorithmes ISO/TS 32002, le niveau de base et les problèmes structurels
ValidatePadesTrust(Options)Valide l’intégrité de la signature sur les octets d’origine, la confiance système courante, les preuves de révocation facultatives et les jetons d’horodatage RFC 3161
ValidatePadesTrustAsync(Options; Reply)Exécute la validation de confiance par étapes sur un thread de travail avec progression et annulation

Propriétés du composant TPdf

Propriétés publiées (conception)

PropriétéTypeDescription
AboutstringInformations de version du composant (stored False)
ActiveBooleanTrue pour charger/activer le document, False pour le fermer
FileNamestringChemin du fichier PDF à charger
FormFillBooleanActive le remplissage interactif des formulaires avec prise en charge JavaScript (True par défaut)
PageNumberIntegerNuméro de page courant (base 1, 0 quand aucun document n’est chargé)
PasswordstringMot de passe pour ouvrir les documents PDF chiffrés

Propriétés du document

PropriétéTypeR/WDescription
AuthorWStringRAuteur du document
CompressedBooleanR/WQuand True (défaut), SaveAs post-traite la sortie pour garantir que tous les flux sont compressés en FlateDecode
CreationDateWStringRMétadonnées de date de création du document
CreatorWStringRApplication ayant créé le document
DocumentFPDF_DOCUMENTRHandle PDFium de document de bas niveau
FileIdentifier[IDType: TPdfFileIdentifierType]TBytesROctets d’identifiant de fichier du trailer permanent ou changeant sans l’octet terminateur PDFium
FormTypeTPdfFormTypeRType de formulaire: ftNone, ftAcroForm, ftXFAFull, ftXFAForeground
IsTaggedBooleanRTrue si le document est un PDF balisé
JavaScriptAction[Index]TPdfJavaScriptActionRAction d’arbre de noms JavaScript au niveau du document par index (base 0)
JavaScriptActionCountIntegerRNombre d’actions d’arbre de noms JavaScript au niveau du document
JavaScriptActionsTPdfJavaScriptActionsRToutes les actions d’arbre de noms JavaScript au niveau du document
KeywordsWStringRMots-clés du document
LanguageWStringR/WLangue du catalogue du document (/Lang)
StructureElementsTPdfStructureElementsRÉléments de structure logique aplatis de la page courante via le cache d’instantanés partagé
StructureElementsForPage[PageNumber]TPdfStructureElementsRInstantané de structure en cache appartenant à l’appelant pour n’importe quelle page (base 1) sans changer la page active
StructureCacheCapacityIntegerR/WNombre maximal d’instantanés complets de structure de page conservés par le cache LRU
StructureCacheCountIntegerRNombre courant d’instantanés de structure de page en cache
StructureCacheHitCount / StructureCacheMissCountInt64RTélémétrie cumulative du cache d’instantanés de structure pour cette instance de composant
MetaText[const Tag: string]WStringRValeur de métadonnées arbitraire par nom de balise
MetadataTPdfDocumentMetadataRUn seul instantané contenant les huit champs de métadonnées standard du dictionnaire Info
ModifiedDateWStringRMétadonnées de date de dernière modification
PageCountIntegerRNombre total de pages
PdfVersionTPdfVersionRVersion PDF effective, y compris un remplacement /Version de catalogue valide le cas échéant
PermissionsLongWordRIndicateurs de permissions du document
GrantedPermissionsTPdfPermissionsREnsemble typé de permissions du mot de passe propriétaire décodé depuis Permissions
PrintCopiesIntegerRNombre de copies d’impression spécifié
PrintPageRangesTPdfPrintPageRangesRPlages de pages d’impression (base 1) issues des préférences du visualiseur
PrintPaperHandlingTPrintPaperHandlingRPréférence de manipulation du papier
PrintScalingBooleanRIndique si la mise à l’échelle d’impression est activée
ProducerWStringRApplication productrice du PDF
SubjectWStringRSujet du document
TitleWStringRTitre du document
UserPermissionsLongWordRPermissions au niveau utilisateur
UserGrantedPermissionsTPdfPermissionsREnsemble typé de permissions du mot de passe utilisateur décodé depuis UserPermissions
ViewerPreference[const Key: string]WStringRValeur de préférence du visualiseur par clé
XFABooleanRTrue si le document contient des formulaires XFA

Propriétés de page

PropriétéTypeR/WDescription
PageFPDF_PAGERHandle PDFium de page de bas niveau
PageBoundsTPdfRectangleRRectangle englobant de la page courante
PageComplexityTPdfPageComplexityRFaits natifs d’objets, de segments, de pixels d’image et de transparence pour la page courante
PageBox[Box: TPdfPageBox]TPdfRectangleR/WMediaBox, CropBox, BleedBox, TrimBox ou ArtBox de la page courante
PageHeightDoubleRHauteur de la page courante en points
PageLabel[PageNumber: Integer]WStringRLibellé de page pour un numéro de page donné
PageModeTPageModeRMode d’affichage du document à l’ouverture
PageRotationTRotationR/WRotation de la page courante (ro0, ro90, ro180, ro270)
PageWidthDoubleRLargeur de la page courante en points
ThumbnailTBitmapRBitmap miniature de la page courante
TransparentBooleanRTrue si la page courante contient du contenu transparent

Propriétés de texte et de caractères

PropriétéTypeDescription
Character[Index]WideCharCaractère Unicode à l’index indiqué
CharacterAngle[Index]SingleAngle de rotation du caractère en radians
CharacterCountIntegerNombre de caractères sur la page courante
CharacterFontSize[Index]DoubleTaille de police du caractère à l’index indiqué; FontSize[Index] demeure un alias compatible
CharacterFontWeight[Index]IntegerGraisse de police du caractère à l’index indiqué
CharacterGenerated[Index]BooleanTrue si le caractère a été généré (et ne provient pas du contenu d’origine)
CharacterIsHyphen[Index]BooleanTrue si le caractère est un trait d’union
CharacterMapError[Index]BooleanTrue si le caractère présente une erreur de mappage
CharacterOrigin[Index]TPdfPointPoint d’origine du caractère
CharacterRectangle[Index]TPdfRectangleRectangle englobant du caractère
Charcode[Index]WideCharCode du caractère à l’index indiqué
FindFPDF_SCHHANDLEHandle PDFium de recherche de bas niveau
Rectangle[Index]TPdfRectangleRectangle de texte issu du dernier appel à RectangleCount
TextPageFPDF_TEXTPAGEHandle PDFium de page de texte de bas niveau

Propriétés de police

PropriétéTypeDescription
FontAscent[Index; FontSize]SingleAscendente de la police utilisée par l’objet texte à l’index indiqué
FontBaseName[Index]WStringNom de police de base de l’objet texte à l’index indiqué
FontData[Index]TBytesDonnées de police brutes de l’objet texte à l’index indiqué
FontDescent[Index; FontSize]SingleDescendante de la police utilisée par l’objet texte à l’index indiqué
FontFamilyName[Index]WStringNom de famille de police de l’objet texte à l’index indiqué
FontHandle[Index]FPDF_FONTHandle PDFium de police de bas niveau de l’objet texte à l’index indiqué
FontIsEmbedded[Index]BooleanTrue si la police de l’objet texte est intégrée dans le PDF
FontItalicAngle[Index]IntegerAngle italique de la police de l’objet texte
FontSize[Index]DoubleAlias rétrocompatible de CharacterFontSize[Index]
FontWeight[Index]IntegerGraisse de la police de l’objet texte (par exemple 400 = normal, 700 = gras)

Propriétés d’objet

PropriétéTypeDescription
ObjectCountIntegerNombre d’objets de page
ObjectType[Index]TObjectTypeType: otUnknown, otText, otPath, otImage, otShading, otForm
ObjectBounds[Index]TPdfRectangleRectangle englobant de l’objet
ObjectBitmap[Index]TBitmapReprésentation bitmap de l’objet
ObjectHandle[Index]PointerHandle d’objet de bas niveau
ObjectTransparent[Index]BooleanTrue si l’objet est transparent

Propriétés d’image

PropriétéTypeDescription
Bitmap[Index]TBitmapBitmap de l’objet de page à l’index indiqué
BitmapCountIntegerNombre d’objets bitmap sur la page
Image[Index]TPdfImageDonnées d’image (Width, Height, Data) à l’index indiqué
ImageInfo[Index]TPdfImageInfoDimensions légères, filtres, DPI, profondeur de bits, espace colorimétrique, ID de contenu marqué et faits ICC sans copier les octets de charge utile
ImageCountIntegerNombre d’images sur la page

Propriétés d’annotation

PropriétéTypeR/WDescription
Annotation[Index]TPdfAnnotationR/WLit ou définit l’annotation à l’index indiqué
AnnotationCountIntegerRNombre d’annotations sur la page courante

Propriétés de formulaire

PropriétéTypeR/WDescription
FormField[Index]WStringR/WValeur du champ de formulaire par index
FormFieldAt[X, Y: Single]WStringR/WValeur du champ de formulaire à la position de page
FormFieldCountIntegerRNombre de champs de formulaire sur la page courante
FormFieldInfo[Index]TPdfFormFieldInfoRInformations du champ de formulaire par index
FormFieldInfoAt[X, Y: Single]TPdfFormFieldInfoRInformations du champ de formulaire à la position de page
FormFieldTypeAtPoint(X, Y: Double; out FieldType)BooleanRRenvoie le type de champ natif en un point de page sans allouer de handle d’annotation
FocusedFormFieldValue()WStringRRenvoie la valeur du champ de formulaire logique courant via FocusedFormFieldIndex sans dépendre du caret interactif
FocusedFormFieldName()WStringRRenvoie le nom d’affichage du champ de formulaire logique courant, en privilégiant AlternateName et en retombant sur Name
FocusedFormFieldDetails()TPdfFormFieldInfoRRenvoie le TPdfFormFieldInfo du champ de formulaire logique courant
FormHandleFPDF_FORMHANDLERHandle de remplissage de formulaire de bas niveau
HasFormFieldAt[X, Y: Single]BooleanRTrue si un champ de formulaire existe à la position

Propriétés de pièce jointe

PropriétéTypeR/WDescription
Attachment[Index]TBytesR/WDonnées de la pièce jointe par index
AttachmentCountIntegerRNombre de pièces jointes
AttachmentName[Index]WStringRNom de fichier de la pièce jointe par index
AttachmentType[Index]WStringRSous-type MIME de la pièce jointe par index

Propriétés de navigation

PropriétéTypeDescription
Bookmark[const Title: WString]TBookmarkRecherche un signet par titre avec destination, action, état ouvert, nombre de descendants, chemin et métadonnées de couleur
BookmarkChildren[const Bookmark: TBookmark]TBookmarksSignets enfants d’un signet
BookmarkFrom[Handle: FPDF_BOOKMARK]TBookmarkDonnées de signet depuis un handle
BookmarksTBookmarksTableau des signets de premier niveau
Destination[Index]TDestinationDestination nommée par index avec mode d’affichage et paramètres d’affichage bruts
DestinationByName[const Name: WString]TDestinationDestination nommée par nom
DestinationCountIntegerNombre de destinations nommées
HasBookmarkChildren[const Bookmark: TBookmark]BooleanTrue si le signet a des enfants
LinkAnnotation[PageNumber, Index]TLinkAnnotationAnnotation de lien sur une page donnée
LinkAnnotationCount[PageNumber]IntegerNombre d’annotations de lien sur une page
WebLink[PageNumber, Index]TWebLinkLien web (URL) sur une page donnée
WebLinkCount[PageNumber]IntegerNombre de liens web sur une page

Propriétés de signature numérique

PropriétéTypeDescription
Signature[Index]TPdfSignatureInformations de signature numérique à l’index indiqué
SignatureCountIntegerNombre de signatures numériques dans le document
SignaturesTPdfSignaturesInstantané appartenant à l’appelant de chaque signature numérique native

Événements TPdf

ÉvénementTypeDescription
OnFormFieldEnterTPdfFormFieldEnterEventDéclenché à l’entrée dans un champ de formulaire. Paramètres: Sender: TObject; const Text: WString
OnFormFieldExitTNotifyEventDéclenché quand le focus quitte un champ de formulaire
OnJavaScriptAlertTPdfJavaScriptAlertEventDéclenché quand le JavaScript intégré au PDF appelle app.alert pour afficher une boîte de message
OnJavaScriptBeepTPdfJavaScriptBeepEventDéclenché quand le JavaScript intégré au PDF appelle app.beep pour jouer un son système
OnJavaScriptMailTPdfJavaScriptMailEventDéclenché quand le JavaScript intégré au PDF appelle mailDoc ou app.mailMsg pour composer un message électronique
OnJavaScriptPrintTPdfJavaScriptPrintEventDéclenché quand le JavaScript intégré au PDF appelle print pour démarrer un travail d’impression
OnJavaScriptResponseTPdfJavaScriptResponseEventDéclenché quand les actions JavaScript intégrées au PDF demandent une interaction utilisateur
OnJavaScriptSubmitFormTPdfJavaScriptSubmitFormEventDéclenché quand le JavaScript intégré au PDF soumet un formulaire vers une URL
OnNamedActionTPdfNamedActionEventDéclenché quand le document déclenche une action nommée; définissez Handled pour prendre en charge les quatre noms de navigation standard
OnPageChangeTNotifyEventDéclenché quand la page courante change
OnUnsupportedFeatureTPdfUnsupportedFeatureEventDéclenché quand le PDF contient une fonctionnalité non prise en charge
OnXfaEmailTPdfXfaEmailEventDéclenché quand un formulaire XFA dynamique demande une action de courrier électronique
OnXfaFocusChangeTPdfXfaFocusChangeEventDéclenché quand le champ focus change dans un formulaire XFA dynamique
OnXfaGotoUrlTPdfXfaGotoUrlEventDéclenché à la navigation vers les URL de liens dans les formulaires XFA dynamiques
OnXfaHttpRequestTPdfXfaHttpRequestEventDéclenché quand un formulaire XFA dynamique émet une requête HTTP
OnXfaOpenFileTPdfXfaOpenFileEventDéclenché quand un formulaire XFA dynamique demande l’ouverture d’un fichier externe
OnXfaPageCountChangedTPdfXfaPageCountChangedEventDéclenché quand le nombre de pages d’un formulaire XFA dynamique change à l’exécution
OnXfaRuntimeMissingTNotifyEventDéclenché quand un document XFA est ouvert mais que le runtime XFA est indisponible
OnXfaUriActionTPdfXfaUriActionEventDéclenché quand les actions URI de liens se déclenchent dans des contextes XFA dynamiques
OnFormCursorTPdfFormCursorEventDéclenché quand un champ de formulaire demande une forme de curseur; définissez Handled pour remplacer le curseur natif
OnFormValueChangeTPdfFormValueChangeEventDéclenché après changement de la valeur du champ de formulaire ayant le focus
OnFormUriActionTPdfFormUriActionEventDéclenché quand un champ de formulaire déclenche une action URI; définissez Handled pour supprimer la navigation native
OnFormGoToActionTPdfFormGoToActionEventDéclenché quand un champ de formulaire déclenche une action go-to avec page, mode de zoom et positions; définissez Handled pour naviguer manuellement
OnFormSelectionRectTPdfFormSelectionRectEventDéclenché quand la couche formulaire signale un rectangle de sélection pour le champ ayant le focus

Autres méthodes et propriétés publiques

APIDescription
function AnalyzeSignatureRevisions: TPadesRevisionAnalysisReportReconstruit la chaîne de révisions d’origine et classe les changements d’objets ultérieurs pour chaque signature intégrée
function BuildPadesEvidenceReport(const Options: TPadesEvidenceReportOptions): TPadesEvidenceReportConstruit des preuves multi-signatures exportables depuis une seule capture conservée des octets d’origine
property About: stringSignale les informations de version du composant PDFium Delphi Component pour TPdf
ActiveOuvre ou ferme le document PDF sélectionné
function AddAnnotationFileAttachment(AnnotIndex: Integer; const Name: WString; const FileData: TBytes): BooleanJoint un fichier intégré à une annotation existante et écrit son contenu en un seul appel
procedure AddImage(const FileName: string; X, Y, Width, Height: Double)Insère une image depuis un fichier dans la page PDF courante. Utilise en interne TPicture.LoadFromFile, de sorte que tout format d’image enregistré auprès des unités graphiques VCL ou LCL (BMP, PNG via Vcl.Imaging.PngImage / LCL TPortableNetworkGraphic, JPG, etc.) est accepté. Les coordonnées sont dans l’espace utilisateur PDF (origine en bas à gauche de la page); Width et Height sont la taille de placement en unités utilisateur, et non la taille en pixels de l’image source
function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): BooleanAjoute une image JPEG à la page PDF courante aux coordonnées indiquées
procedure AddPage(PageNumber: Integer; Width, Height: Double)Crée une nouvelle page vierge avec les dimensions données en points
AddPathValide le tracé MoveTo/LineTo/BezierTo accumulé comme nouvel objet de page avec le rendu demandé
procedure AddPathToAnnotation(Index: Integer)Confie le tracé CreatePath en attente à une annotation d’encre ou de tampon plutôt qu’au contenu de page
procedure AddPicture(Picture: TPicture; X, Y: Double)Ajoute une image à la page PDF courante aux coordonnées indiquées
function AddPageObjectMark(Index: Integer; const Name: AnsiString; const Params: TPdfContentMarkParams): IntegerAjoute une entrée de contenu marqué et sa liste initiale de propriétés typées à un objet de page
PageObjectInfo / AnnotationObjectInfo / PageObjectMarks / PathInfo / TransformPageObject / RenderPageWithMatrixInspection avancée du contenu de page et des objets d’annotation, marques, tracés, transformations et métriques de texte sur une seule page de vue d’ensemble
function SharePageObjectMark(TargetIndex, SourceIndex, SourceMarkIndex: Integer): BooleanRéutilise une marque de propriété de contenu marqué native sur un autre objet de page
function AddShapedText(const Text, Font: WString; FontSize: Single; X, Y: Double; out Shaped: TPdfShapedText; Direction: TPdfTextDirection = ptdAuto; Color: TColor = clBlack; Alpha: Byte = $FF): BooleanMet en forme les séquences bidi et d’écritures complexes en glyphes CID Type 2 positionnés avec la sémantique ToUnicode et ActualText logique
procedure AddStandardFontText(const Text: WString; StandardFont: TPdfStandardFont; FontSize: Single; X, Y: Double; Color: TColor; Alpha: Byte; Angle: Double = 0.0)Dessine du texte avec l’une des 14 polices standard PDF, sans intégrer de programme de police
function AddCidType2Text(const FontData: TBytes; const Glyphs: TPdfCidGlyphs; FontSize: Single; X, Y: Double; const Options: TPdfCidFontOptions; out Report: TPdfCidFontReport; Color: TColor = clBlack; Alpha: Byte = $FF): BooleanIntègre des glyphes CID Type 2 positionnés avec mappages Unicode explicites, sous-ensemble TrueType facultatif, repli contrôlé et vérification d’extraction
procedure AddText(const Text, Font: WString; FontSize: Single; X, Y: Double; Color: TColor = clBlack; Alpha: Byte = $FF; Angle: Double = 0.0)Ajoute du texte à la page PDF courante à la position indiquée
AnnotationPropriété indexée — renvoie l’enregistrement d’annotation à l’index donné sur la page courante (sous-type, rectangle, couleur, contenu, etc.)
AnnotationCountNombre d’objets d’annotation attachés à la page actuellement active
function AnnotationObjectCount(Index: Integer): IntegerCompte les objets de page dont se dessine une annotation d’encre ou de tampon
function AnnotationObjectInfo(Index, ObjectIndex: Integer): TPdfPageObjectInfoLit le type, les limites, la matrice, les couleurs et le style de ligne d’un objet de page détenu par une annotation
property Attachment[Index: Integer]: TBytesLit ou remplace la charge utile d’octets bruts du fichier intégré au niveau du document à l’index indiqué (base 0). Chaque emplacement correspond à une entrée de l’arbre de noms EmbeddedFiles du PDF défini à la section 7.11 de la spécification PDF 1.7
AttachmentCountNombre de pièces jointes fichier intégrées déclarées dans le document
property AttachmentDescription[Index: Integer]: WStringLit ou écrit la description /Desc d’un fichier intégré au niveau du document
function AttachmentHasKey(Index: Integer; const Key: WString): BooleanTeste si une pièce jointe intégrée porte une clé de spécification de fichier donnée
AttachmentNameRenvoie le nom de fichier Unicode enregistré pour le fichier intégré à l’index donné (base 0) dans l’arbre de noms EmbeddedFiles du document
property AttachmentRelationship[Index: Integer]: WStringRenvoie le nom /AFRelationship d’un fichier intégré au niveau du document (ISO 32000-2 Table 43), ou une chaîne vide en son absence
AttachmentTypeRenvoie la chaîne MIME / sous-type enregistrée pour le fichier intégré à l’index indiqué (base 0). La valeur provient de l’entrée /Subtype du dictionnaire de spécification de fichier défini à la section 7.11.3 du PDF
AuthorRenvoie la valeur de l’entrée /Author du dictionnaire d’informations du document PDF
BezierToAjoute une courbe de Bézier cubique du point courant via les points de contrôle (X1,Y1) et (X2,Y2) jusqu’à (X3,Y3)
BitmapRenvoie un TBitmap VCL fraîchement décodé contenant les données raster de l’objet image spécifié sur la page courante. Le bitmap est alloué à chaque appel; l’appelant en est propriétaire et doit appeler Free
BitmapCountNombre d’objets de page image sur la page active, accessibles en tant que TBitmap VCL
BookmarkRecherche un signet par sa chaîne de titre et renvoie l’enregistrement TBookmark correspondant de l’arbre de signets du document défini à la section 12.3.3 du PDF
BookmarkChildrenPropriété indexée — renvoie les signets enfants immédiats d’un nœud signet parent donné
BookmarkFromConvertit un handle FPDF_BOOKMARK brut en enregistrement TBookmark entièrement rempli en lisant le titre, la page de destination et les métadonnées d’action de ce nœud de signet
BookmarksPropriété indexée — renvoie la liste complète des entrées de signets de premier niveau du document
CharacterAccès indexé en lecture seule à la forme de chaîne UTF-16 du caractère à l’index donné (généralement une unité de code, mais deux pour une paire de substitution)
CharacterAngleAccès indexé en lecture seule à l’angle de rotation du caractère en radians, en tenant compte de la CTM de page
CharacterCountNombre de caractères extractibles sur la page actuellement active
CharacterFontSizeAccès indexé en lecture seule à la taille de police effective utilisée pour rendre le caractère (en points PDF, après mise à l’échelle CTM)
CharacterFontWeightAccès indexé en lecture seule à la valeur OS/2 usWeightClass de la police utilisée (100 = Thin, 400 = Regular, 700 = Bold, 900 = Black)
CharacterGeneratedRenvoie True quand le caractère à l’index indiqué a été synthétisé par PDFium pendant l’extraction de texte au lieu d’être dessiné explicitement par le flux de contenu de page. Les caractères synthétiques sont émis pour l’expansion des ligatures, la césure souple et les heuristiques de frontières de mots/lignes afin que la recherche et la sélection intégrale se lisent naturellement
function CharacterIndexToTextIndex(Index: Integer): IntegerMappe un index de caractère vers son décalage dans le texte extrait, ou -1 pour les caractères générés
function CharacterInfo(Index: Integer): TPdfCharacterInfoLit la couleur, le nom et les indicateurs de police, les limites larges, la matrice et l’objet texte propriétaire d’un caractère
function CharacterIndexAtPos(X, Y, ToleranceX, ToleranceY: Double): IntegerRenvoie l’index d’un caractère à une position donnée de la page ou à proximité. S’il n’y a aucun caractère au point ou à proximité, la valeur renvoyée est -1. En cas d’erreur, -3 est renvoyé
CharacterIsHyphenRenvoie True quand le caractère à l’index indiqué est reconnu comme une césure souple utilisée pour couper les mots en fin de ligne. Utile pour reconstituer des mots à travers les retours à la ligne sans conserver le trait d’union visible
CharacterMapErrorRenvoie True quand le caractère à l’index indiqué n’a pas pu être mappé vers un point de code Unicode valide. L’indicateur est signalé caractère par caractère par l’extracteur de texte PDFium et permet d’identifier les points de code probablement incorrects car la police d’origine manque d’un CMap ToUnicode ou d’un vecteur d’encodage utilisable
CharacterOriginAccès indexé en lecture seule à l’origine (ancre ligne de base à gauche) du caractère en points de l’espace utilisateur PDF
CharacterRectangleAccès indexé en lecture seule au rectangle englobant du caractère en coordonnées de l’espace utilisateur PDF (origine en bas à gauche, en points)
CharcodeAccès indexé en lecture seule au point de code Unicode (UCS-4) du caractère à l’index donné
function ChooseRenderFlags(Scale: Double; DestWidth, DestHeight: Integer): IntegerChoisit les indicateurs natifs FPDF_RENDER_* à partir de l’échelle finale et de la taille de destination pour le sous-échantillonnage adaptatif des images
procedure ClearFormFieldFocusExploite le curseur logique de focus AcroForm de la page courante pour les flux clavier, voix et accessibilité
procedure ClearPageSceneCacheVide les scènes de page analysées en cache sans changer la page active
procedure ClearThumbnailCacheLibère les bitmaps de miniatures intégrées et rendues conservés sans changer les limites ni la télémétrie du cache
ClosePathFerme le sous-tracé courant en traçant une ligne droite vers le MoveTo le plus récent
CompressedContrôle si les flux du PDF de sortie sont compressés en FlateDecode lors de l’appel à SaveAs / Save. Le moteur de compression post-enregistrement analyse le PDF sérialisé, remplace tout flux non compressé par son équivalent zlib-deflate et reconstruit la table xref. Les flux déjà compressés passent inchangés
constructor Create(AOwner: TComponent); overrideCrée le composant TPdf et initialise l’état document, rendu, formulaire et cache
procedure CreateAnnotation(const Annotation: TPdfAnnotation)Crée une nouvelle annotation
CreateAttachmentAjoute un nouveau fichier intégré (pièce jointe) au niveau du document
procedure CreateDocumentFerme le document courant (le cas échéant) et démarre un tout nouveau PDF vide
procedure CreatePath(X, Y: Single; FillMode: TPdfFillMode = fmNone; FillColor: TColor = clBlack; FillAlpha: Byte = $FF; Stroke: Boolean = True; StrokeColor: TColor = clBlack; StrokeAlpha: Byte = $FF; StrokeWidth: Single = 1.0; LineCap: TPdfLineCap = lcDefault; LineJoin: TPdfLineJoin = ljDefault; BlendMode: TPdfBlendMode = bmDefault)Crée un nouvel objet de tracé à une position initiale
CreateXObjectFromPageEnveloppe une page d’un autre TPdf en handle de Form XObject réutilisable pouvant être tamponné dans ce document autant de fois que nécessaire
CreationDateHorodatage de création d’origine du dictionnaire Info du document
CreatorNom de l’application d’origine stockée dans le dictionnaire Info
property CrossReferenceTableValid: BooleanIndique si le document chargé possède une table de références croisées intacte
DeleteAnnotationSupprime l’annotation à l’index donné sur la page courante
function DeleteAttachment(Index: Integer): BooleanSupprime la pièce jointe fichier intégrée à l’index donné
procedure DeletePage(PageNumber: Integer)Supprime du document la page à PageIndex
DestinationRenvoie l’enregistrement TDestination de la destination nommée à l’index indiqué (base 0). Les destinations nommées sont les cibles indirectes définies sous l’arbre Dests / Names du catalogue de document décrit à la section 12.3.2 du PDF
DestinationByNameRecherche une destination /Names par son nom de chaîne et renvoie sa page cible / type d’ajustement / coordonnées
DestinationCountNombre de destinations nommées déclarées dans le document
function DetectPageSkew(out Report: TPdfSkewReport): BooleanMesure l’inclinaison de la page courante à environ 0,1 degré près, avec une valeur de confiance
destructor Destroy; overrideLibère les handles de document, l’état du formulaire, les polices en cache, les flux et les minuteurs avant la destruction de TPdf
ExportXFDFSérialise les champs de formulaire et annotations en XFDF UTF-8 en préservant les chemins de champs imbriqués et la distinction entre valeurs absentes et explicitement vides
function ExportXFDFToStream(Stream: TStream): IntegerÉcrit chaque valeur de formulaire et annotation du document dans un flux en XFDF
function ExtractAttachmentsToStreams(const Destinations: array of TStream; const Options: TPdfAttachmentBatchOptions; out Report: TPdfAttachmentBatchReport; const CancellationToken: IPdfCancellationToken = nil): BooleanÉcrit les pièces jointes décodées dans des flux appartenant à l’appelant sous budgets d’objets et d’octets avec annulation et résultats par élément
TPdfAttachmentBatchOptions / TPdfAttachmentBatchReportModèle borné de traitement par lots des pièces jointes en une seule passe pour l’énumération des métadonnées et l’extraction de la charge utile appartenant à l’appelant
ExtractThumbnail(PageNumber: Integer): TBitmapDécode la miniature de page intégrée sans basculer ni recharger la page active
function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): BooleanConvertit la coordonnée écran d’un point en coordonnée de page
property DocumentHandle natif FPDF_DOCUMENT PDFium pour un accès direct de bas niveau
function DocumentReadableContent: TPdfContentFragmentsRenvoie des fragments de contenu lisible sémantique pour les flux de lecteurs d’écran, de synthèse vocale et d’accessibilité
function DocumentReadingUnits: TPdfReadingUnitsConstruit des enregistrements TPdfReadingUnit au niveau de la phrase pour le flux de contenu lisible de tout le document
FileIdentifierIndicateur en lecture seule — renvoie le tableau d’identifiants de fichier du document pour l’emplacement d’identifiant demandé
property FileNameChemin du PDF à ouvrir; une affectation pendant Active recharge depuis le nouveau chemin
FindRecherche Pattern à partir de PageNum (ou de la page courante si -1) et renvoie l’index global du premier caractère correspondant
function FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): IntegerDémarre la recherche du texte indiqué. StartIndex est en base 0, -1 désigne la fin de la page. Le paramètre DirectionUp détermine le sens de cette opération de recherche
function FindNextAvance le curseur d’une session Find en cours et renvoie l’index du prochain caractère correspondant
function FindPreviousRecule le curseur Find d’une correspondance
function CreateDocumentSearchCrée une recherche paresseuse sur tout le document qui renvoie une correspondance et ses rectangles en espace page par appel
function FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): BooleanEnveloppe pratique qui aplatit chaque page du document. Renvoie True quand chaque page se termine par FLATTEN_SUCCESS ou FLATTEN_NOTHINGTODO. Flux recommandé: GenerateFormAppearances → FlattenAllPages → SaveAs
function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerAplatit les annotations et widgets de formulaire de la page courante en contenu de page permanent (non modifiable). nFlag sélectionne le profil d’aplatissement: FLAT_NORMALDISPLAY (0) pour l’affichage écran ou FLAT_PRINT (1) pour la sortie imprimée. Renvoie FLATTEN_SUCCESS, FLATTEN_NOTHINGTODO ou FLATTEN_FAIL. Appelez d’abord GenerateFormAppearances pour aplatir des valeurs de formulaire remplies
FlattenPageRotationIncorpore le /Rotate courant de chaque page dans le flux de contenu, les boîtes de page et les rectangles d’annotations, puis réinitialise /Rotate à 0 afin que la disposition visuelle soit préservée sans dépendre de l’indicateur d’affichage de rotation
function FocusedFormFieldDetails: TPdfFormFieldInfoRenvoie le TPdfFormFieldInfo du champ de formulaire logique courant
function FocusedFormFieldIndex: IntegerExploite le curseur logique de focus AcroForm de la page courante pour les flux clavier, voix et accessibilité
function FocusedFormFieldName: WStringRenvoie le nom d’affichage du champ de formulaire logique courant, en privilégiant AlternateName et en retombant sur Name
function FocusedFormFieldText: WStringExploite le curseur logique de focus AcroForm de la page courante pour les flux clavier, voix et accessibilité
function FocusedFormFieldTextDirection: TPdfFormTextDirectionLit la direction du texte en mémoire du widget ayant le focus via l’export FORM_GetTextDirection de PDFium
function FocusedFormOptionSelected(Index: Integer): BooleanIndique si une option de la liste ou zone combinée ayant le focus est sélectionnée
function FocusedFormFieldValue: WStringRenvoie la valeur du champ de formulaire logique courant via FocusedFormFieldIndex sans dépendre du caret interactif
function FocusFormField(Index: Integer): BooleanExploite le curseur logique de focus AcroForm de la page courante pour les flux clavier, voix et accessibilité
function FocusNextFormField: IntegerExploite le curseur logique de focus AcroForm de la page courante pour les flux clavier, voix et accessibilité
function FocusPreviousFormField: IntegerExploite le curseur logique de focus AcroForm de la page courante pour les flux clavier, voix et accessibilité
FontAscentRenvoie l’ascendente (distance de la ligne de base à la plus haute ascendante) de la police d’un objet de page, exprimée en points PDF et mise à l’échelle d’une taille de police fournie par l’appelant
FontBaseNameRenvoie le nom de base PostScript (l’entrée /BaseFont du dictionnaire de polices PDF) de la police utilisée par un objet de page, y compris tout suffixe de style tel que -Bold ou ,Italic
FontDataAccès indexé en lecture seule aux octets bruts du programme de police intégré (rempli uniquement quand la police est intégrée)
FontDescentRenvoie la descendante (distance de la ligne de base à la plus basse descendante) de la police d’un objet de page, exprimée en points PDF et mise à l’échelle d’une taille de police fournie par l’appelant
FontFamilyNameRenvoie le nom de famille typographique (par exemple Helvetica, Times New Roman, Noto Sans CJK SC) de la police utilisée par un objet de page de la page courante
property FontFlags[Index: Integer]: IntegerRenvoie les indicateurs natifs de descripteur de police PDF, ou -1 quand l’objet n’a pas de police
FontHandleRenvoie le handle natif FPDF_FONT de la police utilisée par un objet de page. Ce handle donne aux appelants avancés un accès direct aux API de polices PDFium non enveloppées par le composant
FontIsEmbeddedIndique si la police utilisée par un objet de page est intégrée dans le PDF (True) ou simplement référencée et résolue au moment de l’affichage depuis le système d’exploitation (False)
FontItalicAngleAccès indexé en lecture seule à l’angle italique de la police en degrés (négatif pour un italique typique; 0 pour droit)
FontSizeRenvoie la taille de police rendue, en points PDF, d’un caractère individuel de la page courante. FontSize est un alias de CharacterFontSize conservé pour compatibilité ascendante
FontWeightRenvoie la graisse de style CSS (épaisseur) de la police utilisée par un objet de page de la page courante. Les valeurs typiques sont 400 pour normal et 700 pour gras
FormFieldPropriété indexée — renvoie un champ de formulaire de la page courante
FormFieldAtLit ou écrit la valeur du champ de formulaire situé aux coordonnées de page données
FormFieldCountNombre de widgets de champs de formulaire sur la page actuellement active
FormFieldInfoEnregistrement complet décrivant un champ de formulaire à un index donné de la page active
FormFieldInfoAtEnregistrement de champ de formulaire pour le widget situé aux coordonnées de page données
FormHostCallbacksComplete, FormSelectionRects, OnForm*Pages de formulaire natives sûres en durée de vie plus rappels contrôlés par l’hôte pour la navigation, URI, curseur, changement de valeur et sélection
function FormFieldTypeAtPoint(X, Y: Double; out FieldType: TPdfFormFieldType): BooleanUtilise le test de survol natif par point pour renvoyer le type de champ sans créer de handle d’annotation
function FormFieldTabOrder: TPdfIntegerArrayExploite le curseur logique de focus AcroForm de la page courante pour les flux clavier, voix et accessibilité
property FormFillInterface qui permet à votre application de fournir des rappels liés aux formulaires (Beep, Invalidate, OutputDocFile, etc.)
FormHandleHandle natif d’environnement de remplissage de formulaire PDFium attaché au document
function DetachFormObjectChild(FormIndex, ChildIndex: Integer): FPDF_PAGEOBJECTRetire un enfant Form XObject et transfère la propriété de son handle natif
function FormObjectChildren(Index: Integer): TPdfPageObjectInfosListe les objets de page imbriqués dans un Form XObject
function GetAnnotationFontColor(AnnotIndex: Integer; out Color: TColor): BooleanLit la couleur du texte d’une annotation de widget de champ de formulaire
function GetAttachmentStringValue(Index: Integer; const Key: WString): WStringLit une entrée de chaîne du dictionnaire de spécification de fichier d’une pièce jointe
function GetImageObjectRenderedBitmap(Index: Integer): TBitmapRend un objet image avec son masque, sa conversion colorimétrique et sa matrice appliqués
function GetObjectRenderedStrokePattern(Index: Integer): TBitmapRastérise dans un bitmap dont l’appelant devient propriétaire le motif de pavage avec lequel un objet chemin est tracé, ou renvoie nil quand il n’y en a pas
property FormTypeIndique si le document contient des champs AcroForm, du XFA ou aucun formulaire
procedure GenerateFormAppearancesRégénère le /AP (flux d’apparence) de chaque widget de formulaire sur chaque page en rendant chaque page via FPDF_FFLDraw. C’est l’appel compagnon recommandé des affectations FormField[i] := valeur — sans lui, les valeurs de formulaire peuvent n’être visibles que lorsque le champ a le focus, et toute opération d’aplatissement ultérieure perdra silencieusement les valeurs. À appeler après toutes les affectations FormField[] et avant SaveAs / FlattenPage / FlattenAllPages
function GetPageBoxLit le rectangle de la boîte de page nommée sur la page courante
function GetXfaConfig: TBytesRécupère les octets XML bruts du paquet de configuration XFA du document PDF
function GetXfaDatasets: TBytesRécupère les octets XML d’origine des datasets XFA du document PDF
function GetXfaFormPackets: TXfaPacketListCapture tous les paquets XFA intégrés dans une collection TXfaPacketList
function GetXfaPacketByName(const Name: string): TBytesRenvoie les octets de contenu bruts du paquet XFA identifié par son nom
function GetXfaPacketContent(Index: Integer): TBytesRenvoie les octets de contenu bruts du paquet XFA à l’index indiqué (base 0)
function GetXfaPacketCount: IntegerRenvoie le nombre de paquets XFA intégrés dans le document
function GetXfaPacketName(Index: Integer): stringRenvoie le nom du paquet XFA à l’index indiqué (base 0)
function GetXfaTemplate: TBytesRécupère les octets XML bruts du paquet de modèle XFA du document PDF
GrantedPermissionsRenvoie les permissions du mot de passe propriétaire sous forme d’ensemble typé TPdfPermissions
HasBookmarkChildrenRenvoie True quand le nœud de signet donné a au moins un signet enfant
HasFormFieldAtTest de survol qui renvoie True quand un widget de champ de formulaire couvre les coordonnées de page données
HasPermission(Permission: TPdfPermission): BooleanTeste une permission du mot de passe propriétaire sans arithmétique de bits manuelle
ImagePropriété indexée — renvoie un objet de page image de la page courante (handle + boîte englobante + profondeur de bits + espace colorimétrique)
ImageCountNombre de XObjects d’image raster sur la page actuellement active
function ImportFDF(const FileName: string): IntegerApplique les valeurs de champs de formulaire depuis un document FDF; une surcharge TStream est également disponible
ImportXFDFApplique les champs et annotations XFDF conscients des espaces de noms, y compris valeurs explicitement vides, texte mélangé à CDATA et noms de champs profondément imbriqués
property IncrementalSaveActive: BooleanIndique si une session d’enregistrement incrémentiel est actuellement ouverte
procedure InsertClipPath(Left, Bottom, Right, Top: Single)Détoure tout ce qui est dessiné sur la page courante à un rectangle en unités de page PDF
procedure InsertObjectAtIndex(StackIndex: Integer; PageObj: Pointer)Insère un objet de page à une profondeur choisie dans l’ordre de dessin plutôt qu’au-dessus
class function InspectAvailability(AStream: TStream): TPdfAvailabilitySignale la linéarisation, la disponibilité d’analyse et la première page d’un flux PDF sans le charger
ImportNPagesToOneConstruit un TPdf entièrement neuf dont les pages sont des compositions NumX×NumY des pages du document source, adapté aux mises en page d’impression N-up
ImportPagesCopie une ou plusieurs pages d’un autre TPdf ouvert dans ce document
ImportPagesByIndexImporte un sous-ensemble spécifique de pages d’un autre TPdf par index (base 0), avec contrôle du point d’insertion dans le document courant
function ImportPreferences(Pdf: TPdf): BooleanEnsemble de bits contrôlant comment ImportPages copie le contenu (ressources, destinations nommées, commentaires, etc.)
function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECTInsère UNE copie de la page enveloppée par un TPdfXObject dans la page courante de ce document et renvoie le FPDF_PAGEOBJECT afin que l’appelant puisse le positionner / redimensionner / faire pivoter
IsTaggedIndique si le document déclare un arbre de structure pour l’accessibilité
JavaScriptActionPropriété indexée — renvoie une action JavaScript au niveau du document (nom + Type + chaîne Source)
JavaScriptActionCountNombre d’actions JavaScript au niveau du document stockées dans le PDF
JavaScriptActionsToutes les actions JavaScript au niveau du document renvoyées en un seul tableau dynamique
KeywordsListe de mots-clés fournie par l’auteur depuis le dictionnaire Info du document
LanguageIdentifiant de langue naturelle déclaré dans le catalogue du document
LineToAjoute une ligne droite du point courant vers (X, Y)
LinkAnnotationPropriété indexée — renvoie l’annotation /Annot de sous-type Link explicite à l’index donné, y compris l’action ou la destination cible
LinkAnnotationCountNombre d’entrées d’annotations /Link sur une page spécifique
function LinkAtPoint(X, Y: Double): BooleanTeste une coordonnée en espace page contre les annotations de liens natives via FPDFLink_GetLinkAtPoint
procedure LoadCustomDocument(AStream: TStream; AOwnsStream: Boolean = False)Charge un PDF depuis n’importe quel TStream adressable en utilisant le lecteur de blocs à la demande de PDFium, de sorte que les documents de plusieurs Go et les sources distantes ou adossées à une base de données ne nécessitent pas de copie préalable en mémoire
TPdfRandomAccessStoreStocke du contenu adressable sous un plafond mémoire, déverse vers un stockage temporaire privé et prend en charge des appels ReadAt et WriteAt indépendants du curseur
function TextIndexToCharacterIndex(Index: Integer): IntegerMappe un décalage du texte extrait vers le caractère qui l’a produit
function TextObjectGlyphOutline(Index, GlyphIndex: Integer; FontSize: Single): TPdfPathSegmentsLit le contour vectoriel d’un glyphe, normalisé pour qu’un em vaille 1.0
function TextObjectGlyphWidth(Index, GlyphIndex: Integer; FontSize: Single): SingleMesure l’avance native du glyphe à une taille de police demandée
function TextObjectFontSize(Index: Integer): SingleLit la taille de police native d’un objet de page de texte
procedure SetTextObjectFontSize(Index: Integer; FontSize: Single)Modifie la taille de police d’un objet texte sans mise à l’échelle matricielle
procedure LoadDocumentOuvre un PDF depuis un fichier, un tableau d’octets, un tampon mémoire validé ou un flux mémoire non nil
LastLoadReportRenvoie le dernier statut de chargement, la route de récupération native, la validité xref, les compteurs d’audit bornés et les problèmes typés
SaveAsRepairedÉcrit une copie complète et la vérifie par un chargement strict isolé avant de signaler le succès
property MetaTextRenvoie une valeur du dictionnaire Info du document par nom de balise
MetadataRenvoie le titre, l’auteur, le sujet, les mots-clés, le créateur, le producteur, la date de création et la date de modification standard en un seul enregistrement instantané
MergeFilesFusionne des listes de sources adossées à des fichiers avec handles de sources bornés, lots d’importation de pages natives, stratégies explicites, progression, annulation, restauration et rapport détaillé
ModifiedDateHorodatage de dernière modification enregistré dans le dictionnaire Info du document
MovePagesRéordonne les pages de ce document sur place par index (base 0), en gardant le nombre de pages constant
MoveToDémarre un nouveau sous-tracé aux coordonnées de page données
ObjectBitmapPropriété indexée — renvoie un objet de page image comme TBitmap VCL rendable (décodé avec perte depuis JPX/CCITT/etc.)
ObjectBoundsRectangle englobant aligné sur les axes d’un objet de page unique de la page courante
ObjectCountNombre en lecture seule d’objets de page (texte, tracé, image, dégradé, formulaire) de la page courante
ObjectHandlePointeur FPDF_PAGEOBJECT PDFium brut de l’objet de page spécifié
ObjectTransparentIndique si un objet de page participe à la transparence PDF — par exemple via
ObjectTypeRenvoie la catégorie de l’objet de page à l’index spécifié — texte, tracé, image, dégradé ou Form XObject. La classification correspond à l’opérateur du flux de contenu PDF qui a produit l’objet et permet aux appelants de parcourir le tableau d’objets de page avec un seul aiguillage
function OptimizeImages(const Options: TPdfImageOptimizeOptions; out Report: TPdfImageOptimizeReport): BooleanSous-échantillonne les objets d’image de page dont le DPI de placement effectif dépasse une cible de l’appelant via les chemins natifs de bitmap et FPDFImageObj_SetBitmap, puis laisse le document prêt pour SaveAs
function GetFeatureInventory: TPdfFeatureInventoryAnalyse chaque page une fois et renvoie un enregistrement unifié des compteurs d’objets texte, tracé, image, Form XObject et dégradé avec les faits au niveau du document
function GetObjectText(Index: Integer): WStringExtrait le texte dessiné par un objet texte
function GetObjectsByType(ObjType: TObjectType): TPdfIntegerArrayListe les index de chaque objet de page d’un type donné sur la page courante
function GetPageActionType(EventType: Integer): IntegerSignale le type PDFACTION_* de l’action supplémentaire d’ouverture ou de fermeture de page, 0 s’il n’y en a pas
function GetPageActionURI(EventType: Integer): WStringLit l’URI qu’ouvre une action d’ouverture ou de fermeture de page
function GetTextInReadingOrder(Order: TPdfReadingOrder): WStringExtrait le texte de page dans l’ordre brut du contenu ou trié selon l’ordre de lecture physique
function GetTextObjectRenderedBitmap(Index: Integer; Scale: Single): TBitmapRasterise un objet texte seul à l’échelle demandée
function GetTextRenderMode(Index: Integer): IntegerLit le mode FPDF_TEXTRENDERMODE_* d’un objet texte, ce qui permet de distinguer le texte OCR invisible du texte visible
function GetWidgetAdditionalActionJavaScript(AnnotIndex, EventType: Integer): WStringLit le script de frappe, de format, de validation ou de calcul d’un widget de champ de formulaire
function AuditActiveContent: TPdfActiveContentAuditRenvoie un instantané du nombre d’actions JavaScript, des fichiers intégrés, des signatures, du type de formulaire XFA et des permissions sans exécuter aucun script ni action
property OnFormFieldEnterDéclenché quand le moteur de remplissage de formulaires prend le focus sur un champ de formulaire
property OnFormFieldExitDéclenché quand le moteur de remplissage de formulaires perd le focus sur un champ de formulaire
property OnJavaScriptResponseDéclenché quand les actions JavaScript intégrées au PDF demandent une interaction utilisateur
property OnPageChangeDéclenché quand Pdf.Page est affecté à un index de page différent
property OnUnsupportedFeatureDéclenché quand le document utilise une fonctionnalité PDF non implémentée par PDFium (par exemple formulaires XFA complets, annotations 3D, multimédia)
property OnXfaGotoUrlDéclenché à la navigation vers les URL de liens dans les formulaires XFA dynamiques
property OnXfaUriActionDéclenché quand les actions URI de liens se déclenchent dans des contextes XFA dynamiques
function PadesCryptoAvailable: BooleanIndique si le backend cryptographique de signature est disponible sur le système
PageHandle natif de page PDFium pour la page actuellement active
function PageUsesOverprint: BooleanInterroge l’usage exact de surimpression de la page quand l’extension facultative de sortie d’impression prend en charge la détection
function PathInfo(Index: Integer): TPdfPathInfoLit le mode de remplissage, l’indicateur de contour et la géométrie des segments d’un objet de tracé
property PageBounds[Box: TPdfPageBox]: TPdfRectanglePropriété au niveau page — le rectangle de la boîte de page demandée (MediaBox/CropBox/BleedBox/TrimBox/ArtBox)
property PageBox[Box: TPdfPageBox]: TPdfRectanglePropriété au niveau page — lit ou écrit un rectangle de boîte de page spécifique sur la page courante
property PageCount: IntegerPropriété au niveau page — nombre total de pages du document ouvert
property PageMetrics[PageNumber: Integer]: TPdfPageMetricsDimensions, rotation, libellé, transparence et boîtes de page standard en cache pour n’importe quelle page
property CacheBudgetBytes: Int64Définit le plafond d’octets unifié du cache conservé pour une instance TPdf
property CacheGovernor: TPdfCacheGovernorRenvoie le régulateur partagé détenu pour les requêtes par type et la coordination avec le cache applicatif
property CacheGovernorStatistics: TPdfCacheGovernorStatisticsRenvoie la télémétrie courante, de pic, épinglée, d’éviction, de contact et de rejet
property LifecycleActionPolicy: TPdfLifecycleActionPolicySélectionne l’exécution automatique désactivée, explicite seule ou compatible des actions de cycle de vie de document et de page
property PageSceneCacheCapacity: IntegerNombre maximal de scènes de pages inactives analysées conservées pour le rendu indexé
property PageSceneCacheCount: IntegerNombre courant de scènes de page analysées réutilisables
PageHeightHauteur de la page active en unités de l’espace utilisateur PDF (1 point = 1/72 pouce)
function PageObjectClipPath(Index: Integer): TPdfClipPathLit le tracé de détourage qui limite où un objet de page peut peindre
function PageObjectInfo(Index: Integer): TPdfPageObjectInfoLit chaque attribut modifiable d’un objet de page en un seul enregistrement
function PageObjectMarkedContentID(Index: Integer): IntegerLit le /MCID qui relie un objet de page à l’arbre de structure, -1 si non balisé
function PageObjectMarks(Index: Integer): TPdfContentMarksLit les balises de contenu marqué et les listes de propriétés typées attachées à un objet de page
property PageLabel: WStringPropriété au niveau page — renvoie le libellé de page visible par l’utilisateur (tel que « iv » ou « A-3 ») plutôt que l’index en base 0
property PageMode: TPageModePropriété au niveau page — l’indication /PageMode du document (Outlines, Thumbs, FullScreen, ...)
property PageNumber: IntegerIndex de page courant en lecture/écriture (base 1) avec contrôle de limites et remplacement natif de page sûr en cas de restauration
property PageRotation: TRotationPropriété au niveau page — rotation appliquée à la page courante lors du rendu (ro0 / ro90 / ro180 / ro270)
function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): BooleanConvertit la coordonnée de page d’un point en coordonnée écran
property PageWidth: DoublePropriété au niveau page — largeur de la page courante en points (1 pt = 1/72 pouce)
function PageWordBoxes: TPdfWordBoxesRenvoie les enregistrements TPdfWordBox des mots de la page TPdf courante avec plages de caractères et rectangles en espace page
function ExecuteDocumentLifecycleAction(Action: TPdfDocumentLifecycleAction; out ErrorMessage: string): BooleanExécute une action native de cycle de vie de document et signale les échecs de stratégie, d’environnement ou de rappel sans propager d’exceptions
function ExecutePageLifecycleAction(PageNumber: Integer; Action: TPdfPageLifecycleAction; out ErrorMessage: string): BooleanExécute une action d’ouverture ou de fermeture de page sans changer la page active et libère de façon déterministe l’état natif temporaire de la page
TPdfDocumentLifecycleAction / TPdfPageLifecycleActionStratégie et modèle d’exécution des actions de cycle de vie de document et de page couvrant les modes automatique désactivé, explicite seule et compatible
property PasswordMot de passe de déchiffrement affecté avant Active := True
PdfAConformanceNiveau de conformité PDF/A en lecture seule du document actuellement ouvert, sans devoir appeler explicitement ValidatePdfA
PdfEConformanceNiveau de conformité PDF/E en lecture seule du document actuellement ouvert, sans devoir appeler explicitement ValidatePdfE
PdfRConformanceNiveau de conformité PDF/R en lecture seule du document actuellement ouvert, sans devoir appeler explicitement ValidatePdfR
PdfUaConformanceNiveau de conformité PDF/UA en lecture seule du document actuellement ouvert, sans devoir appeler explicitement ValidatePdfUa
PdfVersionIndicateur en lecture seule — la version de spécification PDF du document ouvert (par exemple pv14, pv17, pv20)
PdfVTConformanceNiveau de conformité PDF/VT en lecture seule du document actuellement ouvert, sans devoir appeler explicitement ValidatePdfVT
PdfXConformanceNiveau de conformité PDF/X en lecture seule du document actuellement ouvert, sans devoir appeler explicitement ValidatePdfX
function PerformNamedAction(const ActionName: string): BooleanExécute une action nommée; NextPage, PrevPage, FirstPage et LastPage déplacent PageNumber avec bornage
property PermissionsRenvoie les bits de permission du mot de passe propriétaire tels que décodés du dictionnaire /Encrypt
PrintCopiesNombre de copies suggéré intégré que l’auteur du PDF souhaite voir proposer par la boîte de dialogue d’impression
PrintPageRangesListe décodée des plages de pages (base 1) que l’auteur du PDF souhaite imprimer
PrintPaperHandlingValeur décodée de l’indication /Duplex des /ViewerPreferences du document
PrintScalingValeur décodée des /ViewerPreferences /PrintScaling du document
ProducerNom de la bibliothèque ou du convertisseur PDF ayant produit le fichier
function ReadXmpPacket: TPdfXmpPacketLit le paquet de métadonnées XMP comme un objet analysé appartenant à l’appelant
function InspectPdfAMetadata: TPdfAMetadataReportRenvoie des preuves d’équivalence typées pour les huit mappages Info-vers-XMP ISO 19005-1
function InspectPdfUaLanguageCoverage: TPdfUaLanguageCoverageReportSignale des preuves bornées de langue naturelle en utilisant le contenu marqué, les ancêtres de structure et l’héritage de langue du catalogue
function InspectPdfUaUnicodeCoverage: TPdfUaUnicodeCoverageReportSignale la couverture d’extraction Unicode directe et ActualText par objet en une seule passe native de page de texte
function ReadAttachmentMetadata(MaxAttachments: Integer = 10000): TPdfAttachmentMetadataArrayCapture les métadonnées des pièces jointes et les tailles décodées en une seule énumération native bornée sans charger les octets de charge utile
function ReadStructureElements(PageNumber; Options; out Status): TPdfStructureElementsMatérialise un instantané itératif d’arbre de structure sous budgets de profondeur, d’éléments, d’attributs et de temps choisis par l’appelant
ReadableContentRenvoie des fragments de contenu lisible sémantique pour les flux de lecteurs d’écran, de synthèse vocale et d’accessibilité
function ReadablePageContent(PageNumber: Integer): TPdfReadableContentRenvoie des fragments de contenu lisible sémantique pour les flux de lecteurs d’écran, de synthèse vocale et d’accessibilité
function ReadingUnits: TPdfReadingUnitsConstruit des enregistrements TPdfReadingUnit au niveau de la phrase depuis le flux de contenu lisible de la page courante pour les flux d’écoute assistée
RectangleRenvoie un rectangle englobant de texte de la mise en page de texte de la page courante
procedure RefreshAppearance(AnnotIndex: Integer)Force PDFium à régénérer le flux d’apparence d’une annotation
procedure RemoveAnnotationObject(Index, ObjectIndex: Integer)Supprime un objet de page d’une annotation d’encre ou de tampon
function RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerCompte le nombre de zones rectangulaires occupées par un segment de texte. La fonction fusionne automatiquement les petites boîtes de caractères en une plus grande si ces caractères sont sur la même ligne et utilisent les mêmes paramètres de police
procedure ReloadPageRecharge la page actuellement sélectionnée depuis le moteur PDFium, en actualisant le cache d’objets de page
procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True)Retire l’objet de page spécifié de la page courante. Quand DestroyObject vaut True, l’objet retiré est libéré après suppression. Le flux de contenu de page est régénéré automatiquement
procedure RemovePageObjectMark(Index, MarkIndex: Integer)Retire une entrée de contenu marqué d’un objet de page
procedure RemovePageObjectMarkParam(Index, MarkIndex: Integer; const Key: WString)Retire une propriété d’une marque existante sans la remplacer
procedure RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = [])Rend le contenu d’une page vers un périphérique (écran, bitmap ou imprimante)
function RenderPageByIndex(PageNumber, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapRend n’importe quelle page sans changer PageNumber et réutilise sa scène PDFium analysée entre les tailles de sortie
procedure RenderPageSkia(Canvas: FPDF_SKIA_CANVAS; Width, Height: Integer; DrawFormOverlay: Boolean = True)Rend la page courante et l’incrustation de formulaire facultative dans un SkCanvas appartenant à l’appelant
procedure RenderPageSkiaByIndex(Canvas: FPDF_SKIA_CANVAS; PageNumber, Width, Height: Integer; DrawFormOverlay: Boolean = True)Rend n’importe quelle page vers Skia via le cache de scènes de pages analysées sans changer la page active
function RenderPageWithMatrix(Width, Height: Integer; const Matrix: FS_MATRIX; const Clip: TPdfRectangle; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapRend via une transformation arbitraire avec un rectangle de détourage en espace destination
function RenderSpotPlate(PlateIndex, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapRend une plaque d’impression native exacte quand l’ABI facultatif expose l’opération
function RenderOverprintPreview(Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapRend un aperçu natif exact de surimpression quand l’ABI facultatif expose l’opération
function RenderPageBanded(Width, Height, BandHeight: Integer; BandCallback: TPdfBandCallback; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): IntegerRend la page en bandes horizontales afin qu’une grande page n’exige jamais un bitmap pleine taille
function RenderPageBandedToEncoder(Width, Height, BandHeight: Integer; Encoder: TPdfBandedImageEncoder; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TPdfBandedImageReportFournit des bandes séquentielles détourées nativement à un encodeur appartenant à l’appelant et signale la progression et la mémoire de bande crête
function RenderPageBandedToStream(Stream: TStream; Width, Height: Integer; const StreamOptions: TPdfBandedImageStreamOptions; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TPdfBandedImageReportDiffuse en flux des lignes PNG ou TIFF directement depuis les bandes de page sans conserver les pixels pleine page
RenderPageProgressiveVariante annulable de RenderPage qui pilote la boucle de rendu progressif de PDFium et interroge un IPdfCancellationToken entre les itérations afin que les rendus longs en haute résolution puissent s’interrompre en pleine page au lieu de bloquer jusqu’à l’achèvement
function RenderPageProgressiveWithColorScheme(Bitmap: TBitmap; Left, Top, Width, Height: Integer; const AToken: IPdfCancellationToken; const ColorScheme: TPdfColorScheme; Rotation: TRotation = ro0; Options: TRenderOptions = []; Background: TColor = clWhite): TPdfProgressiveStatusRendu progressif annulable qui remplace les couleurs de tracés et de texte pour la lecture par malvoyants
function RenderPagesParallel(const PageNumbers: array of Integer; const Options: TPdfParallelRenderOptions; const CancellationToken: IPdfCancellationToken = nil): TPdfParallelRenderReportCapture une seule fois le document courant dans un stockage borné et rend les pages demandées via des documents PDFium isolés appartenant aux workers partageant la mémoire, un mappage de fichier en lecture seule ou un accès aléatoire natif
function RenderPageThumbnail(PageIndex, MaxWidth, MaxHeight: Integer; Rotation: TRotation; Options: TRenderOptions; Background: TColor; const ColorScheme: TPdfColorScheme): TBitmapRend n’importe quelle page (base 1) dans un bitmap en cache par révision appartenant à l’appelant avec contrôle complet de la clé de rendu
function RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapRend une zone rectangulaire d’une page dans un nouveau bitmap. Le bitmap renvoyé doit être libéré manuellement
function SpotPlates: TPdfSpotPlateInfosRenvoie les index natifs exacts des plaques à ton direct et leurs noms UTF-8 quand l’ABI facultatif expose l’énumération
InspectOptionalContentÉnumère les groupes de contenu facultatif, configurations, métadonnées d’usage, groupes de boutons radio, expressions OCMD et état de rendu PDFium effectif
function IsAnnotationSubtypeSupported(Subtype: TPdfAnnotationSubtype): BooleanIndique si le module PDFium chargé peut créer le sous-type d’annotation
function IsAnnotationObjectSubtypeSupported(Subtype: TPdfAnnotationSubtype): BooleanIndique si PDFium peut extraire et modifier les objets d’apparence du sous-type d’annotation
function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanEnregistre une copie du document PDF dans le flux spécifié. Si PdfVersion vaut pv13 à pv17, la sortie enregistrée est normalisée et validée pour cette version cible, y compris les remplacements /Version de catalogue existants dans la sortie incrémentielle. Le validateur couvre toute la chronologie des fonctionnalités PDF 1.1–1.7 / ISO 32000-1: filtres (FlateDecode, JBIG2Decode, JPXDecode), flux d’objets et xref, transparence (SMask, ca/CA, modes de fusion), PDF balisé (StructTreeRoot, MarkInfo), espaces colorimétriques (ICCBased, DeviceN), boîtes de page (BleedBox/TrimBox/ArtBox), intents de sortie, contenu facultatif, AcroForm, polices CID/Type 0 et OpenType, chiffrement AES et AES-256 (CFM AESV2/AESV3), tous les sous-types d’annotations restreints par version (Widget, Sound, Movie, FreeText, Line, Square, Circle, Highlight, Underline, StrikeOut, Stamp, Ink, Popup, FileAttachment, TrapNet, Squiggly, PrinterMark, Polygon, PolyLine, Caret, Screen, Watermark, 3D, Redact), les types d’actions restreints par version (SubmitForm, ResetForm, ImportData, Hide, Named, JavaScript, Trans, SetState, Rendition, GoToE, GoTo3DView) et les entrées de catalogue (Perms, Legal, Collection, Requirements, NeedsRendering). Tout ce qui dépasse la version cible choisie déclenche EPdfError. Si le document n’a pas d’OpenAction existant et que la version cible le prend en charge, le PDF enregistré s’ouvre sur la première page avec un zoom Ajuster la hauteur. Les versions d’essai appliquent le filigrane d’essai pendant l’enregistrement
function SaveAsLinearized(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanÉcrit un PDF Fast Web View réécrit intégralement avec regroupement de première page, deux sections xref classiques et indications Annexe F compressées quand c’est bénéfique
function SaveAsLinearized(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanÉcrit atomiquement la sortie Fast Web View dans un fichier après avoir complété et validé un fichier temporaire voisin
function SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanRéordonne les objets actifs pour la localité de page, regroupe les valeurs éligibles en groupes ObjStm bornés et écrit des entrées xref de type 2 complètes
function SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanÉcrit atomiquement une sortie en flux d’objets PDF 1.5+ après avoir complété un fichier temporaire voisin
function SaveAsNormalizedContent(Stream: TStream; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanNormalise chaque séquence de contenu de page logique et fusionne les tableaux /Contents sûrs en un seul flux
function SaveAsNormalizedContent(const FileName: string; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanRemplace atomiquement un fichier une fois le contenu normalisé et une xref classique complète écrits
SaveAsPageLabelledÉcrit une copie PDF complète dont l’arbre numérique /PageLabels du catalogue est remplacé par les plages fournies, en appliquant les styles de numérotation décimale, romaine et alphabétique selon ISO 32000-1 §12.4.2
SaveAsOptionalContentConfiguredÉcrit et vérifie strictement une copie avec la visibilité des groupes de contenu facultatif choisie par l’appelant pour une configuration et un usage
function SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanBalaye les objets inaccessibles et réécrit le document en une révision classique unique en préservant les numéros d’objets
function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanRemplace atomiquement un fichier après une réécriture élaguée en révision unique
function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanBalaye les objets inaccessibles et réécrit les références afin que les polices, images et XObjects de formulaire dupliqués partagent un représentant unique
function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanRemplace atomiquement un fichier après une réécriture dédupliquée en révision unique
function SaveAsFlateRecompressed(Stream: TStream; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanRéencode les flux FlateDecode éligibles à compression maximale quand le gain mesuré dépasse un seuil défini par l’appelant
function SaveAsFlateRecompressed(const FileName: string; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanRemplace atomiquement un fichier après une réécriture recompressée Flate
function SaveAsInlineImagesExternalised(Stream: TStream; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanExtrait les images en ligne BI/ID/EI vers des XObjects réutilisables, développe les abréviations et remplace les blocs en ligne par des opérateurs Do
function SaveAsInlineImagesExternalised(const FileName: string; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanRemplace atomiquement un fichier après externalisation des images en ligne
function SaveAsReproducible(Stream: TStream; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanRetire les horodatages non déterministes et le /ID afin que deux enregistrements du même document soient identiques à l’octet près
function SaveAsReproducible(const FileName: string; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanRemplace atomiquement un fichier après une réécriture reproductible
function ExportObjectGraph(Stream: TStream; const Options: TPdfObjectGraphInspectOptions; out Report: TPdfObjectGraphReport): BooleanExporte les valeurs indirectes actives en JSON typé sous budget et signale explicitement la troncature
function SaveAsObjectGraphPatched(Stream: TStream; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanAjoute une révision de correctifs limitée aux dictionnaires validée et la recharge strictement avant de copier vers la destination
function SaveAsObjectGraphPatched(const FileName: string; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanRemplace atomiquement un fichier après une transaction réussie de correctifs du graphe d’objets
function SaveAsRedacted(Stream: TStream; const Options: TPdfRedactionOptions; out Report: TPdfRedactionReport): BooleanApplique les annotations /Redact à un instantané isolé, retire les objets de page de premier niveau intersectés, peint des remplacements opaques et émet un flux propre en révision unique
function SaveAsRedacted(const FileName: string; const Options: TPdfRedactionOptions; out Report: TPdfRedactionReport): BooleanRemplace atomiquement un fichier après le succès du pipeline de censure et d’assainissement
SaveAsSanitisedProduit une copie propre en révision unique qui retire le contenu actif et le /AF du catalogue, puis élague les objets inaccessibles afin que les corps orphelins de JavaScript, d’actions et de pièces jointes disparaissent du corps du fichier
BeginIncrementalSave / CommitIncrementalSave / EndIncrementalSaveSession d’enregistrement incrémental des objets modifiés : capture une ligne de base stable une seule fois, ajoute des révisions préservant chaque octet après la sortie antérieure exacte, puis libère la session à la fin
procedure BeginIncrementalSave(AllowSignedDocument: Boolean = False)Capture la ligne de base stable et le préfixe source exact chiffré ou non chiffré pour une session de révision d’objets modifiés
function CommitIncrementalSave(Stream: TStream; out Info: TPdfIncrementalCommitInfo): BooleanAjoute les objets indirects modifiés ou nouveaux, hérite du chiffrement existant et valide le résultat de manière indépendante
function CommitIncrementalSave(const FileName: string; out Info: TPdfIncrementalCommitInfo): BooleanVide durablement et rouvre un fichier annexe avant remplacement atomique et restaure l’état de session après tout échec
procedure EndIncrementalSaveLibère la ligne de base de session et la sortie accumulée
function ExportFDF(const FileName: string): IntegerÉcrit les valeurs de champs de formulaire en FDF (ISO 32000-1 12.7.11); une surcharge TStream est également disponible
function SaveAsEncrypted(const FileName: string; const Options: TPdfEncryptOptions): BooleanEnregistre le PDF actif avec chiffrement AESV3-CBC ou AESV4-GCM ISO/TS 32003
function SaveAsEncryptedToStream(Stream: TStream; const Options: TPdfEncryptOptions): BooleanÉcrit la sortie PDF chiffrée dans n’importe quel TStream adressable sans passer par le disque
function PreparePadesRemoteSignature(Prepared: TStream; const Options: TPadesRemoteSignOptions; out Request: TPadesRemoteSigningRequest): BooleanCrée un champ d’approbation ou de certification contraint ainsi que le condensat de signature détachée, le ByteRange exact, les coordonnées et l’empreinte du PDF préparé nécessaires à la signature à distance
class function CompletePadesRemoteSignature(Prepared, Dest: TStream; const Request: TPadesRemoteSigningRequest; const CmsDer: TBytes): BooleanRejette une session modifiée ou réutilisée et remplit l’emplacement de signature réservé uniquement quand le CMS détaché est lié au condensat du document préparé
class procedure SavePadesRemoteSigningRequest(Stream: TStream; const Request: TPadesRemoteSigningRequest)Écrit le format fixe versionné de requête de signature à distance dans un flux
property SecurityHandlerRevision: IntegerRévision du gestionnaire de sécurité standard, ou valeur négative pour un document non chiffré
function SetAnnotationFontColor(AnnotIndex: Integer; Color: TColor): BooleanRemplace la couleur du texte d’une annotation de widget de champ de formulaire
procedure SetAttachmentStringValue(Index: Integer; const Key, Value: WString)Écrit une entrée de chaîne dans le dictionnaire de spécification de fichier d’une pièce jointe
class procedure SetDeterministicTime(FixedEpoch: Int64)Fige l’horloge que PDFium inscrit dans la sortie afin que les documents enregistrés soient reproductibles à l’octet près
class function LoadPadesRemoteSigningRequest(Stream: TStream): TPadesRemoteSigningRequestLit et valide le format fixe versionné de requête de signature à distance
function RenewPadesArchiveTimestamp(const FileName: string; const Options: TPadesArchiveTimestampOptions; out Report: TPadesArchiveTimestampReport): BooleanAjoute un horodatage de document d’archivage aux octets PAdES chargés d’origine et écrit un fichier préparé atomiquement
function RenewPadesArchiveTimestampToStream(Stream: TStream; const Options: TPadesArchiveTimestampOptions; out Report: TPadesArchiveTimestampReport): BooleanAjoute un horodatage de document d’archivage et écrit la chaîne B-LTA validée dans un flux
class procedure RestoreActualTimeRedonne l’horloge système à PDFium après une session à temps déterministe
function SaveAsPadesDss(const FileName: string; const Options: TPadesDssOptions): BooleanEnregistre le PDF actif dans un fichier avec du matériel DSS PAdES dédupliqué, des dictionnaires VRI spécifiques aux signatures et la représentation xref source
function SaveAsPadesDssToStream(Stream: TStream; const Options: TPadesDssOptions): BooleanEnregistre le PDF actif dans un flux avec du matériel DSS PAdES dédupliqué, des dictionnaires VRI spécifiques aux signatures et la représentation xref source
SaveAsPdfAEnregistre le document courant comme fichier conforme PDF/A-1b en post-traitant le PDF de base avec une mise à jour incrémentielle qui injecte un flux de métadonnées XMP, un OutputIntent ICC sRGB et un catalogue de document mis à jour
function SaveAsPdfAToStream(Stream: TStream; const Options: TPdfASaveOptions): BooleanVariante en mémoire de SaveAsPdfA — écrit la sortie PDF/A-1b dans n’importe quel TStream sans passer par le disque
SaveAsPdfEEnregistre le document courant comme fichier conforme PDF/E-1 en post-traitant le PDF de base avec une mise à jour incrémentielle qui injecte les marqueurs de format de fichier PDF/E-1 (ISO 24517-1:2008)
function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): BooleanVariante en mémoire de SaveAsPdfE — écrit la sortie PDF/E-1 dans n’importe quel TStream sans passer par le disque
SaveAsPdfREnregistre le document courant comme fichier conforme PDF/R-1 (ISO 23504-1:2020, le sous-ensemble du PDF de transport et de stockage d’images raster utilisé pour les documents numérisés)
function SaveAsPdfRToStream(Stream: TStream; const Options: TPdfRSaveOptions): BooleanVariante en mémoire de SaveAsPdfR — écrit la sortie PDF/R-1 dans n’importe quel TStream sans passer par le disque
SaveAsPdfUaEnregistre en PDF/UA-1 par défaut ou PDF/UA-2 avec TPdfUaSaveOptions.PdfUa2, y compris l’identification XMP requise et la version PDF effective
function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): BooleanSortie PDF/UA-1 et PDF/UA-2 en mémoire sans passer par le disque
SaveAsPdfVTEnregistre le document courant comme fichier conforme PDF/VT-1 mono-fichier (ISO 16612-2:2010, le sous-ensemble PDF d’impression variable et transactionnelle)
function SaveAsPdfVTToStream(Stream: TStream; const Options: TPdfVTSaveOptions): BooleanVariante en mémoire de SaveAsPdfVT — écrit la sortie PDF/VT dans n’importe quel TStream sans passer par le disque
SaveAsPdfXEnregistre le document courant comme fichier conforme PDF/X-1a:2001, PDF/X-3:2002 ou PDF/X-4 en post-traitant le PDF de base avec une mise à jour incrémentielle qui injecte les marqueurs de format de fichier PDF/X (famille ISO 15930)
function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): BooleanVariante en mémoire de SaveAsPdfX — écrit la sortie PDF/X dans n’importe quel TStream sans passer par le disque
function SaveAsWithAssociateFiles(const FileName: string; const Options: TAssocFilesOptions): BooleanEnregistre le PDF actif vers un chemin de fichier en injectant les fichiers associés dans le catalogue ou les pages conformément à ISO 32000-2 §7.11.4
function SaveAsWithAssociateFilesToStream(Stream: TStream; const Options: TAssocFilesOptions): BooleanÉcrit la sortie PDF avec fichiers associés injectés dans n’importe quel TStream adressable sans passer par le disque
function SaveAsWithXmpPacket(Stream: TStream; Packet: TPdfXmpPacket; AllowSignedDocument: Boolean = False): BooleanEnregistre le document avec un paquet de métadonnées XMP de remplacement
function NormalizePdfAMetadata(Stream: TStream; AllowSignedDocument: Boolean = False): BooleanRépare les propriétés XMP mappées incohérentes et enregistre le document normalisé
procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Définit les indicateurs de champ AcroForm du champ de formulaire à l’index d’annotation spécifié sur la page courante
procedure SetFormFieldFlagsAt(X, Y: Single; const Flags: TPdfFormFieldFlags)Définit le champ de bits Flags du champ de formulaire aux coordonnées données
function SetFocusedFormFieldText(const Value: WString): BooleanDéfinit la valeur du champ de formulaire logique courant via FocusedFormFieldIndex sans dépendre du caret interactif
function SetFocusedFormFieldTextDirection(Direction: TPdfFormTextDirection): BooleanModifie la direction du texte en mémoire du widget ayant le focus; la valeur n’est pas conservée à l’enregistrement
function SetFocusedFormOptionSelected(Index: Integer; Selected: Boolean): BooleanSélectionne ou désélectionne une option de la liste ou zone combinée ayant le focus
procedure SetPageBox(Box: TPdfPageBox; const Rectangle: TPdfRectangle)Écrit un nouveau rectangle pour la boîte de page nommée (MediaBox / CropBox / BleedBox / TrimBox / ArtBox) sur la page courante
procedure SetPageObjectMarkParam(Index, MarkIndex: Integer; const Param: TPdfContentMarkParam)Insère ou met à jour une propriété typée sur une marque existante en préservant son identité et ses propriétés sans rapport
SetTextAjoute un objet de page de texte aux coordonnées de page données
procedure SetTextPositions(ObjectIndex: Integer; const Positions: TPdfSingleArray)Définit les positions par caractère de l’objet texte spécifié. La position du premier caractère vaut implicitement 0; Positions[0] définit la position du deuxième caractère, Positions[1] celle du troisième, et ainsi de suite. Les valeurs sont en points et relatives à l’origine de l’objet texte
StampPagesFromPdfTamponne une page source comme incrustation ou sous-couche de Form XObject positionnée, redimensionnée et facultativement pivotée sur une ou plusieurs pages cibles
SignaturePropriété indexée — renvoie un enregistrement de signature numérique (signataire, raison, contact, plage d’octets)
SignatureCountNombre de champs de signature numérique intégrés dans le document
property Signatures: TPdfSignaturesCopie tous les enregistrements de signatures natives dans un seul instantané sûr en durée de vie
function SignPades(const FileName: string; const Options: TPadesSignOptions): BooleanAjoute une signature PAdES d’approbation ou de certification avec contraintes facultatives de seed value, certificat, FieldMDP et DocMDP tout en préservant les entrées existantes de formulaire et de permissions
function SignPadesToStream(Stream: TStream; const Options: TPadesSignOptions): BooleanÉcrit une mise à jour de signature PAdES contrainte avec un champ Widget enregistré, un traitement ByteRange 64 bits et la représentation xref source
function SignPadesWithPdfA(const FileName: string; const Options: TPadesSignOptions; PdfAOptions: TPdfASaveOptions): BooleanEnregistre un document PDF signé PAdES conforme aux normes d’archivage PDF/A
StructureElementsPropriété indexée — renvoie les enfants d’un élément d’arbre de structure logique (StructTree)
SubjectRenvoie la valeur de l’entrée /Subject du dictionnaire d’informations du document PDF
function Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringExtrait la chaîne de texte de la page. Les paramètres StartIndex et Count déterminent les caractères à extraire. Le paramètre StartIndex est en base 0
function TextInRectangle(Left, Top, Right, Bottom: Double): WStringExtrait le texte dans une limite rectangulaire de la page
TextPageHandle natif de page de texte PDFium pour la page actuellement active
function ThumbnailDecodedData: TBytesLit la miniature de page intégrée avec ses filtres de flux décodés
property ThumbnailCacheMaxEntries: IntegerNombre maximal d’entrées de miniatures intégrées et rendues conservées, 64 par défaut
property ThumbnailCacheMaxBytes: Int64Maximum d’octets de pixels estimés conservés par la LRU de miniatures, 64 Mio par défaut
property ThumbnailCacheStatistics: TPdfThumbnailCacheStatisticsSignale l’occupation, les octets stockés, les succès, les échecs et les évictions
property ThumbnailRevision: Int64Révision de contenu monotone utilisée par les consommateurs de miniatures pour écarter les aperçus locaux périmés
function ThumbnailRawData: TBytesLit la miniature de page intégrée telle que stockée, ses filtres étant encore appliqués
property ThumbnailRenvoie les octets bruts de l’entrée /Thumb de la page courante (aperçu précalculé facultatif, typiquement un raster 64x64)
TitleRenvoie la valeur de l’entrée /Title du dictionnaire d’informations du document PDF
property TrailerEnds: TPdfCardinalArrayDécalages en octets de fin de chaque trailer du document, un par révision
procedure TransformPageAnnotations(const Matrix: FS_MATRIX)Applique une matrice de transformation à chaque annotation de la page courante
procedure TransformPageContent(const Matrix: FS_MATRIX; const Clip: TPdfRectangle)Applique une matrice de transformation à chaque objet de contenu de la page courante, avec un rectangle de détourage
procedure TransformPageObject(Index: Integer; const Matrix: FS_MATRIX)Multiplie la matrice de transformation d’un objet de page, le déplaçant, le redimensionnant, le faisant pivoter ou l’inclinant
procedure TransformPageObjectClipPath(Index: Integer; const Matrix: FS_MATRIX)Transforme uniquement la géométrie de détourage associée à un objet de page
TransparentIndique si la page actuellement active contient du contenu transparent
procedure UpdateAnnotationObject(AnnotIndex: Integer; PageObj: Pointer)Signale à une annotation que l’un de ses objets de page a été modifié
procedure UpdatePageObject(Index: Integer; const Value: TPdfPageObjectInfo; Changes: TPdfPageObjectChanges)Réécrit uniquement les attributs d’objet de page nommés par l’ensemble de changements
procedure UpdatePageValide dans la page PDFium sous-jacente les modifications en mémoire effectuées via CreateAnnotation, AddImage, AddText, SetFormFieldFlagsAt, etc
property UserPermissionsRenvoie les bits de permission du mot de passe utilisateur (un sous-ensemble de Permissions)
UserGrantedPermissionsRenvoie les permissions du mot de passe utilisateur sous forme d’ensemble typé TPdfPermissions
UserHasPermission(Permission: TPdfPermission): BooleanTeste une permission du mot de passe utilisateur sans arithmétique de bits manuelle
function ValidatePades: TPadesValidationResultValide les entrées uniques de profil de signature et la plage exacte d’exclusion du Contents directement dans les octets sources d’origine sans réenregistrer le PDF
function ValidatePadesTrust(const Options: TPadesTrustValidationOptions): TPadesValidationResultVérifie les données ByteRange d’origine exactes, la confiance du signataire, les preuves de révocation facultatives et les jetons d’horodatage RFC 3161
function ValidatePadesTrustAsync(const Options: TPadesTrustValidationOptions; const Reply: TPadesTrustValidationReply): BooleanCapture la source d’origine et répartit une validation de confiance par étapes annulable sur un thread de travail
function ValidatePdfMac(const Password: AnsiString): TPdfMacValidationResultVérifie un MAC PDF autonome en utilisant les octets sources d’origine exacts et le mot de passe fourni
function ValidatePdfA: TPdfAValidationResultValide les marqueurs PDF/A, les faits de contenu et l’équivalence exacte des valeurs Info-vers-XMP ISO 19005-1
function ValidatePdfE: TPdfEValidationResultInspecte le PDF actuellement ouvert à la recherche de marqueurs de conformité PDF/E-1 et renvoie un résultat structuré avec le niveau de conformité détecté et l’ensemble des problèmes spécifiques trouvés
ValidatePdfRValide les marqueurs de fichier PDF/R-1, les métadonnées, le profil de chiffrement, le contenu de page exclusivement raster, la géométrie des bandes, la couleur, la résolution effective et les paramètres de compression
function ValidatePdfUa: TPdfUaValidationResultValide l’identification PDF/UA-1 et PDF/UA-2, les règles d’accessibilité partagées et les exigences PDF 2.0 spécifiques au profil
function ValidatePdfVT: TPdfVTValidationResultInspecte le PDF actuellement ouvert à la recherche de marqueurs de conformité PDF/VT et renvoie un résultat structuré avec le niveau de conformité détecté et l’ensemble des problèmes trouvés
function ValidatePdfX: TPdfXValidationResultInspecte le PDF actuellement ouvert à la recherche de marqueurs de conformité PDF/X et renvoie un résultat structuré avec le niveau de conformité détecté et l’ensemble des problèmes spécifiques trouvés
function VisitStructureElements(PageNumber; Options; Visitor; out Status): IntegerDiffuse les instantanés d’éléments de structure vers un rappel de méthode sans matérialiser un tableau de pages
ViewerPreferencePropriété indexée — renvoie la valeur entière d’une clé /ViewerPreferences (NumCopies, PrintScaling, etc.)
WebLinkURL et rectangles englobants d’un lien web détecté automatiquement sur une page
WebLinkCountNombre d’URL web détectées automatiquement en analysant le texte d’une page
property XFARenvoie le paquet XML XFA intégré dans le document (PDF/A 2.0 a déprécié ce format, mais les formulaires générés par Acrobat l’utilisent encore)
property XfaFormPackets: TXfaPacketListCapture tous les paquets XFA intégrés exposés via le runtime XFA dans une collection TXfaPacketList
property XfaRuntimeAvailable: BooleanIndique si le runtime XFA est disponible pour le document chargé
property XfaStaticReadable: BooleanIndique si le paquet XFA statique peut être lu sans le runtime XFA
function LinkZOrderAtPoint(X, Y: Double): IntegerRenvoie l’ordre z de l’annotation de lien la plus en avant aux coordonnées de page, ou -1 si aucun lien n’est touché
function FormFieldZOrderAtPoint(X, Y: Double): IntegerRenvoie l’ordre z du champ de formulaire le plus en avant aux coordonnées de page, ou -1 si aucun champ n’est touché
function TryGetAnnotationFileAttachment(AnnotIndex: Integer; out Attachment: TPdfAnnotationAttachment; MaxBytes: Cardinal = 67108864): BooleanCopie les métadonnées et la charge utile bornées d’une pièce jointe de fichier d’une annotation dans un enregistrement détenu
function GetLinkedAnnotationIndex(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship): IntegerRésout l’index de l’annotation liée Popup ou IRT avec protection contre les références pendantes
function GetLinkedAnnotationChain(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship; MaxDepth: Integer = 64): TPdfIntegerArrayParcourt une chaîne de relations Popup ou IRT avec protection contre les cycles et les profondeurs excessives
function GetAnnotationDictionaryValue(AnnotIndex: Integer; const Key: WString): TPdfDictionaryValueLit une valeur typée d’une entrée de dictionnaire d’annotation
function GetAttachmentDictionaryValue(Index: Integer; const Key: WString): TPdfDictionaryValueLit une valeur typée d’une entrée de dictionnaire de pièce jointe fichier intégrée
procedure SetFocusableAnnotationSubtypes(const Subtypes: array of TPdfAnnotationSubtype)Restreint les sous-types d’annotations pouvant recevoir le focus clavier via le handle de formulaire
function GetFocusableAnnotationSubtypes: TPdfAnnotationSubtypesRenvoie les sous-types d’annotations actuellement éligibles au focus clavier
procedure ClearFormSelectionRectsVide les rectangles de sélection de formulaire en cache signalés via OnFormSelectionRect

Composant TPdfView

TPdfView est un contrôle visuel à défilement destiné à afficher des documents PDF et à interagir avec eux. Il requiert une référence Pdf: TPdf

Propriétés publiées (conception)

PropriétéTypeDéfautDescription
AboutstringInformations de version du composant
ActiveBooleanFalseActive ou désactive la visionneuse
CurrentCharIndexInteger0Index de caractère sélectionné par l’application, conservé pour des raisons de compatibilité
DisplayModeTPdfDisplayModedmSingleContinuousMode d’affichage des pages (dmSingleContinuous, dmTwoPageContinuous, dmTwoPageContinuousWithCover)
OptionsTRenderOptions[reLcd]Options de rendu (texte LCD, annotations, niveaux de gris, etc.)
PageShadowSizeInteger0Taille facultative de l’ombre portée en pixels ; les valeurs négatives sont ramenées à 0
PageShadowColorTColorclGrayCouleur de remplissage de l’ombre portée utilisée quand PageShadowSize > 0
PageBorderColorTColorclBlackCouleur de la bordure d’un pixel autour de la page
SmoothScrollBooleanFalseAnime par segments pilotés par minuterie les commandes de défilement de ligne ou de page ; le suivi de la poignée reste immédiat
LinkOptionsTPdfViewLinkOptions[loAutoGoto, loAutoOpenURI]Contrôle les comportements automatiques goto, URI, launch et embedded-goto après les événements de clic sur un lien
AsyncRenderingBooleanFalseAffiche la superposition de chargement quand elle est activée ; l’application reste maîtresse de la répartition des tâches
LoadingTextstringLoadingTexte dessiné dans la superposition AsyncRendering ; une chaîne vide supprime la superposition
LoadingColorTColorclYellowCouleur d’arrière-plan de la superposition AsyncRendering
NightDuotoneInkTColor$0000C8FFCouleur d’encre utilisée par l’option de rendu basse vision reNightDuotone
NightDuotonePaperTColorclBlackCouleur de papier utilisée par l’option de rendu basse vision reNightDuotone
ReadingHighlightColorTColorclSkyBlueContrôle la couleur de la superposition élargie de surlignage de lecture
ReadingWordColorTColor$0000A5FFContrôle la couleur de la superposition du curseur de lecture au niveau du mot courant
ReadingWordFollowBooleanTrueDétermine si TPdfView fait défiler le mot actuellement énoncé pour le maintenir visible pendant le suivi de la lecture
PageNumberInteger1Numéro de la page courante (à partir de 1)
PdfTPdfnilRéférence au composant TPdf
RotationTRotationro0Rotation de l’affichage (ro0, ro90, ro180, ro270)
ZoomDouble1.0Niveau de zoom (1.0 = 100%)

Propriétés publiques propres à TPdfView

PropriétéTypeDescription
ActualSizeZoom[PageNumber]DoubleValeur de zoom affichant la page à sa taille réelle
property AllowFormEvents: BooleanContrôle les événements souris, clavier et focus que la visionneuse transmet à la couche de remplissage des formulaires ; le chargement et la fermeture de page ne sont jamais filtrés
CanvasTCanvasCanvas permettant un dessin personnalisé dans la visionneuse
CharacterAngle[Index]SingleAngle de rotation du caractère en radians
CharacterCountIntegerNombre de caractères de la page affichée dans la visionneuse
CharacterFontSize[Index]DoubleTaille de police du caractère à l’index ; FontSize[Index] demeure un alias compatible
CharacterFontWeight[Index]IntegerGraisse de police du caractère à l’index
CharacterOrigin[Index]TPointOrigine du caractère dans les coordonnées de périphérique de la visionneuse
CharacterRectangle[Index]TRectÉtendue du caractère dans les coordonnées de périphérique de la visionneuse
FontAscent[Index; FontSize]SingleAscendante de la police utilisée par l’objet de texte à l’index
FontBaseName[Index]WStringNom de police de base de l’objet de texte à l’index
FontData[Index]TBytesDonnées brutes de la police de l’objet de texte à l’index
FontDescent[Index; FontSize]SingleDescendante de la police utilisée par l’objet de texte à l’index
FontFamilyName[Index]WStringNom de la famille de polices de l’objet de texte à l’index
FontHandle[Index]FPDF_FONTHandle PDFium de bas niveau de la police de l’objet de texte à l’index
FontIsEmbedded[Index]BooleanTrue si la police de l’objet de texte est intégrée au PDF
FontItalicAngle[Index]IntegerAngle italique de la police de l’objet de texte
FontWeight[Index]IntegerGraisse de la police de l’objet de texte
PageHeightZoom[PageNumber]DoubleValeur de zoom ajustant la hauteur de la page dans la visionneuse
PageWidthZoom[PageNumber]DoubleValeur de zoom ajustant la largeur de la page dans la visionneuse
PageZoom[PageNumber]DoubleValeur de zoom ajustant la page entière dans la visionneuse
StructureElementsTPdfStructureElementsÉléments de structure logique aplatis de la page affichée dans la visionneuse
WindowHandleHWNDHandle de fenêtre du contrôle visionneuse

Méthodes propres à TPdfView

function AddSearchTextHighlight(const Text: WString; MatchCase: Boolean = False; MatchWholeWord: Boolean = False): IntegerSurligne chaque occurrence du texte dans la page courante et renvoie le nombre de correspondances
MéthodeDescription
CharacterIndexAtPos(X, Y: Integer; ToleranceX, ToleranceY: Double): IntegerRésout le caractère proche d’un point en coordonnées de périphérique de la visionneuse ; renvoie -1 quand aucun caractère n’est à proximité
DeviceToPage(X, Y: Integer; out PageX, PageY: Double): BooleanConvertit les coordonnées de périphérique de la visionneuse en coordonnées de page
DeviceToPage(X, Y: Integer; var PageNumber: Integer; var PageX, PageY: Double): BooleanConvertit les coordonnées de périphérique de la visionneuse en coordonnées de page avec détection de la page
DeviceToPage(Rectangle: TRect): TPdfRectangleConvertit un rectangle en coordonnées de périphérique de la visionneuse en rectangle de page
PageToDevice(PageX, PageY: Double; out X, Y: Integer): BooleanConvertit les coordonnées de page en coordonnées de périphérique de la visionneuse
PageToDevice(Rectangle: TPdfRectangle): TRectConvertit un rectangle de page en rectangle de périphérique de la visionneuse
LinkAnnotationAtPos(X, Y: Integer): IntegerRenvoie l’index de l’annotation de lien à la position écran
LinkAnnotationAtPos(X, Y: Integer; out PageNumber: Integer): IntegerRenvoie l’index de l’annotation de lien avec le numéro de page
WebLinkAtPos(X, Y: Integer): IntegerRenvoie l’index du lien web à la position écran
WebLinkAtPos(X, Y: Integer; out PageNumber: Integer): IntegerRenvoie l’index du lien web avec le numéro de page
PaintSelection(SelectionStart, SelectionEnd: Integer; Mask: TColor)Dessine le surlignage de la sélection de texte
function PasteFormTextFromClipboard: BooleanColle le texte du presse-papiers dans le champ de formulaire ayant le focus
FocusedFormFieldValue: WStringRenvoie la valeur logique actuelle du champ de formulaire via FocusedFormFieldIndex sans dépendre du caret interactif
function FocusedFormOptionSelected(Index: Integer): BooleanIndique si une option de la liste ou de la zone combinée ayant le focus est sélectionnée
FocusedFormFieldName: WStringRenvoie le nom d’affichage logique actuel du champ de formulaire, en privilégiant AlternateName et en revenant à Name
FocusedFormFieldDetails: TPdfFormFieldInfoRenvoie TPdfFormFieldInfo pour le champ de formulaire logique actuel
ReadingUnits: TPdfReadingUnitsRenvoie des unités de lecture au niveau de la phrase pour l’écoute assistée de la lecture et la navigation sémantique
PageWordBoxes: TPdfWordBoxesRenvoie des boîtes de mots avec les plages FTextPage et les rectangles en espace page pour un surlignage mot à mot
SetReadingWord(const Word: TPdfWordBox)Surligne un TPdfWordBox comme mot actuellement énoncé dans TPdfView
ClearReadingWordEfface la superposition du curseur de lecture au niveau du mot dans TPdfView
function CopySelectedFormTextToClipboard: BooleanCopie le texte sélectionné du champ de formulaire ayant le focus dans le presse-papiers
function CutSelectedFormTextToClipboard: BooleanCoupe le texte sélectionné du champ de formulaire ayant le focus vers le presse-papiers
TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerAssocie un décalage de caractère de page au TPdfWordBox qui le contient, le surligne et renvoie l’index du mot
RemoveObject(Index: Integer; DestroyObject: Boolean = True)Retire un objet de page de la page courante, régénère le contenu de la page et repeint la visionneuse
function SelectLineAt(Page, CharIndex: Integer): BooleanSélectionne toute la ligne de texte contenant l’index de caractère donné
function SetFocusedFormOptionSelected(Index: Integer; Selected: Boolean): BooleanSélectionne ou désélectionne une option de la liste ou de la zone combinée ayant le focus
GenerateFormAppearancesRégénère les flux d’apparence /AP via le composant TPdf associé (voir TPdf.GenerateFormAppearances)
FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerAplatit les annotations et les widgets de formulaire de la page courante en contenu statique
SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Définit les indicateurs du champ AcroForm par index d’annotation de la page courante
SetFormFieldFlagsAt(X, Y: Integer; const Flags: TPdfFormFieldFlags)Définit les indicateurs du champ AcroForm aux coordonnées du contrôle visionneuse
function ReplaceFormTextAndKeepSelection(const Text: WString): BooleanRemplace le texte du champ de formulaire ayant le focus via FORM_ReplaceAndKeepSelection en conservant l’état de la sélection
function FormFieldZOrderAt(X, Y: Integer): IntegerRenvoie l’ordre z du champ de formulaire le plus en avant aux coordonnées client, ou -1 si aucun n’est visé
function LinkZOrderAt(X, Y: Integer): IntegerRenvoie l’ordre z de l’annotation de lien la plus en avant aux coordonnées client, ou -1 si aucune n’est visée

Propriétés et méthodes VCL héritées et autres

APIDescription
property About: stringDocumente le membre About publié par TPdfView
ActiveActive ou désactive la visionneuse, ouvre le document PDF lié et rend la page sélectionnée
property ActualSizeZoom[PageNumber: Integer]: DoubleFacteur de zoom en lecture seule affichant la page à sa taille physique réelle sur l’écran hôte
procedure AddImage(const FileName: string; X, Y, Width, Height: Integer); overloadAjoute une image à la page actuellement affichée par TPdfView, en convertissant un rectangle en coordonnées client de la visionneuse en coordonnées de page PDF
function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Integer): BooleanWrapper TPdfView qui redirige vers TPdf.AddJpegImage
procedure AddPicture(Picture: TPicture; X, Y: Integer); overloadWrapper TPdfView qui redirige vers TPdf.AddPicture
AlignContrôle la disposition de la visionneuse PDF dans son conteneur parent
property AllowUserPageChange: BooleanAutorise la saisie utilisateur (molette, glissement de barre de défilement, raccourcis clavier) à modifier la page courante
property AllowUserTextSelection: BooleanContrôle la sélection de texte pilotée par la saisie utilisateur dans la visionneuse
AnchorsPrécise quels bords de la visionneuse restent à distance fixe des bords correspondants de son parent lors du redimensionnement de celui-ci
property Annotation[Index: Integer]: TPdfAnnotationWrapper TPdfView qui redirige vers TPdf.Annotation
property AnnotationCount: IntegerWrapper TPdfView qui redirige vers TPdf.AnnotationCount
property AsyncRendering: BooleanIndicateur à la demande demandant à la vue de dessiner une petite superposition « Loading... » pendant les rendus longs, afin que les applications utilisant leur propre worker pour le rendu hors thread partagent une même indication visuelle
property Bitmap[Index: Integer]: TBitmapWrapper TPdfView qui redirige vers TPdf.Bitmap
property BitmapCount: IntegerWrapper TPdfView qui redirige vers TPdf.BitmapCount
property Canvas: TCanvasCanvas de dessin exposé par le contrôle après le rendu d’une page
property ChangePageOnMouseScrolling: BooleanEn mode SinglePage, détermine si le défilement de la molette au bord de la page passe à la page suivante
property Character[Index: Integer]: WideCharWrapper TPdfView qui redirige vers TPdf.Character
property CharacterAngle[Index: Integer]: SingleWrapper TPdfView qui redirige vers TPdf.CharacterAngle
property CharacterCount: IntegerWrapper TPdfView qui redirige vers TPdf.CharacterCount
property CharacterFontSize[Index: Integer]: DoubleWrapper TPdfView qui redirige vers TPdf.CharacterFontSize
property CharacterFontWeight[Index: Integer]: IntegerWrapper TPdfView qui redirige vers TPdf.CharacterFontWeight
property CharacterGenerated[Index: Integer]: BooleanWrapper TPdfView qui redirige vers TPdf.CharacterGenerated
function CharacterIndexAtPos(X, Y: Integer; ToleranceX, ToleranceY: Double): IntegerRenvoie l’index du caractère de la page courante le plus proche du pixel écran (X, Y), ou -1 si aucun caractère n’est assez proche
property CharacterIsHyphen[Index: Integer]: BooleanWrapper TPdfView qui redirige vers TPdf.CharacterIsHyphen
property CharacterMapError[Index: Integer]: BooleanWrapper TPdfView qui redirige vers TPdf.CharacterMapError
property CharacterOrigin[Index: Integer]: TPointWrapper TPdfView qui redirige vers TPdf.CharacterOrigin
property CharacterRectangle[Index: Integer]: TRectWrapper TPdfView qui redirige vers TPdf.CharacterRectangle
property Charcode[Index: Integer]: WideCharWrapper TPdfView qui redirige vers TPdf.Charcode
procedure ClearFormFieldFocusExploite le curseur logique de focus AcroForm de la page courante pour les scénarios clavier, vocaux et d’accessibilité
procedure ClearHighlightWrapper TPdfView qui redirige vers TPdfView.ClearHighlight
procedure ClearReadingHighlightContrôle la superposition de surlignage de lecture de TPdfView utilisée par la lecture vocale synchronisée
procedure ClearReadingWordEfface la superposition du curseur de lecture au niveau du mot dans TPdfView
procedure ClearSelectionEfface la sélection de texte courante et invalide la vue
ColorDéfinit la couleur d’arrière-plan dessinée entre les rectangles de pages et autour des bords du document
ConstraintsDéfinit la largeur et la hauteur minimales et maximales que la visionneuse PDF peut atteindre lors du redimensionnement de son parent
function CopySelectionToClipboard: BooleanCopie le texte Unicode sélectionné via le presse-papiers système Windows ou LCL natif
constructor Create(AOwner: TComponent); overrideCrée le contrôle TPdfView et initialise l’état de rendu, de défilement, de sélection et d’interaction avec les formulaires
procedure CreateAnnotation(const Annotation: TPdfAnnotation)Wrapper TPdfView qui redirige vers TPdf.CreateAnnotation
property CurrentCharIndex: IntegerIndex de caractère en lecture seule, à base zéro, sous le curseur de souris actuel (ou le dernier point testé)
procedure DeleteAnnotation(Index: Integer)Wrapper TPdfView qui redirige vers TPdf.DeleteAnnotation
destructor Destroy; overrideLibère les ressources de la visionneuse, les tampons de rendu et les abonnements au document avant la destruction de TPdfView
function DeviceToPage(X, Y: Integer; out PageX, PageY: Double): Boolean; overloadConvertit un pixel écran (X, Y) de la vue en point de l’espace utilisateur PDF sur la page courante
property DisplayMode: TPdfDisplayModeMode de mise en page : page unique, continu, deux pages, deux pages continu, avec ou sans couverture
property DragCursorDocumente le membre DragCursor publié par TPdfView
property DragKindDocumente le membre DragKind publié par TPdfView
property DragModeDocumente le membre DragMode publié par TPdfView
EnabledDétermine si la visionneuse PDF accepte les saisies souris et clavier de l’utilisateur
property Find: FPDF_SCHHANDLEWrapper TPdfView qui redirige vers TPdf.Find
function FindFirst(const Text: WString; Options: TSearchOptions= []; StartIndex: Integer= 0; DirectionUp: Boolean= True): IntegerDémarre la recherche du texte indiqué ; StartIndex est à base zéro et -1 désigne la fin de la page ; le paramètre DirectionUp détermine le sens de cette opération de recherche
function FindNext: IntegerWrapper TPdfView qui redirige vers TPdf.FindNext
function FindPrevious: IntegerWrapper TPdfView qui redirige vers TPdf.FindPrevious
property FitMode: TPdfFitModeContrôle la façon dont la page courante s’inscrit dans la zone client de la visionneuse ; réappliqué automatiquement au redimensionnement et quand PageNumber change, afin que les documents mêlant tailles de pages restent correctement cadrés
function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerWrapper TPdfView qui redirige vers TPdf.FlattenPage
function FocusFormField(Index: Integer): BooleanExploite le curseur logique de focus AcroForm de la page courante pour les scénarios clavier, vocaux et d’accessibilité
function FocusNextFormField: IntegerExploite le curseur logique de focus AcroForm de la page courante pour les scénarios clavier, vocaux et d’accessibilité
function FocusPreviousFormField: IntegerExploite le curseur logique de focus AcroForm de la page courante pour les scénarios clavier, vocaux et d’accessibilité
function FocusedFormFieldDetails: TPdfFormFieldInfoRenvoie TPdfFormFieldInfo pour le champ de formulaire logique actuel
function FocusedFormFieldIndex: IntegerExploite le curseur logique de focus AcroForm de la page courante pour les scénarios clavier, vocaux et d’accessibilité
function FocusedFormFieldName: WStringRenvoie le nom d’affichage logique actuel du champ de formulaire, en privilégiant AlternateName et en revenant à Name
function FocusedFormFieldText: WStringExploite le curseur logique de focus AcroForm de la page courante pour les scénarios clavier, vocaux et d’accessibilité
function FocusedFormFieldTextDirection: TPdfFormTextDirectionLit la direction du texte en mémoire du widget ayant le focus dans la visionneuse
function FocusedFormFieldValue: WStringRenvoie la valeur logique actuelle du champ de formulaire via FocusedFormFieldIndex sans dépendre du caret interactif
property FontAscent[Index: Integer; FontSize: Single]: SingleWrapper TPdfView qui redirige vers TPdf.FontAscent
property FontBaseName[Index: Integer]: WStringWrapper TPdfView qui redirige vers TPdf.FontBaseName
property FontData[Index: Integer]: TBytesWrapper TPdfView qui redirige vers TPdf.FontData
property FontDescent[Index: Integer; FontSize: Single]: SingleWrapper TPdfView qui redirige vers TPdf.FontDescent
property FontFamilyName[Index: Integer]: WStringWrapper TPdfView qui redirige vers TPdf.FontFamilyName
property FontFlags[Index: Integer]: IntegerWrapper TPdfView qui redirige vers TPdf.FontFlags
property FontHandle[Index: Integer]: FPDF_FONTWrapper TPdfView qui redirige vers TPdf.FontHandle
property FontIsEmbedded[Index: Integer]: BooleanWrapper TPdfView qui redirige vers TPdf.FontIsEmbedded
property FontItalicAngle[Index: Integer]: IntegerWrapper TPdfView qui redirige vers TPdf.FontItalicAngle
property FontSize[Index: Integer]: DoubleWrapper TPdfView qui redirige vers TPdf.FontSize
property FontWeight[Index: Integer]: IntegerWrapper TPdfView qui redirige vers TPdf.FontWeight
function FormCanRedo: BooleanIndique si le widget AcroForm ayant le focus comporte au moins une modification annulée à rétablir
function FormCanUndo: BooleanIndique si le widget AcroForm ayant le focus comporte au moins une modification à annuler
property FormField[Index: Integer]: WStringWrapper TPdfView qui redirige vers TPdf.FormField
property FormFieldAt[X, Y: Integer]: WStringWrapper TPdfView qui redirige vers TPdf.FormFieldAt
property FormFieldCount: IntegerWrapper TPdfView qui redirige vers TPdf.FormFieldCount
property FormFieldInfo[Index: Integer]: TPdfFormFieldInfoWrapper TPdfView qui redirige vers TPdf.FormFieldInfo
property FormFieldInfoAt[X, Y: Integer]: TPdfFormFieldInfoWrapper TPdfView qui redirige vers TPdf.FormFieldInfoAt
function FormFieldTypeAt(X, Y: Integer; out FieldType: TPdfFormFieldType): BooleanConvertit les pixels de la vue en coordonnées de page et effectue un test de présence natif sur le type de champ
function FormFieldTabOrder: TPdfIntegerArrayExploite le curseur logique de focus AcroForm de la page courante pour les scénarios clavier, vocaux et d’accessibilité
function FormRedo: BooleanRétablit la dernière modification annulée sur le widget AcroForm ayant le focus, en pilotant l’historique de rétablissement propre à chaque widget de PDFium
function FormUndo: BooleanAnnule la dernière modification du widget AcroForm ayant le focus, en pilotant l’historique d’annulation propre à chaque widget de PDFium
procedure GenerateFormAppearancesWrapper TPdfView qui redirige vers TPdf.GenerateFormAppearances
function GetSelectedFormText: WStringRenvoie le texte actuellement sélectionné dans le widget AcroForm ayant le focus sur la page active de la vue
property HasFormFieldAt[X, Y: Integer]: BooleanWrapper TPdfView qui redirige vers TPdf.HasFormFieldAt
function HasSelection: BooleanIndique si du texte est actuellement sélectionné dans la visionneuse
property HighlightColor: TColorCouleur du rectangle dessiné sur chaque correspondance renvoyée par HighlightSearchText ; clYellow par défaut, publié pour que les applications puissent adapter le surlignage à leur thème
function HighlightSearchText(const Text: WString; MatchCase: Boolean= False; MatchWholeWord: Boolean= False): IntegerWrapper TPdfView qui redirige vers TPdfView.HighlightSearchText
property Image[Index: Integer]: TPdfImageWrapper TPdfView qui redirige vers TPdf.Image
property ImageCount: IntegerWrapper TPdfView qui redirige vers TPdf.ImageCount
property LinkAnnotation[PageNumber, Index: Integer]: TLinkAnnotationWrapper TPdfView qui redirige vers TPdf.LinkAnnotation
function LinkAnnotationAtPos(X, Y: Integer; out PageNumber: Integer): Integer; overloadRenvoie l’index de l’annotation de lien au pixel écran (X, Y), ou -1
property LinkAnnotationCount[PageNumber: Integer]: IntegerWrapper TPdfView qui redirige vers TPdf.LinkAnnotationCount
property LinkOptions: TPdfViewLinkOptionsEnsemble publié contrôlant lesquels des quatre types d’actions de lien de PDFium la vue suit automatiquement lorsque l’utilisateur clique sur le lien
LoadingColorCouleur de remplissage de l’espace réservé « chargement » dessiné pendant qu’une page est encore en rendu
LoadingTextTexte affiché au centre de la page tant que le rendu asynchrone est en cours
property NightDuotoneInk: TColorContrôle la couleur d’encre utilisée par l’option de rendu basse vision reNightDuotone
property NightDuotonePaper: TColorContrôle la couleur de papier utilisée par l’option de rendu basse vision reNightDuotone
property ObjectBitmap[Index: Integer]: TBitmapWrapper TPdfView qui redirige vers TPdf.ObjectBitmap
property ObjectBounds[Index: Integer]: TPdfRectangleWrapper TPdfView qui redirige vers TPdf.ObjectBounds
property ObjectCount: IntegerWrapper TPdfView qui redirige vers TPdf.ObjectCount
property ObjectHandle[Index: Integer]: PointerWrapper TPdfView qui redirige vers TPdf.ObjectHandle
property ObjectTransparent[Index: Integer]: BooleanWrapper TPdfView qui redirige vers TPdf.ObjectTransparent
property ObjectType[Index: Integer]: TObjectTypeWrapper TPdfView qui redirige vers TPdf.ObjectType
property Options: TRenderOptionsEnsemble d’options de rendu et d’options basse vision post-rendu de TPdfView
property Page: FPDF_PAGEWrapper TPdfView qui redirige vers TPdf.Page
property PageBorderColor: TColorCouleur de la bordure d’un pixel dessinée autour de chaque rectangle de page
property PageBounds: TPdfRectangleWrapper TPdfView qui redirige vers TPdf.PageBounds
property PageColor: TColorCouleur d’arrière-plan peinte sous la page PDF rendue, découplée de la propriété Color du contrôle environnant ; clWhite par défaut, afin que les pages PDF restent blanches comme du papier même quand la couleur du contrôle hôte suit un thème sombre
property PageCount: IntegerWrapper TPdfView qui redirige vers TPdf.PageCount
property PageHeight: DoubleWrapper TPdfView qui redirige vers TPdf.PageHeight
property PageHeightZoom[PageNumber: Integer]: DoubleFacteur de zoom en lecture seule ajustant la hauteur de la page dans la vue
property PageLabel: WStringWrapper TPdfView qui redirige vers TPdf.PageLabel
property PageNumber: IntegerWrapper TPdfView qui redirige vers TPdf.PageNumber
property PageRotation: TRotationWrapper TPdfView qui redirige vers TPdf.PageRotation
PageShadowColorCouleur de remplissage de l’ombre portée peinte sous chaque rectangle de page
property PageShadowSize: IntegerLargeur (en pixels) de l’ombre douce dessinée autour de chaque page dans les modes continus
function PageToDevice(PageX, PageY: Double; out X, Y: Integer): Boolean; overloadInverse de DeviceToPage : convertit un point de l’espace utilisateur PDF en pixel écran dans la vue
property PageWidth: DoubleWrapper TPdfView qui redirige vers TPdf.PageWidth
property PageWidthZoom[PageNumber: Integer]: DoubleFacteur de zoom en lecture seule ajustant la largeur de la page dans la vue
function PageWordBoxes: TPdfWordBoxesRenvoie des enregistrements TPdfWordBox pour les mots de la page TPdfView courante, avec plages de caractères et rectangles en espace page
property PageZoom[PageNumber: Integer]: DoubleZoom en lecture seule requis pour ajuster la page courante dans la vue selon le DisplayMode actuel
procedure PaintSelection(SelectionStart, SelectionEnd: Integer; Mask: TColor)Wrapper TPdfView qui redirige vers TPdfView.PaintSelection
property ParentShowHintDocumente le membre ParentShowHint publié par TPdfView
property Pdf: TPdfRéférence le composant TPdf dont le document est rendu par la visionneuse
PopupMenuAssocie un TPopupMenu à la visionneuse PDF afin qu’un clic droit sur une page affiche un menu contextuel
ReadableContentRenvoie des fragments de contenu lisible sémantique pour les lecteurs d’écran, la synthèse vocale et les parcours d’accessibilité
property ReadingHighlightColor: TColorContrôle la superposition de surlignage de lecture de TPdfView utilisée par la lecture vocale synchronisée
function ReadingUnits: TPdfReadingUnitsConstruit des enregistrements TPdfReadingUnit au niveau de la phrase à partir de la page TPdfView courante
property ReadingWordColor: TColorContrôle la couleur de la superposition du curseur de lecture au niveau du mot courant
property ReadingWordFollow: BooleanDétermine si TPdfView fait défiler le mot actuellement énoncé pour le maintenir visible pendant le suivi de la lecture
property Rectangle[Index: Integer]: TRectWrapper TPdfView qui redirige vers TPdf.Rectangle
function RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerWrapper TPdfView qui redirige vers TPdf.RectangleCount
procedure ReloadPageWrapper TPdfView qui redirige vers TPdf.ReloadPage
procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True)Wrapper TPdfView qui redirige vers TPdf.RemoveObject
procedure RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = [])Rend le contenu d’une page vers un périphérique (écran, bitmap ou imprimante)
function RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []): TBitmapRend une zone rectangulaire d’une page dans un nouveau bitmap ; le bitmap renvoyé doit être libéré manuellement
property Rotation: TRotationRotation visuelle appliquée à la page rendue (ro0 / ro90 / ro180 / ro270)
procedure SelectAllSélectionne tous les caractères de la ou des pages actuellement affichées par la visionneuse
function SelectAllFormText: BooleanSélectionne tous les caractères du widget AcroForm ayant le focus sur la page active de la vue (équivalent de Ctrl+A dans le widget)
function SelectTextRange(Page, StartIndex, Count: Integer): BooleanLit ou écrit le modèle programmatique de sélection de texte de TPdfView sans intervention de la souris
function SelectWordBox(const Word: TPdfWordBox): BooleanSélectionne la plage de texte représentée par un TPdfWordBox sur la page TPdfView courante
function SelectWordSpan(const Words: TPdfWordBoxes; StartIndex, EndIndex: Integer): BooleanSélectionne, sur une même page, une étendue d’enregistrements TPdfWordBox comme une sélection de texte TPdfView
function SelectedText: WStringRenvoie le texte actuellement sélectionné sous forme de chaîne large
function SelectionCharCount: IntegerRenvoie le nombre total de caractères actuellement sélectionnés
property SelectionColor: TColorCouleur de remplissage de la superposition de sélection de texte par glissement de l’utilisateur
function SelectionRanges: TPdfUserSelectionRangesLit ou écrit le modèle programmatique de sélection de texte de TPdfView sans intervention de la souris
function SelectionRectangles: TPdfRectanglesLit ou écrit le modèle programmatique de sélection de texte de TPdfView sans intervention de la souris
procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Wrapper TPdfView qui redirige vers TPdf.SetFormFieldFlags
procedure SetFormFieldFlagsAt(X, Y: Integer; const Flags: TPdfFormFieldFlags)Wrapper TPdfView qui redirige vers TPdf.SetFormFieldFlagsAt
function SetFocusedFormFieldTextDirection(Direction: TPdfFormTextDirection): BooleanModifie la direction du texte en mémoire du widget ayant le focus et repeint la scène de page
procedure SetReadingHighlight(const Rects: TPdfRectangles; PageNumber: Integer)Contrôle la superposition de surlignage de lecture de TPdfView utilisée par la lecture vocale synchronisée
procedure SetReadingWord(const Word: TPdfWordBox)Surligne un TPdfWordBox comme mot actuellement énoncé dans TPdfView
function SetSelection(const Ranges: TPdfUserSelectionRanges): BooleanLit ou écrit le modèle programmatique de sélection de texte de TPdfView sans intervention de la souris
ShowHintActive ou désactive l’infobulle affichée quand la souris survole la visionneuse PDF
property SmoothScroll: BooleanActive l’animation segmentée pilotée par minuterie pour les commandes de défilement de ligne ou de page ; le suivi de la poignée reste immédiat
property StructureElements: TPdfStructureElementsWrapper TPdfView qui redirige vers TPdf.StructureElements
TabOrderDéfinit la position de la visionneuse PDF dans l’ordre de tabulation du parent
TabStopIndique si l’utilisateur peut donner le focus à la visionneuse PDF avec la touche Tab
function Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringWrapper TPdfView qui redirige vers TPdf.Text
function TextInRectangle(Left, Top, Right, Bottom: Integer): WString; overloadWrapper TPdfView qui redirige vers TPdf.TextInRectangle
property TextPage: FPDF_TEXTPAGEWrapper TPdfView qui redirige vers TPdf.TextPage
property Thumbnail: TBitmapWrapper TPdfView qui redirige vers TPdf.Thumbnail
property TouchDocumente le membre Touch publié par TPdfView
function TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerAssocie un décalage de caractère de page au TPdfWordBox qui le contient, le surligne et renvoie l’index du mot
property Transparent: BooleanWrapper TPdfView qui redirige vers TPdf.Transparent
procedure UpdatePageWrapper TPdfView qui redirige vers TPdf.UpdatePage
VisibleAffiche ou masque la visionneuse PDF
property WebLink[PageNumber, Index: Integer]: TWebLinkWrapper TPdfView qui redirige vers TPdf.WebLink
function WebLinkAtPos(X, Y: Integer; out PageNumber: Integer): Integer; overloadRenvoie l’index du lien web au pixel écran (X, Y)
property WebLinkCount[PageNumber: Integer]: IntegerWrapper TPdfView qui redirige vers TPdf.WebLinkCount
property WindowHandle: HWNDHandle natif de fenêtre ou widget du contrôle, interprété selon la plateforme et le widget set sélectionnés
property Zoom: DoubleFacteur de zoom où 1.0 = 100% (un point PDF = 1 pixel écran à 72 DPI)

Événements TPdfView

ÉvénementTypeDescription
OnPageChangeTNotifyEventDéclenché quand la page affichée change pendant le défilement
OnPageNumberChangedTNotifyEventDéclenché quand la propriété PageNumber est modifiée
OnAnnotationLinkClickTPdfViewAnnotationLinkClickEventDéclenché avant une action automatique d’annotation de lien ; affectez Handled pour supprimer l’action par défaut
OnWebLinkClickTPdfViewWebLinkClickEventDéclenché avant une action automatique de lien web détecté ; affectez Handled pour inhiber ShellExecute
OnPaintTNotifyEventDéclenché pendant les opérations de dessin personnalisé
property OnAnnotationLinkClick: TPdfViewAnnotationLinkClickEventDéclenché quand l’utilisateur clique sur un lien /Annot Subtype Link non traité automatiquement par LinkOptions
property OnCanResizeDocumente l’événement OnCanResize publié par TPdfView
OnClickSe produit quand l’utilisateur clique (bouton gauche) dans la visionneuse
property OnConstrainedResizeDocumente l’événement OnConstrainedResize publié par TPdfView
property OnContextPopupDocumente l’événement OnContextPopup publié par TPdfView
OnDblClickSe produit quand l’utilisateur double-clique (bouton gauche) dans la visionneuse
property OnDragDropDocumente l’événement OnDragDrop publié par TPdfView
property OnDragOverDocumente l’événement OnDragOver publié par TPdfView
property OnEndDockDocumente l’événement OnEndDock publié par TPdfView
property OnEndDragDocumente l’événement OnEndDrag publié par TPdfView
property OnEnterDocumente l’événement OnEnter publié par TPdfView
property OnExitDocumente l’événement OnExit publié par TPdfView
property OnFormFieldFocusChange: TPdfFormFieldFocusEventSe produit quand TPdfView déplace ou efface le curseur logique de focus des champs AcroForm
property OnGestureDocumente l’événement OnGesture publié par TPdfView
property OnKeyDown: TKeyEventDéclenché quand une touche est enfoncée alors que le contrôle a le focus
property OnKeyPress: TKeyPressEventDéclenché pour chaque caractère généré par le clavier
property OnKeyUp: TKeyEventSe produit quand une touche est relâchée alors que le contrôle visionneuse a le focus
property OnMouseActivateDocumente l’événement OnMouseActivate publié par TPdfView
property OnMouseDown: TMouseEventDéclenché quand l’utilisateur presse un bouton de souris sur la vue
property OnMouseEnterDocumente l’événement OnMouseEnter publié par TPdfView
property OnMouseLeaveDocumente l’événement OnMouseLeave publié par TPdfView
property OnMouseMove: TMouseMoveEventDéclenché à chaque déplacement de la souris sur la vue
property OnMouseUp: TMouseEventDéclenché quand l’utilisateur relâche un bouton de souris
property OnMouseWheel: TMouseWheelEventDéclenché quand la molette tourne sur la vue
property OnMouseWheelDownDocumente l’événement OnMouseWheelDown publié par TPdfView
property OnMouseWheelUpDocumente l’événement OnMouseWheelUp publié par TPdfView
property OnPageChange: TNotifyEventDéclenché quand la page courante change pour quelque raison que ce soit
property OnPageNumberChanged: TNotifyEventDéclenché quand le numéro de page visible change à cause du défilement
property OnPaint: TNotifyEventDéclenché après que la vue a terminé de dessiner la page courante
property OnResize: TNotifyEventDéclenché chaque fois que la zone client du contrôle change de taille
property OnSelectionChange: TNotifyEventSe produit quand les plages de sélection de texte matérialisées changent réellement
property OnStartDockDocumente l’événement OnStartDock publié par TPdfView
property OnStartDragDocumente l’événement OnStartDrag publié par TPdfView
property OnWebLinkClick: TPdfViewWebLinkClickEventDéclenché quand l’utilisateur clique sur une URL web détectée dans le texte et non traitée automatiquement par LinkOptions

Classe TPdfDocumentSearch

Recherche de texte paresseuse dans tout le document, en avant ou en arrière, ne conservant les handles PDFium natifs que pour sa page courante

Méthode

MéthodeDescription
NextRenvoie un TPdfDocumentSearchResult avec page, plage de caractères, texte et rectangles en espace page

Propriétés

MembreTypeDescription
CurrentPageIntegerPage en cours de recherche, numérotée à partir de 1
DirectionTPdfDocumentSearchDirectionParcours en avant ou en arrière
FinishedBooleanIndique si aucun autre résultat ne peut être renvoyé
CancelledBooleanIndique si un jeton d’annulation a mis fin à la recherche
MatchCountUInt64Nombre de résultats déjà renvoyés

Classe TPdfProgressiveDocument

TPdfProgressiveDocument dérive de TPdf et maintient active la session native de disponibilité de PDFium pendant qu’un flux à accès aléatoire distant ou en croissance reçoit les plages d’octets demandées

Méthodes

MéthodeDescription
BeginProgressiveLoadDémarre une session à accès aléatoire de taille logique avec un préfixe contigu initial facultatif
CheckDocumentAvailabilityInterroge PDFium sur la disponibilité des métadonnées du document et renvoie des indications de téléchargement fusionnées
OpenProgressiveDocumentOuvre le document natif linéarisé ou le flux personnalisé non linéarisé devenu complet
CheckFormAvailabilityConditionne l’initialisation du remplissage de formulaires et renvoie les plages d’octets supplémentaires éventuelles
LoadAvailablePageConditionne et active une page numérotée à partir de 1 une fois les octets requis arrivés
CancelProgressiveLoadLibère tout l’état progressif dans l’ordre des dépendances

Propriétés et événements

MembreTypeDescription
ProgressiveLoadingBooleanIndique si la session native de disponibilité est active
LogicalFileSizeUInt64Longueur finale du contenu PDF
AvailableByteCountUInt64Longueur monotone du préfixe lisible
LinearizationTPdfLinearizationVerdict natif de linéarisation
FirstAvailablePageNumberIntegerPremière page disponible, numérotation à partir de 1
OnDataAvailableTPdfDataAvailableEventRappel de disponibilité du cache de plages clairsemées
RangeRequestsTPdfRangeRequestSchedulerOrdonnanceur priorisé détenu par l’objet, alimenté par les indications natives de disponibilité

Classe TPdfRangeRequestScheduler

Ordonnanceur thread-safe et indépendant du transport pour fusionner, prioriser, scinder, réessayer, annuler et comptabiliser les requêtes de plages d’octets PDF clairsemées

Flux de travail principal

MéthodeDescription
EnqueueHintsAjoute les plages d’octets natives manquantes et préempte les transferts qui se chevauchent et de priorité moindre
TryDequeueFait passer la requête de priorité maximale dans l’ensemble en cours
CompleteRequestValide une réponse de transport complète ou partielle après stockage de ses octets
FailRequestRéessaie ou abandonne une tentative de transport échouée dans la limite de MaxRetryCount
MarkAvailableEnregistre les octets externes et annule les travaux en attente ou actifs en double
CancelInvalide la génération et notifie à l’hôte les requêtes de transport actives

Classe TPdfStreamInspector

Inventaire borné en lecture seule et extraction d’objets de flux PDF physiques arbitraires depuis l’unité FPdfStreamInspect

Flux de travail principal

MembreDescription
CreateInspecte un tableau d’octets ou un flux positionnable en préservant la position de flux de l’appelant
CopyRawDataCopie vers un flux de destination une charge encodée complète ou une fenêtre d’octets bruts validée
DecodeDataApplique les filtres généraux pris en charge dans l’ordre de déclaration et signale toute limite restante de codec natif
InfosRenvoie les décalages et longueurs d’objets, les métadonnées de filtres, les DecodeParms et la classification d’accès natif

Composant TPdfReadingSession

TPdfReadingSession est une machine à états de lecture à voix haute indépendante du moteur TTS, qui coordonne les fragments TPdfSpokenText, les rappels du moteur vocal hôte et le surlignage par curseur de mot de TPdfView

Méthodes

MéthodeDescription
Create(AOwner: TComponent)Initialise une session au repos avec un rythme de parole estimé par défaut
LoadSpoken(const Chunks: TPdfSpokenTexts)Arrête la lecture en cours et copie les fragments à énoncer dans l’ordre
PlayDémarre la lecture depuis le premier fragment chargé
PlayFrom(ChunkIndex: Integer)Démarre la lecture depuis un index de fragment à base zéro
PausePasse de pssSpeaking à pssPaused et déclenche OnPauseRequest
ResumeReprend la lecture en pause ou réénonce le fragment courant quand ResumeRestartsChunk est activé
StopAnnule la lecture, réinitialise les curseurs de fragment et de mot, et efface le surlignage de mots attaché à TPdfView
FeedSpokenPosition(SpokenOffset: Integer)Ramène un décalage du moteur vocal à un caractère de page PDF et déplace le curseur de mot de TPdfView
Tick(SpeechStillBusy: Boolean; ElapsedMs: Cardinal = 0)Passe au fragment suivant, termine la lecture ou estime le mot courant tant que la synthèse est encore occupée

Propriétés

PropriétéTypeDescription
StateTPdfReadingSessionStateÉtat courant : pssIdle, pssSpeaking ou pssPaused
ChunkCountIntegerNombre de fragments parlés chargés
CurrentChunkIntegerIndex du fragment actif à base zéro, ou -1 quand aucun fragment n’est actif
CurrentWordIntegerIndex du mot actif à base zéro dans le fragment courant, ou -1 quand il est inconnu
ViewTPdfViewVisionneuse qui reçoit les mises à jour du curseur de mot
EstimatePacingBooleanUtilise le temps écoulé pour estimer la position du mot avec les moteurs vocaux sans signal de position de mot
EstimatedWordsPerMinuteIntegerDébit de parole utilisé par l’estimation du rythme, 175 par défaut
ResumeRestartsChunkBooleanFait réénoncer le fragment courant par Resume pour les moteurs où la pause annule la parole en file d’attente

Événements

ÉvénementTypeDescription
OnSpeakTPdfReadingSpeakEventDéclenché quand l’hôte doit énoncer un fragment
OnCancelRequestTNotifyEventDéclenché quand l’hôte doit annuler la synthèse
OnPauseRequestTNotifyEventDéclenché quand l’hôte doit mettre la synthèse en pause
OnResumeRequestTNotifyEventDéclenché quand l’hôte doit reprendre la synthèse sans redémarrer le fragment
OnChunkChangeTPdfReadingChunkEventDéclenché quand le fragment actif change
OnWordChangeTPdfReadingWordEventDéclenché quand le mot actif change
OnFinishedTNotifyEventDéclenché après la fin du dernier fragment

Composant TPdfThumbnailView

TPdfThumbnailView est un contrôle de panneau latéral à défilement issu de l’unité FPdfThumbnail ; il se lie à un composant TPdf et affiche une miniature de page par ligne pour naviguer dans les pages

Propriétés publiées

PropriétéTypeDéfautDescription
PdfTPdfnilComposant document utilisé pour le rendu des miniatures
CurrentPageIndexInteger0Index de la page sélectionnée, numéroté à partir de 1 ; 0 signifie qu’aucune page n’est sélectionnée
ThumbnailWidthInteger120Largeur cible des miniatures, bornée à 48..800
ThumbnailHeightInteger160Hauteur cible des miniatures, bornée à 48..800
TextColorTColorclBlackCouleur du libellé du numéro de page
HoverColorTColorclMoneyGreenCouleur de surlignage de la ligne sous la miniature survolée
SelectionColorTColorclHighlightCouleur de surlignage de la ligne pour CurrentPageIndex
BorderColorTColorclGrayCouleur de bordure des miniatures

Événements

ÉvénementTypeDescription
OnPageClickTPdfThumbnailClickEventDéclenché quand l’utilisateur clique avec le bouton gauche sur une ligne de miniature ; APageIndex est numéroté à partir de 1

Types de données et énumérations

Types fondamentaux

TypeDéfinition
WStringType de chaîne large pour texte Unicode
TPdfIntegerArrayTableau dynamique de valeurs Integer
TPdfSingleArrayTableau dynamique de valeurs Single utilisé pour les positions de caractères des objets de texte
TPdfPrintPageRangeEnregistrement : StartPage, EndPage : Integer
TPdfPrintPageRangesTableau dynamique de plages d’impression numérotées à partir de 1
TPdfPointEnregistrement : X, Y : Double
TPdfRectangleEnregistrement : Left, Top, Right, Bottom : Double
TPdfDocumentSearchDirectiondsdForward, dsdBackward
TPdfDocumentSearchResultStocke une page numérotée à partir de 1, une plage native de caractères, le texte correspondant et des rectangles en espace page
TPdfReadingUnitStocke une unité de lecture énoncée avec texte, nature sémantique, page, rectangles de surlignage, index sources, état du texte de remplacement et langue
TPdfReadingUnitsTableau dynamique d’enregistrements TPdfReadingUnit
TPdfWordBoxStocke un mot, sa plage de caractères FTextPage, son rectangle en espace page et son numéro de page numéroté à partir de 1
TPdfWordBoxesTableau dynamique d’enregistrements TPdfWordBox
TPdfSpokenSpanRamène une séquence de texte du moteur vocal à une plage de caractères de la page source
TPdfSpokenSpansTableau dynamique d’enregistrements TPdfSpokenSpan
TPdfSpokenTextTexte parlé plus associations d’étendues vers le texte de la page PDF
TPdfSpokenTextsTableau dynamique de fragments TPdfSpokenText
TPdfReadingSessionStatepssIdle, pssSpeaking, pssPaused
TPdfReadingSpeakEventSignature de rappel pour TPdfReadingSession.OnSpeak
TPdfReadingChunkEventSignature de rappel pour TPdfReadingSession.OnChunkChange
TPdfReadingWordEventSignature de rappel pour TPdfReadingSession.OnWordChange
TPdfStreamAdapterClasse exposant un TStream positionnable sous forme de rappels PDFium FPDF_FILEACCESS
TPdfRandomAccessStoreFlux positionnable thread-safe à mémoire bornée, avec débordement sécurisé vers fichier temporaire, E/S positionnées, transfert, vidage et diagnostics de stockage
TPdfStorageBackendpsbMemory, psbTemporaryFile
TPdfXObjectWrapper de durée de vie pour les handles Form XObject réutilisables créés par CreateXObjectFromPage
TPdfFileIdentifierTypefidPermanent, fidChanging
TPdfPageBoxpbMedia, pbCrop, pbBleed, pbTrim, pbArt
TPdfJavaScriptActionEnregistrement : Name, Script : WString
TPdfJavaScriptActionsTableau dynamique d’enregistrements TPdfJavaScriptAction
TPdfVersionpvUnknown, pv10, pv11, pv12, pv13, pv14, pv15, pv16, pv17 ; les cibles SaveAs explicites de pv13 à pv17 sont normalisées et validées par rapport à la version PDF sélectionnée
TPdfVersionInfoEnregistrement rassemblant séparément les versions d’en-tête, de catalogue, du cœur effectif et de l’extension de développement Adobe, depuis l’unité FPdfCompress
TRotationro0, ro90, ro180, ro270
TSaveOptionsaNone, saIncremental, saNoIncremental, saRemoveSecurity
TObjectTypeotUnknown, otText, otPath, otImage, otShading, otForm
TPageModepmNone, pmOutline, pmThumbs, pmFullScreen, pmOptionalContentGroup, pmAttachments, pmUnknown
TPdfActionacUnsupported, acGoto, acGotoRemote, acUri, acLaunch
TPdfPrintModeprEmf, prTextOnly, prPostScript2, prPostScript3, prPostScript2PassThrough, prPostScript3PassThrough, prEmfImageMasks, prPostScript3Type42, prPostScript3Type42PassThrough
TPdfDisplayModedmSingleContinuous, dmTwoPageContinuous, dmTwoPageContinuousWithCover
TPdfViewLinkOptionloAutoGoto, loAutoOpenURI, loAutoLaunch, loAutoEmbeddedGoto
TPdfViewLinkOptionsEnsemble de valeurs TPdfViewLinkOption

Options de recherche et de rendu

TypeValeurs
TSearchOptionseCaseSensitive, seWholeWord, seConsecutive
TSearchOptionsEnsemble de TSearchOption
TRenderOptionreAnnotations, reLcd, reNoNativeText, reGrayscale, reDebugInfo, reNoCatchException, reLimitCache, reHalftone, rePrinting, reReverseByteOrder, reNoSmoothText, reNoSmoothImage, reNoSmoothPath, reInvert, reNightDuotone
TRenderOptionsEnsemble de TRenderOption

Types de dessin

TypeValeurs
TPdfFillModefmNone, fmAlternate, fmWinding
TPdfLineCaplcDefault, lcButt, lcRound, lcProjectingSquare
TPdfLineJoinljDefault, ljMiter, ljRound, ljBevel
TPdfPathSegmentTypepstUnknown, pstLineTo, pstBezierTo, pstMoveTo
TPdfOverlayPlacementopTopLeft, opTopCenter, opTopRight, opMiddleLeft, opCenter, opMiddleRight, opBottomLeft, opBottomCenter, opBottomRight, opStretch, opCustom
TPdfBlendModebmDefault, bmMultiply, bmScreen, bmOverlay, bmDarken, bmLighten, bmColorDodge, bmColorBurn, bmHardLight, bmSoftLight, bmDifference, bmExclusion, bmHue, bmSaturation, bmColor, bmLuminosity

Types d’annotation

TypeDescription
TPdfAnnotationSubtypeSous-types d’annotation : Text, Link, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, Squiggly, StrikeOut, Stamp, Caret, Ink, Popup, FileAttachment, Sound, Movie, Widget, Screen, PrinterMark, TrapNet, Watermark, 3D, RichMedia, XFAWidget, Redact
TPdfAnnotationFlagIndicateurs : afInvisible, afHidden, afPrint, afNoZoom, afNoRotate, afNoView, afReadOnly, afLocked, afToggleNoView
TPdfAnnotationEnregistrement contenant le sous-type, les indicateurs, les couleurs, le texte, le rectangle et tous les ensembles de quadrilatères de marquage jusqu’à AttachmentPointSets

Types de formulaire

TypeDescription
TPdfFormTypeftUnknown, ftNone, ftAcroForm, ftXfaFull, ftXfaForeground
TPdfFormFieldTypefiUnknown, fiPushButton, fiCheckBox, fiRadioButton, fiComboBox, fiListBox, fiTextField, fiSignature
TPdfFormFieldFlagffReadOnly, ffRequired, ffNoExport, ffMultiline, ffChoiceCombo, ffChoiceEdit, ffPassword, ffChoiceMultiSelect
TPdfFormFieldInfoEnregistrement contenant FieldType, Flags, Name, Value, AlternateName et d’autres propriétés

Types d’horodatage d’archive PAdES

TypeDescription
TPadesArchiveTimestampOptionsURL de TSA, nonce, capacité de jetons, indicateur facultatif de rafraîchissement DSS, matériel DSS de remplacement complet et Default
TPadesArchiveTimestampReportNiveaux PAdES source et résultat, nombres d’horodatages de document avant et après, longueurs en octets source et résultat, état de mise à jour DSS, heure de génération, OID de politique et nonce renvoyé

Types d’algorithmes de signature PAdES

TypeDescription
TPadesSignatureAlgorithmFamilypsafUnknown, psafRsa, psafEcdsa, psafEd25519 ou psafEd448
TPadesSignatureAlgorithmInfoOID de condensat et de signature CMS, OID de clé publique et de courbe nommée X.509, présence de paramètres et longueur de sortie SHAKE, famille et état de politique indépendant

Types d’analyse de révision PAdES

TypeDescription
TPadesRevisionAnalysisStatusprasNotChecked, prasNoLaterChanges, prasAllowed, prasDisallowed, prasSuspicious ou prasIndeterminate
TPadesRevisionChangeKindClasse les changements xref, signature, matériel de validation, champ de formulaire, annotation, contenu de page, structure de document, métadonnées, contenu actif, suppression, compression ou inconnus
TPadesRevisionObjectChangeSignale la révision, les numéros d’objet et de génération, le décalage source ou le numéro et l’index de flux d’objets, la classification, la décision, l’autorité et l’état de redéfinition
TPadesSignatureRevisionAnalysisSignale, pour une signature, la révision couverte, la politique DocMDP et FieldMDP, les révisions ultérieures, les risques, l’état et les changements d’objets
TPadesRevisionAnalysisReportAgrège l’état source, les comptages de révisions et de signatures, les risques, l’état, les analyses par signature et les erreurs d’analyse

Types de rapport de preuves PAdES

TypeDescription
TPadesEvidenceReportOptionsParamètres de confiance plus budgets d’octets source, de signatures, de changements de révision, de matériel de validation, d’octets stockés et de VRI
TPadesValidationMaterialEvidenceIdentifie un certificat DSS stocké, une réponse OCSP ou une CRL par numéro d’objet, longueur stockée, nature et SHA-256
TPadesVriEvidenceAssocie une clé VRI et son objet dictionnaire aux références de ses objets certificat, OCSP et CRL
TPadesSignatureEvidenceMet en corrélation, pour une signature, les faits PDFium, le ByteRange, les empreintes de contenu et de VRI, la politique CMS, l’état de validation, les empreintes du chemin de confiance, la couverture DSS/VRI et les décisions de révision
TPadesEvidenceReportAgrège les preuves de validation, de révision, DSS, PDFium, de troncature et par signature, avec exports ToJson et ToCsv

Types de codecs d’image, de différences de documents et d’imposition

Type ou fonctionDescription
TPdfImageCodecpicKeepOriginal, picJpeg, picJpx, picCcittGroup4 ou picFlate
TPdfImageCodecsEnsemble des valeurs TPdfImageCodec autorisées
TPdfImageCodecCandidateFaits d’image et longueurs encodées mesurées servant à la sélection du codec
TPdfImageCodecDecisionCodec sélectionné, compteurs d’octets d’origine et sélectionné, économie réalisée et décision de remplacement
SelectPdfImageCodecSélectionne le plus petit encodage mesuré éligible sans remplacer l’original en dessous de l’économie demandée
TPdfDocumentDiffOptionsDimensions rendues, tolérance de couleur, seuils de texte et de géométrie, budget de pages et Default
TPdfPageDifferencePreuves de texte, de géométrie, de rotation, de comptage de pixels et d’étendues modifiées d’une page
TPdfPageDifferencesTableau dynamique d’enregistrements TPdfPageDifference
TPdfDocumentDiffReportRésultat d’équivalence global, comptages de pages, pages modifiées, pixels, troncature et différences détaillées
TPdfImpositionModepimNUp ou pimBooklet
TPdfImpositionOptionsTaille de sortie, grille, reliure, gouttière, fond perdu, décalage progressif, option de feuilles inversées et Default
TPdfImpositionSlotFeuille, face, emplacement, page source, décalage progressif et bornes utilisables d’un placement imposé
TPdfImpositionSlotsTableau dynamique d’enregistrements TPdfImpositionSlot
TPdfImpositionPlanNombres de pages source et après complétion, comptages de feuilles et de faces, grille et géométrie de sortie, et emplacements ordonnés
TPdfImpositionExecutionReportFaits d’exécution d’importation native, de pages importées, de sources uniques, d’emplacements vides, de modèles XObject, d’objets de formulaire, de génération de contenu, de pages de sortie et de N-up natif
TPdfContentMarkSnapshotsTableau dynamique d’instantanés immuables de marques de contenu détenus par l’appelant
TPdfPageObjectSnapshotsTableau dynamique d’instantanés immuables d’objets de page détenus par l’appelant
BuildPdfImpositionPlanConstruit et valide un plan d’emplacements N-up ou livret sans ouvrir ni modifier un document

Types enregistrements

TypeChamps
TBookmarkHandle, Title, PageNumber, Destination, DescendantCount, IsOpen, Action, ActionPageNumber, ActionDestination, ActionPath, HasColor, Color, Style
TDestinationHandle, Name, PageNumber, ViewMode, ViewParameterCount, ViewParameters, HasX, X, HasY, Y, HasZoom, Zoom
TPdfDocumentMetadataTitle, Author, Subject, Keywords, Creator, Producer, CreationDate, ModifiedDate
TPdfBatchMergeSourceFileName, PageRange, Password et le constructeur FromFile
TPdfBatchMergeOptionsErrorPolicy, FormPolicy, OutlinePolicy, ResourcePolicy, PageChunkSize, InsertAt, CreateDestination, CopyViewerPreferences, RollbackOnCancelOrFailure, CancellationToken, OnProgress et Default
TPdfBatchMergeReportÉtat terminal, compteurs de sources et de pages, métriques d’importation native, maximum de sources ouvertes, détections de politiques, état de la destination et des préférences de visionneuse, texte d’erreur et incidents
TLinkAnnotationHandle, Rectangle, PageNumber, Action, ActionPageNumber, ActionPath, Points
TWebLinkUrl : WString, Rectangles : TPdfRectangles
TPdfImageWidth : Integer, Height : Integer, Data : TBytes
TPdfSignatureContent : TBytes, Encoding : WString, Reason : WString, Time : WString, Permission : Integer
TPdfFormSelectionRectPageNumber : Integer, Bounds : TPdfRectangle
TPdfStructureElementHiérarchie, alternatives textuelles, MCID, attributs de tableaux et de listes, mappage d’espaces de noms et de rôles d’espaces de noms, références, fichiers associés, descriptions d’annotations, propriété des widgets, étiquettes et faits d’apparence
TPdfStructureReadOptionsProfondeur maximale, éléments, valeurs d’attributs, échéance et contrôles d’inclusion d’attributs pour un parcours itératif de la structure
TPdfStructureReadStatusCompteurs de visites plus issues de complétion, de profondeur, d’élément, d’attribut, d’échéance et d’arrêt du visiteur
TPdfUaNamespaceKindpunkMissing, punkPdf17, punkPdf20, punkMathMl, punkAria, punkDpub, punkCustom

Types de navigation et de permissions

TypeValeurs
TPdfDestinationViewModedvmUnknown, dvmXYZ, dvmFit, dvmFitHorizontal, dvmFitVertical, dvmFitRectangle, dvmFitBoundingBox, dvmFitBoundingBoxHorizontal, dvmFitBoundingBoxVertical
TPdfPermissionpermPrint, permModify, permCopy, permAnnotate, permFillForms, permAccessibility, permAssemble, permPrintHighQuality
TPdfPermissionsEnsemble de valeurs TPdfPermission

Types de chargement, d’enregistrement et de flux de documents

TypeValeurs
TPdfLoadModeplmCompatible, plmStrict, plmRecovery — détermine l’ampleur de réparation qu’un chargement peut entreprendre
TPdfLoadStatusplsNotAttempted, plsLoaded, plsLoadedWithRecovery, plsRejected, plsFailed
TPdfLoadRecoveryRouteplrrNone, plrrNativeCrossReference, plrrNativeCrossReferenceRebuild
TPdfContentNormalizeStatuspcnsNotStarted, pcnsCompleted et les motifs d’échec bornés pcnsInputLimitExceeded, pcnsOutputLimitExceeded, pcnsTokenLimitExceeded, pcnsMalformedToken, pcnsUnresolvedInlineImage, pcnsUnbalancedState, pcnsUnsupportedFilter, pcnsEncryptedDocument, pcnsSignedDocument, pcnsDocumentRewriteFailed
TPdfObjectPatchOperationKindpopSet, popRemove — nature d’opération utilisée par SaveAsObjectGraphPatched
TPdfObjectPatchValueEnregistrement : Kind, BooleanValue, IntegerValue, RealValue, TextValue, ReferenceObjectNumber, ReferenceGeneration
TPdfOptionalContentStateocsUnspecified, ocsOn, ocsOff
TPdfStreamDecodeLevelpsdlRaw, psdlGeneral, psdlFull
TPdfStreamNativeAccesspsnaNone, psnaImageObject, psnaEmbeddedFile
TPdfStreamReadStatuspsrsCompleted, psrsPartiallyDecoded, plus les refus de lecture bornée tels que psrsInvalidIndex, psrsSourceLimitExceeded, psrsExpansionRatioExceeded, psrsUnsupportedFilter, psrsEncrypted, psrsMalformed
TPdfAFRelationshipafSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData, afTemplate — relation de fichier associé de l’ISO 32000-2 7.11.4
TDpmTargetdptRoot, dptLeaf — emplacement où sont attachées les métadonnées de partie de document PDF/VT
TPdfXmpNamespaceEnregistrement : Prefix, Uri — un espace de noms d’un TPdfXmpPacket
TPdfAMetadataValuesEnregistrement contenant les valeurs Info mappées décodées par PDFium et un ensemble explicite de clés présentes
TPdfAMetadataComparisonEnregistrement contenant un champ mappé, son état d’équivalence et les deux valeurs comparées
TPdfAMetadataReportEnregistrement contenant la disponibilité XMP, l’état d’analyse, les comparaisons par champ, les champs en écart et IsEquivalent
TPdfLoadIssueEnregistrement : Code, Severity, Offset, ObjectNumber, RevisionIndex, MessageText — une constatation de l’audit borné des références croisées
TPdfLoadIssueCodeCodes des constatations d’audit, de plicHeaderMissing et plicStartXrefInvalid à plicXrefEntryConflict, plicNativeCrossReferenceRebuild, plicStrictModeRejected et plicRepairVerificationFailure
TPdfLoadIssueSeverityplisInformation, plisWarning, plisError
TPdfObjectPatchValueKindpovNull, povBoolean, povInteger, povReal, povName, povTextString, povReference
TPdfStreamFilterInfoEnregistrement : Name et Kind du filtre plus les paramètres de décodage Predictor, Colors, BitsPerComponent, Columns, EarlyChange
TPdfOptionalContentGroupEnregistrement décrivant un OCG : numéro et génération d’objet, Name, Intents, états view / print / export, sous-type d’élément de page, langue, type et noms d’utilisateur, plage de zoom facultative, EffectiveVisible, Locked et index de groupe radio
TPdfOptionalContentConfigurationEnregistrement décrivant une configuration OCG : nom, créateur, BaseState, intents, listes de groupes on / off / locked / order, groupes radio et présence éventuelle d’un état automatique
TPdfOptionalContentMembershipEnregistrement décrivant un OCMD : groupes référencés, Policy, expression de visibilité et EffectiveVisible
TPdfOptionalContentMembershipPolicyocmpAnyOn, ocmpAllOn, ocmpAnyOff, ocmpAllOff, ocmpUnknown
TPdfOptionalContentBaseStateocbsOn, ocbsOff, ocbsUnchanged
TPdfOptionalContentRadioGroupEnregistrement : numéros d’objets des groupes se comportant comme un ensemble de boutons radio
TPdfOptionalContentStateChangeEnregistrement : GroupObjectNumber et état Visible à écrire
TPdfXmpValueEnregistrement : Kind (pxvkText, pxvkUri, pxvkResource), Text, Language, Qualifiers, RawXml
EPdfXmpErrorException levée pour une entrée XMP malformée
TXfdfNameValuePairEnregistrement : Name, Value — une entrée générique d’un document XFDF
TPdfDpmEntryEnregistrement : Name, Value, IsNestedDict — une entrée de métadonnées de partie de document PDF/VT
TPdfVT2sValidationIssueConstatations de la validation du flux MIME PDF/VT-2s, telles que vtmviNotMultipart, vtmviMissingStreamVersion, vtmviMissingBoundary, vtmviNoInlinePdf et vtmviInlinePdfNotPdfVT

Types de texte, de polices et d’OCR

TypeValeurs
TPdfCidFontEmbeddingModepcfemFull, pcfemSubsetPreferred, pcfemSubsetRequired
TPdfSystemFontRequestEnregistrement : FaceName, Weight, Italic, Charset, PitchFamily — demande de police transmise à un fournisseur de polices système
TPdfSystemFontDataEnregistrement : FaceName, FontData, Charset, TTCIndex — octets de police renvoyés par un fournisseur de polices système
TPdfShapedGlyphEnregistrement : GlyphID, Advance, OffsetX, OffsetY, ClusterStart, ClusterLength
TPdfTextShaperClasse abstraite dotée d’une unique méthode Shape ; implémentez-la pour brancher un moteur de mise en forme externe dans AddShapedText
TPdfTableDetectionModeptdmRuled, ptdmWhitespace
TPdfTableContinuationptcNone, ptcStart, ptcMiddle, ptcEnd — position d’une grille de pages dans une chaîne de continuation de tableau
TPdfOcrImageEnregistrement : PageNumber, Width, Height, Stride, Dpi, PixelFormat, Pixels — raster de page transmis à un fournisseur OCR
TPdfOcrQuadEnregistrement : TopLeft, TopRight, BottomRight, BottomLeft, avec FromRectangle
TPdfOcrPointEnregistrement : X, Y en unités de page
TPdfOcrPixelFormatpopfBgra32 — disposition des pixels transmise à un fournisseur OCR
TPdfOcrPageStatuspopsPending, popsCompleted, popsSkippedExistingText, popsCancelled, popsFailed
TPdfOcrPageReportEnregistrement : numéro de page, Status, taille d’image et comptages de mots détectés / insérés / rejetés avec un message d’erreur
TPdfShapedRunEnregistrement : plage de texte source, position et largeur visuelles, BidiLevel, IsRightToLeft et Glyphs mis en forme
TPdfReflowNodeEnregistrement : Kind du nœud, index parent, profondeur, page, texte, bornes, langue, source d’ordre de lecture, niveau de titre, géométrie de lignes / colonnes de tableau, indicateur d’en-tête et confiance
TPdfReflowNodeKindprnkPage, prnkParagraph, prnkHeading, prnkList, prnkListItem, prnkFigure, prnkCaption, prnkTable, prnkTableRow, prnkTableCell, prnkOther
TPdfSearchHighlightRangeEnregistrement : StartIndex, Count — une plage de caractères surlignée
TPdfUserSelectionRangeEnregistrement : Page numérotée à partir de 1, StartIndex dans le texte de cette page et Count
TPdfSelectionPointEnregistrement : Page numérotée à partir de 1 et CharIndex ; une page non positive ou un index -1 signifient aucune sélection
EPdfTextShapingErrorException levée lorsque la mise en forme du texte échoue

Types du constructeur de mise en page

TypeValeurs
TPdfLayoutItemUn élément d’un flux de mise en page ; Kind choisit texte, espaceur, filet, image, XObject de page, saut de page, nœud en cache, lien ou nœud sémantique
TPdfLayoutItemKindpliText, pliSpacer, pliRule, pliImage, pliPageXObject, pliPageBreak, pliCachedNode, pliLink, pliSemanticNode
TPdfLayoutTextStyleEnregistrement : nom et taille de police, couleur et alpha, hauteur de ligne, alignement, maintien ensemble historique, coupure des mots longs et espacement avant / après, avec un constructeur Default
TPdfLayoutConstraintsEnregistrement : maintien ensemble, maintien avec le suivant, saut de page avant / après, limites de lignes veuves et orphelines, avec un constructeur Default préservant les valeurs
TPdfLayoutPageSettingsEnregistrement : taille de page et quatre marges plus hauteurs d’en-tête et de pied, avec les constructeurs A4 et Letter
TPdfLayoutSemanticRoleplsrArtifact, plsrParagraph, plsrHeading1 à plsrHeading6, plsrList, plsrListItem, plsrListLabel, plsrListBody, plsrTable, plsrTableRow, plsrTableHeader, plsrTableData, plsrFigure, plsrCaption, plsrLink, plsrSection, plsrDivision
TPdfLayoutTableScopepltsNone, pltsRow, pltsColumn, pltsBoth
TPdfLayoutListNumberingplnNone, plnDisc, plnCircle, plnSquare, plnDecimal, plnUpperRoman, plnLowerRoman, plnUpperAlpha, plnLowerAlpha
TPdfLayoutAlignmentplaLeft, plaCenter, plaRight
TPdfLayoutCommandKindplcText, plcRule, plcImage, plcPageXObject, plcCachedNode, plcLink
TPdfLayoutCommandEnregistrement : une commande de dessin résolue avec nature, numéro de page, bornes, texte et police, couleur et alpha, alignement, épaisseur, nom de fichier ou URI, source, index d’élément sémantique, identifiant de contenu marqué et index d’annotation
TPdfLayoutRectEnregistrement : Left, Top, Width, Height en unités de mise en page
TPdfLayoutSemanticElementEnregistrement : la Semantics d’un élément de structure et son ParentElementIndex
EPdfLayoutErrorException levée pour une entrée de mise en page invalide

Types PAdES

TypeValeurs
TPadesSeedValueConstraintpsvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo, psvcDigestMethod
TPadesSeedValueConstraintsEnsemble des entrées de valeurs initiales de signature requises représentées par TPadesSeedValueConstraint
TPadesSignatureFieldOptionsEnregistrement : nom de champ, valeurs initiales requises, motifs et attestations légales autorisés, certificats acceptables, exigence de certificat, action de verrouillage FieldMDP et noms de champs, et permission de certification DocMDP
TPadesLevelplUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA — niveaux de conformité EN 319 142-1
TPadesCryptoStatuspcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate
TPadesValidationSourceStatuspvssUnavailable, pvssOriginalBytes, pvssIncomplete
TPadesTrustNetworkPolicyptnpOffline, ptnpOnline
TPadesTrustValidationAsyncStatusptvasSuccess, ptvasCancelled, ptvasFailure — résultat signalé par ValidatePadesTrustAsync
TPadesRevisionDecisionprdAllowed, prdDisallowed, prdSuspicious, prdIndeterminate
TPadesFieldMdpActionpfmaNone, pfmaAll, pfmaInclude, pfmaExclude, pfmaUnknown
TWinCmsVerifyStatuswcvsUnavailable, wcvsValid, wcvsInvalid, wcvsUnsupported, wcvsIndeterminate — résultat de la vérification CMS Windows
TPdfMacValidationStatuspmvsValid, pmvsNotPresent, pmvsInvalid, pmvsUnsupported
TPadesSignatureValidationEnregistrement : état par signature pour la plage d’octets, la signature CMS, la politique d’algorithme, le certificat de signature, la confiance de chaîne, la révocation et les équivalents d’horodatage, plus codes d’erreur natifs et informations d’algorithme
TPadesValidationIssueConstatations établies au regard de EN 319 142-1 et ISO 32000-1 12.8, incluant clés requises dupliquées, valeurs Filter ou Type invalides, exclusion exacte de Contents, exigences de certificat, de révocation et d’horodatage
TPadesTrustValidationStageptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken, ptvsCompleted
TPadesTrustValidationProgressEnregistrement : Stage courant, index et nombre de signatures et pourcentage d’avancement
TPadesRevisionRiskRisques signalés par révision, tels que prrMalformedRevisionChain, prrSignatureObjectRedefined, prrPageContentChanged, prrActiveContentAdded et prrResourceLimitExceeded
TPadesDssMaterialEnregistrement : DerBytes d’un certificat, d’une CRL ou d’une réponse OCSP ajoutés au magasin de sécurité du document
TWinCmsVerifyOptionsEnregistrement : OnlineRetrieval, CheckRevocation, UrlRetrievalTimeoutMs et un rappel OnCheckpoint, avec un constructeur Default
TWinCmsVerifyStagewcvstCryptographicSignature, wcvstChainBuild, wcvstOnlineRetrieval, wcvstRevocationCheck

Types de traitement par lots, de validation et de formulaire

TypeValeurs
TPdfBatchMergeErrorPolicybmepStop, bmepSkip
TPdfBatchMergeFormPolicybmfpPreserveNative, bmfpFlatten, bmfpReject
TPdfBatchMergeOutlinePolicybmopDiscard, bmopReject
TPdfBatchMergeResourcePolicybmrpSourceScoped, bmrpChunked
TPdfBatchMergeStatusbmrsCompleted, bmrsCompletedWithErrors, bmrsCancelled, bmrsFailed
TPdfPagePlanOperationppoDelete, ppoMove, ppoInsert
TPdfPagePlanDecisionppdAllow, ppdReview, ppdReject
TPdfValidationPredicateKindpvpkIssueAbsent, pvpkStandardPass, pvpkCustom
TPdfValidationRunEnregistrement : résultats de règles avec comptages passed / failed / skipped / error, objets visités, octets de preuves, mémoire réservée maximale, millisecondes écoulées et IsComplete / IsCompliant
TPdfBatchValidationStatuspbvsComplete, pbvsPartial, pbvsCancelled, pbvsFailed
TPdfInkGestureEnregistrement : tableau Points décrivant un trait d’encre
TPdfFormFillInfoEnregistrement compact associant le bloc de rappels FPDF_FORMFILLINFO de PDFium à son TPdf propriétaire ; utilisé en interne par le pont de remplissage de formulaires
TPdfBatchMergeIssueEnregistrement : SourceIndex, FileName, MessageText pour une source en échec ou ignorée
TPdfBatchMergeProgressEnregistrement : Stage, index et nombre de sources, nom de fichier et comptages de sources / pages / appels natifs importés
TPdfBatchMergeProgressStagebmpsStarted, bmpsOpeningSource, bmpsImportingPages, bmpsSourceCompleted, bmpsSourceFailed, bmpsRollingBack, bmpsCompleted, bmpsCancelled, bmpsFailed
TPdfBatchValidationItemEnregistrement : nom de fichier, Status, rapport preflight, exécution de validation, message d’erreur et millisecondes écoulées
TPdfBatchValidationItemStatuspbvisPending, pbvisPass, pbvisFail, pbvisCancelled, pbvisError
TPdfValidationRuleResultEnregistrement : identifiant de règle, profil, clause, catégorie, gravité, Status, preuve, indice de correction et millisecondes écoulées
TPdfValidationRuleStatuspvrrsPass, pvrrsFail, pvrrsSkipped, pvrrsError
TPdfValidationRunStatuspvrsComplete, pvrsFastFailed, pvrsBudgetExceeded, pvrsCancelled, pvrsError
TPdfARepairStepEnregistrement : action de réparation ordonnée avec catégorie, code d’incident, preuve, dépendance, Safety et indicateurs de réécriture complète, d’invalidation de signature et d’état bloqué
TPdfARepairCategoryparcSecurity, parcFonts, parcColour, parcAttachments, parcStructure, parcMetadata, parcOther
TPdfARepairSafetyparsAutomatic, parsReviewRequired, parsManual
TPdfXProductionIssueEnregistrement : Kind d’incident, gravité, numéro de page, index d’objet et preuves issues des contrôles de production PDF/X
TPdfXProductionIssueKindpxpikOutputIntent, pxpikPageBox, pxpikFont, pxpikColourant, pxpikTransparency, pxpikOverprint, pxpikSeparation, pxpikImageResolution
TPdfXProductionPageEnregistrement : présence des boxes par page, comptages d’objets, indicateur de transparence et DPI effectif minimal
TPdfRPageFactsEnregistrement : faits de page PDF/R — géométrie du média et des images, comptages d’objets, taille en pixels, résolution, profondeur de bits, espace de couleur et filtres
TPdfPagePlanImpactppiBookmarks, ppiNamedDestinations, ppiPageLabels, ppiFormFields, ppiStructureTree, ppiSignatures, ppiImportedFeaturesUnknown

Types de rendu parallèle et de sortie d’impression

TypeValeurs
TPdfParallelRenderOptionsEnregistrement : DPI, worker, budgets de pixels par page et de sortie totale, rotation, options de rendu natives et couleur d’arrière-plan
TPdfBandedImageFormatpbifCustom, pbifPng, pbifTiff
TPdfBandedImageStreamOptionsEnregistrement : format, hauteur de bande, niveau de compression PNG et maximum d’octets encodés en sortie ; à initialiser avec Default
TPdfBandedImageReportEnregistrement : format, dimensions, comptages de bandes rendues et encodées, lignes encodées, pic d’octets de bande, octets de sortie et état d’achèvement
TPdfBandedImageEncoderContrat de codec abstrait à fournir par l’appelant avec BeginImage, WriteBand séquentiel, EndImage et télémétrie d’octets facultative
TPdfParallelModuleIdentityEnregistrement : FileName du module privé, InitializationAddress native et résultat de libération du handle Unloaded ; la plateforme peut conserver le mappage
TPdfParallelModuleIdentitiesTableau d’enregistrements TPdfParallelModuleIdentity conservé pour les workers isolés de l’opération de rendu
TPdfParallelRenderReportEnregistrement : résultats ordonnés, nombres de workers et d’états, octets de sortie conservés, temps écoulé, taille source, pic de mémoire source, backend de stockage, type de stockage partagé et diagnostics d’identité Modules
TPdfParallelPageResultEnregistrement : numéro de page, taille en pixels et Stride, PixelFormat, Pixels de haut en bas, Status, message d’erreur et millisecondes écoulées
TPdfParallelPixelFormatpppfBgra, pppfRgba
TPdfParallelRenderStatuspprsPending, pprsSucceeded, pprsCancelled, pprsFailed
TPdfParallelSourceBackingKindppsbNone, ppsbSharedMemory, ppsbMemoryMappedFile, ppsbRandomAccessStore
TPdfSpotPlateInfoEnregistrement : Index à base zéro et Name de la séparation signalés par SpotPlates

Unité d’aide FPdfAsync

TypeDescription
IPdfCancellationTokenJeton d’annulation en lecture seule avec IsCancelled, ThrowIfCancelled et RegisterCallback
IPdfCancellationTokenSourceSource d’annulation côté propriétaire exposant Token et Cancel
TPdfCancellationTokenSourceImplémentation par défaut ; utilisez TPdfCancellationTokenSource.New
EPdfOperationCancelledException levée par ThrowIfCancelled après annulation
TPdfFutureStatuspfsSuccess, pfsCancelled, pfsFailure
TPdfFutureResult<T>Enveloppe de résultat avec Value, Status, ErrorMessage et les aides IsSuccess / IsCancelled / IsFailure
TPdfFuture<T>.RunAide de worker d’arrière-plan fire-and-forget qui remet en file une réponse vers le thread principal
PdfNoCancellationTokenJeton partagé qui ne s’annule jamais

Unité d’aide FPdfMeasure

MembreDescription
TPdf.MeasureTextRenvoie la largeur et la hauteur du texte en unités utilisateur PDF pour la police et la taille choisies
TPdf.MeasureTextWidthRenvoie uniquement la largeur du texte en unités utilisateur PDF
TPdf.WrapTextConserve les sauts de ligne explicites et scinde facultativement les jetons surdimensionnés aux frontières de scalaires Unicode

Unité d’aide FPdfMatrix

MembreDescription
TPdfMatrix.CreateCrée une matrice identité, une matrice explicite à six valeurs ou une copie depuis FS_MATRIX
NewTranslation / NewScale / NewRotation / NewSkewCrée des transformations courantes sans étape de mutation distincte
NewRectMapping / TryCreateRectMappingCrée des mappages stretch, contain ou cover entre rectangles normalisés
ResetRéinitialise à l’identité
SetElements / Assign / CloneRemplace, copie ou duplique indépendamment l’état de la matrice
Determinant / IsFinite / IsIdentity / IsInvertibleExamine la validité numérique et l’inversibilité sans modifier la matrice
IsTranslationOnly / IsAxisAligned / NearlyEqualsClasse la forme de la transformation et compare les valeurs avec une tolérance
GetTranslation / SetTranslation / ClearTranslationLit ou met à jour la translation indépendamment de la composante linéaire
TryDecomposeExtrait translation, échelle signée, rotation horaire, cisaillement, déterminant et état de réflexion
MultiplyMultiplie à droite par une autre TPdfMatrix ou six valeurs FS_MATRIX
PreMultiply / PreTranslate / PreScale / PreRotate / PreSkewPréfixe des opérations dans l’espace d’entrée local avant la transformation courante
Translate / Scale / Rotate / SkewCompose des transformations courantes de l’espace PDF
HorizontalFlip / VerticalFlip / CentralFlipCompose des retournements d’axes
RotateAt / ScaleAt / SkewAt / *FlipAtAjoute des opérations autour d’un pivot qui reste fixe
MapRectToRectAjoute un mappage de rectangles stretch, contain ou cover
Invert / TryInvert / TryGetInverse / InverseCopyInverse sur place ou obtient un inverse sans mutation avec gestion explicite des matrices singulières
TransformPoint / TransformVector / InverseTransformPointTransforme positions, vecteurs directeurs ou positions inverses sans objets matriciels temporaires
TransformQuad / TransformRectTransforme des quadrilatères PDF ou des bornes de rectangles normalisés par la transformation
TransformPoints / TransformRectsTransforme des tableaux dynamiques avec une seule allocation de résultat ou utilise des variantes sur place sans allocation de sortie
TryTransformBounds / TransformBoundsAccumule les bornes des points transformés en une passe sans tableau intermédiaire
a, b, c, d, e, fPropriétés en lecture seule des éléments de la matrice
HandleValeur FS_MATRIX brute pour les API PDFium

Classes d’aide PDFium

ClasseDescription
TPdfCacheGovernor / TPdfCacheParticipantCoordonne la mémoire retenue via un budget global d’octets LRU thread-safe
TPdfStreamAdapterEncapsule un TStream Pascal positionnable en FPDF_FILEACCESS pour le chargement personnalisé de documents
TPdfXObjectDétient un FPDF_XOBJECT réutilisable créé depuis une autre page PDF
TTileKey / TPdfTileCacheIndexe les tuiles rendues par révision et conserve un cache de bitmaps LRU borné
Supporting declarationsAlias publics, enregistrements de rappels, limites de sécurité, constantes de surlignage et déclarations ABI facultatives de sortie d’impression

Fonctions globales

FonctionDescription
BuildToUnicodeCMap(const Glyphs: array of Word; const Text: WString): AnsiStringConstruit une CMap ToUnicode réutilisable pour le texte CID Type 2
NormalizePageViewRect(...): BooleanOrdonne et détoure deux coins en espace page aux bornes visibles de la page
AttachmentDescriptionFeaturesAvailable: BooleanIndique si les exports de description de pièces jointes sont disponibles
AttachmentRelationshipFeaturesAvailable: BooleanIndique si la DLL chargée exporte le lecteur /AFRelationship
BezierControlPointFeaturesAvailable: BooleanIndique si la DLL chargée expose la relecture native exacte des points de contrôle cubiques de Bézier
BookmarkStyleFeaturesAvailable: BooleanIndique si la DLL chargée exporte le lecteur de style de texte des signets
StrokePatternRenderingFeaturesAvailable: BooleanIndique si la DLL chargée peut rastériser le motif de pavage de tracé d’un objet chemin
ReadPdfVersionInfo(Source: TStream; out Info: TPdfVersionInfo; out ErrorText: string): BooleanLit l’en-tête, la substitution du catalogue, la version du cœur effective et le niveau d’extension de développement Adobe sans les réduire à une seule valeur
AppendPdfSparseUpdate(Source, Dest: TStream; const Revision: TPdfSparseRevisionInfo; const Objects: TPdfSparseUpdateObjects; const TrailerExtra: AnsiString; const BeforeStartXref: AnsiString = ''): BooleanÉcrit en flux une révision clairsemée sur un PDF enregistré : octets source à l’identique, corps d’objets fournis par l’appelant et un bloc xref/trailer incrémental unique chaîné via /Prev
Loaded: BooleanRenvoie True si la bibliothèque PDFium sélectionnée est chargée
LoadLibraryCharge manuellement la bibliothèque PDFium
UnloadLibraryDécharge manuellement la bibliothèque PDFium
ConfigureSystemFontCacheGovernor(Governor: TPdfCacheGovernor)Place les résultats de polices système retenus à l’échelle du processus sous un budget d’octets partagé détenu par l’appelant
ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy)Installe un mappeur natif de polices système contrôlé par l’application avant le chargement de PDFium
ClearSystemFontProviderRetire le mappeur configuré après le déchargement de PDFium
GetSystemFontProviderStatistics: TPdfSystemFontStatisticsRenvoie les compteurs de mappage, de cache, de repli, de rappels et de handles actifs
DecodeDate(const Value: string; out DateTime: TDateTime; out DateTimeOffset: Integer): BooleanAnalyse une chaîne de date PDF en TDateTime et décalage UTC
SetPdfPrintMode(PrintMode: TPdfPrintMode): BooleanSélectionne le mode de sortie d’impression Windows de PDFium pour les rendus d’impression suivants
SetPdfPrintPaperHandlingDevMode(var DevMode: TDeviceMode; PrintPaperHandling: TPrintPaperHandling): BooleanTraduit une indication duplex des préférences de visionneuse PDF vers DEVMODE.dmDuplex de Windows
V8FeaturesAvailable: BooleanRenvoie True quand la DLL chargée expose les exports d’aide V8 de PDFium
XfaBStrHelpersAvailable: BooleanRenvoie True quand la DLL chargée expose les exports d’aide XFA FPDF_BSTR
XfaFeaturesAvailable: BooleanRenvoie True quand la build PDFium chargée expose les exports de fonctionnalités XFA
GetRecommendedV8Flags: stringRenvoie les indicateurs de ligne de commande V8 recommandés par PDFium, ou une chaîne vide quand la DLL chargée ne les expose pas
PdfBufferLooksXfa(Data: PByte; Size: Integer): BooleanAnalyse un tampon d’octets PDF brut à la recherche de marqueurs XFA sans charger pdfium.dll
PdfFileLooksXfa(const FileName: string): BooleanAnalyse un fichier PDF sur disque à la recherche de marqueurs XFA sans charger pdfium.dll
ValidatePdfUaStructureElements(const Elements: TPdfStructureElements; Conformance: TPdfUaConformance = puc1): TPdfUaValidationIssuesValide les données de structure aplaties avec la sémantique de titres PDF/UA-1 ou PDF/UA-2 sans charger pdfium.dll
IsPdfUaLanguageTagValid, ResolvePdfUaEffectiveLanguageValident une balise de langue et résolvent la précédence de langue du contenu marqué, de l’ancêtre de structure le plus proche puis du catalogue
ClassifyPdfUaNamespace(const NamespaceUri: WString): TPdfUaNamespaceKindClasse les espaces de noms de structure absents, PDF 1.7, PDF 2.0, MathML et personnalisés
ValidatePdfUa2StructureElements(const Elements: TPdfStructureElements): TPdfUaValidationIssuesExécute toutes les règles de structure sémantique PDF/UA-2 tenant compte des espaces de noms
PdfUa2StructureHasIssue(const Elements: TPdfStructureElements; Issue: TPdfUaValidationIssue): BooleanRequête à incident unique compatible C++Builder qui évite de renvoyer un ensemble Pascal par valeur
ValidatePdfUa2NamespaceSemantics, ValidatePdfUa2Containment, ValidatePdfUa2TableGridExécutent des validations ciblées d’espaces de noms, de relations parent-enfant et de grilles de tableaux bornées
ValidatePdfUa2AnnotationSemantics, ValidatePdfUa2FormulaSemantics, ValidatePdfUa2AssociatedFileSemantics, ValidatePdfUa2DocumentSemanticsExécutent des validations ciblées des annotations et formulaires, des Formula/MathML, de la propriété et de l’ordre de lecture des fichiers associés, et des documents, listes, tables des matières et légendes
ValidatePdfUaPageContentTagging(const Objects: TPdfPageContentMarkInfos; const Elements: TPdfStructureElements): TPdfUaValidationIssuesValide le marquage du contenu réel et empêche les objets Artifact d’être revendiqués par l’arborescence de structure
ValidatePdfUaRoleMapUsage(const Elements: TPdfStructureElements; const RoleMapKeys, RoleMapVals: TPdfUaNameArray): TPdfUaValidationIssuesValide la résolution des paires clé/valeur du RoleMap vers les types standard ISO 32000-1
ClassifyStructType(const TypeName: WString; out HeadingLevel: Integer): TPdfContentFragmentKindClasse un nom de type d’élément de structure en un TPdfContentFragmentKind et un niveau de titre facultatif
FormFieldTabOrderForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE): TPdfIntegerArrayRenvoie les index d’annotations de widgets de page dans l’ordre de tabulation du formulaire
FocusedFormFieldTextForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE): WStringRenvoie le texte du widget ayant le focus pour un handle de formulaire et une page
NormalizePageViewRect(X1, Y1, X2, Y2, PageWidth, PageHeight: Double; out Left, Top, Right, Bottom: Double): BooleanNormalise deux coins mappés en espace page vers le rectangle visible borné à la page ; False quand rien de la page n’est visible
NextFormFieldIndexForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE; CurrentIndex: Integer; GoForward: Boolean): IntegerTrouve l’index d’annotation de widget suivant ou précédent dans l’ordre de tabulation de la page
ClearFocusedFormField(FormHandle: FPDF_FORMHANDLE): BooleanEfface le widget de formulaire ayant le focus pour un handle de formulaire PDFium
ComputeSpreadPages(DisplayMode: TPdfDisplayMode; PageNumber, PageCount: Integer; out LeftPageNo, RightPageNo: Integer)Calcule les numéros de page gauche et droite pour les modes d’affichage à deux pages
BuildReadingUnits(const Fragments: TPdfContentFragments): TPdfReadingUnitsConvertit les fragments de contenu lisible en unités de lecture au niveau de la phrase
NextReadingUnitOfKind(const Units: TPdfReadingUnits; CurrentIndex: Integer; Kind: TPdfContentFragmentKind; GoForward: Boolean): IntegerTrouve l’unité de lecture suivante ou précédente de la nature sémantique demandée
BuildWordBoxes(const PageText: WString): TPdfWordBoxesScinde le texte de la page en enregistrements TPdfWordBox
WordBoxIndexAtCharIndex(const Words: TPdfWordBoxes; CharIndex: Integer): IntegerAssocie un index de caractère de page à un index de boîte de mot
SpokenTextAppend(var Spoken: TPdfSpokenText; const SpokenPart: WString; Page, StartIndex: Integer; SourceCount: Integer = -1)Ajoute une séquence de texte parlé mappée à un fragment de parole
BuildSpokenTextFromWords(const Words: TPdfWordBoxes; FirstWord, LastWord: Integer): TPdfSpokenTextConstruit un fragment de texte parlé à partir d’une plage de boîtes de mots
SpokenToPageChar(const Spoken: TPdfSpokenText; SpokenOffset: Integer; out Page, CharIndex: Integer): BooleanTraduit un décalage de texte parlé en index de caractère de page
EstimateSpokenWordIndex(const Words: TPdfWordBoxes; ElapsedMs: Cardinal; WordsPerMinute: Integer): IntegerEstime l’index du mot courant pour les moteurs qui ne signalent aucune position de mot
FPDF_RenderPageSkiaLiaison PDFium de bas niveau pour rendre le contenu d’une page vers un SkCanvas externe
FPDF_FFLDrawSkiaLiaison PDFium de bas niveau pour dessiner champs de formulaire et annotations contextuelles vers un SkCanvas externe
PointsToInches(Points: Double): DoubleConvertit les points PDF en pouces
PointsToPixels(Points, PixelsPerInch: Double): DoubleConvertit les points PDF en pixels
PixelsToInches(Pixels, PixelsPerInch: Double): DoubleConvertit les pixels en pouces
PixelsToPoints(Pixels, PixelsPerInch: Double): DoubleConvertit les pixels en points PDF
GetApplicationPath: stringRenvoie le répertoire de l’exécutable utilisé comme première racine de recherche des DLL PDFium
IsWin64: BooleanRenvoie True quand le processus courant cible Win64
BuildDllName(UseV8: Boolean): stringRenvoie pdfium.dll ou pdfium.v8.dll selon le mode V8 demandé
FindDllInPath(const DllName, SearchPath: string): stringTrouve une DLL PDFium nommée dans un répertoire
FindDllInDllsTree(const DllName, StartPath, SubDir: string): stringCherche dans les dossiers DLLs\Win32 ou DLLs\Win64 sous un chemin de départ
LoadPDFiumDll: stringRespecte un chemin LibraryName explicite dans les deux modes moteur, sinon résout le runtime selon la politique de recherche du composant
ConfigurePdfLibrary(const Configuration: TPdfLibraryConfiguration)Applique la sélection de DLL, la configuration V8 et la sandbox avant le premier chargement de la bibliothèque
GetPdfLibraryConfiguration: TPdfLibraryConfigurationRenvoie une copie de la configuration effective actuelle de la bibliothèque
PdfLibraryConfigurationSealed: BooleanRenvoie True une fois la bibliothèque chargée et la configuration définitivement figée
PdfNativeRendererType(Preference: TPdfRendererPreference; SkiaBuild: Boolean): FPDF_RENDERER_TYPERenvoie le renderer natif qu’une préférence sélectionne pour un build PDFium AGG seul ou doté de Skia, en conservant le défaut du build pour prpDefault
PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): stringRenvoie la raison pour laquelle un renderer ou un backend de polices est inutilisable avec un build PDFium ; LoadLibrary applique la même vérification et lève une EPdfError au lieu de laisser l’initialisation native arrêter le processus
PdfDefaultTtfMapCount: NativeUIntRenvoie le nombre d’entrées de la table native de substitution des polices TrueType par défaut
TryGetPdfDefaultTtfMapEntry(Index: NativeUInt; out Entry: TPdfDefaultTtfMapEntry): BooleanCopie une entrée de la table de substitution de polices par défaut selon son index
IsXfaFormField(FieldType: Integer): Boolean (FPdfXfa)Teste si un code de type de champ de formulaire appartient à la plage des champs XFA

Variables globales

VariableTypeDéfautDescription
LibraryNamestring'pdfium.dll'Un chemin explicite sélectionne le runtime dans les deux modes moteur ; un nom seul sélectionne le runtime standard quand EnableV8Engine est False
EnableV8EngineBooleanFalseAffecter True avant le chargement pour sélectionner pdfium.v8.dll depuis le dossier DLLs Win32 ou Win64 correspondant

Modèles d’utilisation courants

Mise en œuvre d’une visionneuse PDF

procedure TMainForm.OpenPDF(const FileName: string);
begin
  Pdf.FileName := FileName;
  Pdf.Active := True;
  PdfView.Pdf := Pdf;
  PdfView.Active := True;
  StatusBar1.SimpleText := Format('Loaded: %s (%d pages)',
    [ExtractFileName(FileName), Pdf.PageCount]);
end;

Création d’un PDF avec compression

Pdf.CreateDocument;
Pdf.Compressed := True;
Pdf.Active := True;
Pdf.AddPage(0, 595, 842);
Pdf.AddText('Hello World!', 'Arial', 24, 100, 700, clBlack, $FF, 0.0);
Pdf.SaveAs('output.pdf');
Pdf.Active := False;

Extraction de texte

Pdf.FileName := 'document.pdf';
Pdf.Active := True;
for I := 1 to Pdf.PageCount do
begin
  Pdf.PageNumber := I;
  Memo1.Lines.Add(Format('--- Page %d ---', [I]));
  Memo1.Lines.Add(Pdf.Text);
end;
Pdf.Active := False;

Traitement des champs de formulaire

Pdf.FileName := 'form.pdf';
Pdf.Active := True;
Pdf.PageNumber := 1;
for I := 0 to Pdf.FormFieldCount - 1 do
begin
  FieldInfo := Pdf.FormFieldInfo[I];
  case FieldInfo.FieldType of
    fiTextField:
      Pdf.FormField[I] := 'New Value';
    fiCheckBox:
      Pdf.FormField[I] := 'Yes';
  end;
end;
Pdf.SaveAs('filled_form.pdf');
Pdf.Active := False;

Aplatir un formulaire rempli

// Bake form values into permanent (non-editable) page content
Pdf.FileName := 'form.pdf';
Pdf.Active := True;
Pdf.FormField[0] := 'John Smith';
Pdf.FormField[1] := 'Yes';
Pdf.GenerateFormAppearances;          // step 1: refresh /AP from /V
Pdf.FlattenAllPages(FLAT_NORMALDISPLAY); // step 2: flatten all pages
Pdf.SaveAs('flattened.pdf');           // step 3: save
Pdf.Active := False;