PageObjectInfo renvoie un instantané TPdfPageObjectInfo contenant le handle, le type d’objet, les limites normales et pivotées, la matrice effective, l’état actif, la transparence, les couleurs de remplissage et de tracé, les valeurs alpha, l’épaisseur de tracé, la jointure de ligne, la terminaison de ligne, le tableau de tirets et la phase de tirets
HasRotatedBounds, HasActiveState et les autres champs Has* distinguent une valeur native indisponible d’une valeur zéro valide
RotatedBounds porte le quadrilatère pivoté, HasLineJoin et HasLineCap conditionnent les styles de jointure et de terminaison, et DashPhase décale le début du motif de tirets
Info := Pdf1.PageObjectInfo(0);
Info.StrokeWidth := 4;
SetLength(Info.DashArray, 2);
Info.DashArray[0] := 8;
Info.DashArray[1] := 4;
Pdf1.UpdatePageObject(0, Info, [pocStrokeWidth, pocDashPattern]);
UpdatePageObject applique chaque champ sélectionné au même objet natif et régénère le contenu de la page une seule fois
TransformPageObject compose une FS_MATRIX affine avec l’objet sélectionné
PathInfo renvoie le mode de remplissage, l’état de tracé, le type de segment, le point final et l’état de fermeture de chaque segment de cheminPageObjectClipPath renvoie chaque sous-chemin et segment de rognage associé à un objet de pageTransformPageObjectClipPath(Index, Matrix) transforme uniquement cette géométrie de rognage et laisse la matrice de l’objet de page inchangéeFormObjectChildren renvoie des instantanés détaillés des enfants directs d’un Form XObjectDetachFormObjectChild(FormIndex, ChildIndex) retire un enfant et transfère la propriété du FPDF_PAGEOBJECT renvoyé à l’appelant, qui doit l’insérer ou le détruireTextObjectGlyphOutline expose la géométrie du chemin du glyphe, tandis que TextObjectGlyphWidth(Index, GlyphIndex, FontSize) renvoie l’avance native du glyphe à la taille demandéeTextObjectFontSize(Index) lit la taille native de l’objet texte et SetTextObjectFontSize(Index, FontSize) la modifie sans approximer par une transformation matricielleGetImageObjectRenderedBitmap(Index) renvoie un bitmap possédé par l’appelant avec le masque d’image, la conversion de couleurs et la matrice d’image appliqués par PDFiumAnnotationObjectCount, AnnotationObjectInfo, AddPathToAnnotation et RemoveAnnotationObject opèrent sur les objets d’apparence d’annotationIsAnnotationObjectSubtypeSupported(Subtype) sonde si le module PDFium chargé prend en charge l’extraction, la mise à jour et la suppression d’objets d’apparence pour le sous-typePerformNamedAction distribue une action de document connue et OnNamedAction signale les rappels d’actions nomméesCharacterInfo renvoie les couleurs de remplissage et de tracé, le nom de police, les indicateurs de police PDF, les limites approximatives du glyphe, la matrice effective et le handle de l’objet texte associé
CharacterIndexToTextIndex et TextIndexToCharacterIndex convertissent entre les index de caractères PDFium et les index du flux de texte généré
TPdfAnnotation expose les rayons et la largeur de bordure via HasBorder, BorderHorizontalRadius, BorderVerticalRadius et BorderWidth
La couverture des couleurs s’étend à ColorAlpha, InteriorColor et InteriorColorAlpha, les métadonnées de marquage sont conditionnées par HasAuthor, HasName, HasSubject, HasModificationDate, HasCreationDate et HasIcon, et les gestes d’encre, la géométrie des quadrilatères et les cibles de liens sont exposés via InkList, HasAttachmentPoints, HasLinkUri et LinkUri
Les flux d’apparence normal, survol et enfoncé sont disponibles via les sentinelles HasAppearanceNormal, HasAppearanceRollover et HasAppearanceDown et leurs chaînes correspondantes AppearanceNormal, AppearanceRollover et AppearanceDown
Lors de la lecture d’une annotation, ces sentinelles identifient un contenu d’apparence non vide : l’API native renvoie la même chaîne vide pour un flux absent et pour un flux vide, si bien que les deux signalent False et restent intacts lors de la réécriture de l’enregistrement ; l’appelant peut toujours positionner explicitement une sentinelle à True pour écrire une apparence vide
Réaffectez l’enregistrement d’annotation mis à jour à Annotation[Index] pour écrire les valeurs de bordure ou d’apparence sélectionnées
ConfigurePdfLibrary, GetPdfLibraryConfiguration et PdfLibraryConfigurationSealed configurent et audintent l’initialisation native immuable à l’échelle du processus ainsi que la politique de bac à sable avant le premier chargementTPdfLibraryConfiguration porte UserFontPaths, V8Isolate, V8EmbedderSlot, V8Platform, Renderer, FontBackend, BrotliEnabled, IsolatePerDocument et AllowMachineTime, et utilise TPdfRendererPreference (prpDefault, prpAgg, prpSkia) et TPdfFontBackendPreference (pfbpDefault, pfbpFreeType, pfbpFontations) pour ne sélectionner que les champs natifs dont la configuration demandée a besoinPdfDefaultTtfMapCount et TryGetPdfDefaultTtfMapEntry énumèrent les substitutions de polices par défaut natives avec un accès indexé vérifiéTPdfDefaultTtfMapEntry copie le nom de face, le jeu de caractères et les métadonnées de police de plateforme natives depuis une entrée de correspondance indexéeFormFieldZOrderAtPoint et LinkZOrderAtPoint renvoient l’ordre z natif le plus à l’avant ou -1 lorsqu’aucune cible n’existeTryGetAnnotationFileAttachment copie les métadonnées de fichier et la charge utile bornées tant que son handle d’annotation natif est valideTPdfAnnotationAttachment possède ces métadonnées et cette charge utile copiées indépendamment des handles de page et d’annotationGetLinkedAnnotationIndex et GetLinkedAnnotationChain résolvent les relations Popup et IRT avec une protection contre les références pendantes, les cycles et la profondeurTPdfAnnotationRelationship sélectionne la relation Popup (parPopup) ou IRT (parInReplyTo) et TPdfAnnotationSubtypes stocke le tableau de sous-types de la politique de focusGetAnnotationDictionaryValue et GetAttachmentDictionaryValue signalent le type exact de valeur native avant de renvoyer une valeur scalaire prise en chargeTPdfDictionaryValueKind préserve la catégorie d’objet native (pdvkUnknown, pdvkBoolean, pdvkNumber, pdvkString, pdvkName, pdvkArray, pdvkDictionary, pdvkStream, pdvkNull, pdvkReference) et TPdfDictionaryValue porte le scalaire nombre ou chaîne pris en charge dans NumberValue et StringValue, avec HasScalarValue comme sentinelle expliciteSetFocusableAnnotationSubtypes et GetFocusableAnnotationSubtypes contrôlent l’éligibilité au focus clavier via le handle de formulaire natifTPdfStructureElement.Attributes est un arbre plat TPdfStructureAttributeValues dont les nœuds TPdfStructureAttributeValue se rattachent à leur dictionnaire d’attributs propriétaire via AttributeIndex et préservent les valeurs imbriquées typées et les blobs sans perte dans BlobValueTPdfView.FormFieldZOrderAt, TPdfView.LinkZOrderAt et TPdfView.ReplaceFormTextAndKeepSelection exposent la conversion de coordonnées correspondante et les opérations de formulaire préservant la sélection via le contrôle visuelThumbnailRawData renvoie le flux de vignette intégré avant le décodage des filtresThumbnailDecodedData renvoie le flux de vignette intégré après le décodage des filtresTransformPageContent transforme et rogne tous les objets de page, régénère la page et recharge ses handles dérivésTransformPageAnnotations applique le même modèle de coordonnées affine à toutes les annotations de la page active
Matrix.a := 0.5;
Matrix.b := 0;
Matrix.c := 0;
Matrix.d := -0.5;
Matrix.e := 0;
Matrix.f := 421;
Clip.Left := 0;
Clip.Top := 0;
Clip.Right := 300;
Clip.Bottom := 421;
Bitmap := Pdf1.RenderPageWithMatrix(300, 421, Matrix, Clip);
RenderPageWithMatrix accepte une FS_MATRIX inversible et un rectangle de rognage en coordonnées périphériques
La surcharge qui reçoit un TBitmap possédé par l’appelant effectue le rendu directement dans une DIB 32 bits compatible et ne revient à une copie que lorsqu’un bitmap PDFium externe ne peut être créé
Le rendu matriciel dessine le contenu de la page et les annotations non interactives sélectionnées via les indicateurs de rendu, mais il n’invoque pas le moteur de superposition de remplissage de formulaires