PageObjectInfo restituisce un'istantanea TPdfPageObjectInfo contenente l'handle, il tipo di oggetto, i limiti normali e ruotati, la matrice effettiva, lo stato attivo, la trasparenza, i colori di riempimento e di tratteggio, i valori alpha, la larghezza del tratteggio, line join, line cap, dash array e dash phase
HasRotatedBounds, HasActiveState e gli altri campi Has* distinguono un valore nativo non disponibile da un valore zero valido
RotatedBounds porta il quadrilatero ruotato, HasLineJoin e HasLineCap abilitano gli stili di join e cap, e DashPhase sposta l'inizio del pattern di trattini
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 applica ogni campo selezionato allo stesso oggetto nativo e rigenera il contenuto della pagina una sola volta
TransformPageObject compone una FS_MATRIX affine con l'oggetto selezionato
PathInfo restituisce modalità di riempimento, stato del tratteggio, tipo di segmento, endpoint e stato di chiusura per ogni segmento del tracciatoPageObjectClipPath restituisce ogni sottopercorso e segmento di clip associato a un oggetto di paginaTransformPageObjectClipPath(Index, Matrix) trasforma solo quella geometria di clip e lascia invariata la matrice dell'oggetto di paginaFormObjectChildren restituisce istantanee dettagliate per i figli diretti di un Form XObjectDetachFormObjectChild(FormIndex, ChildIndex) rimuove un figlio e trasferisce al chiamante la proprietà dell'FPDF_PAGEOBJECT restituito, che deve essere inserito o distruttoTextObjectGlyphOutline espone la geometria del percorso del glifo, mentre TextObjectGlyphWidth(Index, GlyphIndex, FontSize) restituisce l'advance nativo del glifo alla dimensione richiestaTextObjectFontSize(Index) legge la dimensione nativa dell'oggetto di testo e SetTextObjectFontSize(Index, FontSize) la modifica senza approssimare attraverso una trasformazione a matriceGetImageObjectRenderedBitmap(Index) restituisce una bitmap di proprietà del chiamante con la maschera immagine, la conversione colore e la matrice immagine applicate da PDFiumAnnotationObjectCount, AnnotationObjectInfo, AddPathToAnnotation e RemoveAnnotationObject operano sugli oggetti di aspetto delle annotazioniIsAnnotationObjectSubtypeSupported(Subtype) verifica se il modulo PDFium caricato supporta estrazione, aggiornamento e rimozione degli oggetti di aspetto per il sottotipoPerformNamedAction invia un'azione di documento nota e OnNamedAction riporta i callback delle azioni con nomeCharacterInfo restituisce i colori di riempimento e di tratteggio, il nome del font, i flag PDF del font, i limiti approssimati del glifo, la matrice effettiva e l'handle dell'oggetto di testo associato
CharacterIndexToTextIndex e TextIndexToCharacterIndex convertono tra gli indici di carattere di PDFium e gli indici nel flusso di testo generato
TPdfAnnotation espone i raggi e la larghezza del bordo attraverso HasBorder, BorderHorizontalRadius, BorderVerticalRadius e BorderWidth
La copertura dei colori si estende a ColorAlpha, InteriorColor e InteriorColorAlpha, i metadati di markup sono controllati da HasAuthor, HasName, HasSubject, HasModificationDate, HasCreationDate e HasIcon, e i gesti ink, la geometria dei quad-point e le destinazioni dei collegamenti sono esposti attraverso InkList, HasAttachmentPoints, HasLinkUri e LinkUri
Gli appearance stream normal, rollover e down sono disponibili attraverso le sentinelle HasAppearanceNormal, HasAppearanceRollover e HasAppearanceDown e le corrispondenti stringhe AppearanceNormal, AppearanceRollover e AppearanceDown
Alla lettura di un'annotazione, queste sentinelle identificano il contenuto dell'aspetto non vuoto: l'API nativa restituisce la stessa stringa vuota per uno stream mancante e per uno stream vuoto, quindi entrambi riportano False e vengono lasciati intatti quando il record viene riscritto; il chiamante può comunque impostare esplicitamente una sentinella su True per scrivere un aspetto vuoto
Assegnare il record di annotazione aggiornato di nuovo a Annotation[Index] per scrivere i valori selezionati di bordo o aspetto
ConfigurePdfLibrary, GetPdfLibraryConfiguration e PdfLibraryConfigurationSealed configurano e verificano l'immutabile inizializzazione nativa a livello di processo e la policy di sandbox prima del primo caricamentoTPdfLibraryConfiguration porta UserFontPaths, V8Isolate, V8EmbedderSlot, V8Platform, Renderer, FontBackend, BrotliEnabled, IsolatePerDocument e AllowMachineTime, e usa TPdfRendererPreference (prpDefault, prpAgg, prpSkia) e TPdfFontBackendPreference (pfbpDefault, pfbpFreeType, pfbpFontations) per selezionare solo i campi nativi richiesti dalla configurazionePdfDefaultTtfMapCount e TryGetPdfDefaultTtfMapEntry enumerano le sostituzioni native predefinite dei font con accesso indicizzato protettoTPdfDefaultTtfMapEntry copia il nome del face, il charset e i metadati nativi del font di piattaforma da una voce indicizzata della mappaFormFieldZOrderAtPoint e LinkZOrderAtPoint restituiscono lo z-order nativo più in primo piano o -1 quando non esiste alcun targetTryGetAnnotationFileAttachment copia metadati e payload del file, con limiti, finché il suo handle nativo di annotazione è validoTPdfAnnotationAttachment possiede quei metadati e quel payload copiati indipendentemente dagli handle di pagina e annotazioneGetLinkedAnnotationIndex e GetLinkedAnnotationChain risolvono le relazioni Popup e IRT con protezione da riferimenti pendenti, cicli e profonditàTPdfAnnotationRelationship seleziona la relazione Popup (parPopup) o IRT (parInReplyTo) e TPdfAnnotationSubtypes memorizza l'array di sottotipi della focus-policyGetAnnotationDictionaryValue e GetAttachmentDictionaryValue riportano l'esatto tipo di valore nativo prima di restituire un valore scalare supportatoTPdfDictionaryValueKind preserva la categoria nativa dell'oggetto (pdvkUnknown, pdvkBoolean, pdvkNumber, pdvkString, pdvkName, pdvkArray, pdvkDictionary, pdvkStream, pdvkNull, pdvkReference) e TPdfDictionaryValue porta lo scalare numerico o stringa supportato in NumberValue e StringValue con HasScalarValue come sentinella esplicitaSetFocusableAnnotationSubtypes e GetFocusableAnnotationSubtypes controllano l'idoneità al focus da tastiera attraverso l'handle nativo dei moduliTPdfStructureElement.Attributes è un albero piatto TPdfStructureAttributeValues i cui nodi TPdfStructureAttributeValue risalgono al proprio dizionario di attributi proprietario attraverso AttributeIndex e preservano i valori annidati tipizzati e i blob senza perdita in BlobValueTPdfView.FormFieldZOrderAt, TPdfView.LinkZOrderAt e TPdfView.ReplaceFormTextAndKeepSelection espongono le corrispondenti operazioni di conversione coordinate e di modifica dei moduli con selezione preservata attraverso il controllo visualeThumbnailRawData restituisce lo stream della miniatura incorporata prima della decodifica dei filtriThumbnailDecodedData restituisce lo stream della miniatura incorporata dopo la decodifica dei filtriTransformPageContent trasforma e ritaglia tutti gli oggetti di pagina, rigenera la pagina e ricarica i suoi handle derivatiTransformPageAnnotations applica lo stesso modello di coordinate affine a tutte le annotazioni della pagina corrente
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 accetta una FS_MATRIX invertibile e un rettangolo di clipping in coordinate dispositivo
L'overload che riceve una TBitmap di proprietà del chiamante disegna direttamente in un DIB compatibile a 32 bit e ricade su una sola copia solo quando una bitmap PDFium esterna non può essere creata
Il rendering con matrice disegna il contenuto della pagina e le annotazioni non interattive selezionate tramite i render flag, ma non invoca il renderer overlay dei form-fill