Componenti principali
- TPdf - Componente principale per la gestione dei documenti PDF: apertura, navigazione, estrazione del testo e modifica dei documenti PDF
- TPdfView - Componente visuale per la visualizzazione e l'interazione con le pagine PDF
- TPdfReadingSession - Componente di orchestrazione della lettura parlata per i motori TTS host e il tracciamento parola per parola di TPdfView
- TPdfThumbnailView - Pannello laterale scorrevole di miniature per la navigazione tra le pagine
Operazioni sui documenti
- Caricamento documenti - Carica file PDF da disco, stream di memoria, array di byte o adattatori TStream su richiesta tramite
LoadCustomDocument. PDFium legge i blocchi su richiesta, quindi documenti di più gigabyte e sorgenti remote / su database non richiedono una copia in memoria iniziale.- Protezione con password - Apre documenti PDF protetti da password e riporta i
UserPermissionseffettivi per la sessione autenticata- Creazione documenti - Costruisce nuovi documenti PDF da zero con
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageeCreatePath- Salvataggio documenti - Salva i documenti modificati con varie opzioni (incrementale, rimozione della sicurezza) e versioni PDF di destinazione esplicite da PDF 1.0 a PDF 1.7
- Output PDF/A-1b -
SaveAsPdfA/SaveAsPdfAToStreampost-elaborano il salvataggio di base con un aggiornamento incrementale che inietta uno stream di metadati XMP, un OutputIntent ICC sRGB e un catalogo del documento aggiornato, in modo che il risultato sia conforme a PDF/A-1b. I profili ICC personalizzati sono supportati tramiteTPdfASaveOptions.IccProfileData.- Validazione PDF/A -
ValidatePdfAe la proprietà di sola letturaPdfAConformancescansionano un documento aperto cercando marcatoripdfaidXMP, OutputIntent con ICC incorporato, presenza di cifratura, e riportano il livello di conformità (pac1a,pac1b,pac2b,pac3b,pacNoneopacUnknown) oltre a un elenco di vociTPdfAValidationIssueche descrivono ciascun problema rilevato- Validatore di conformità versione PDF - Quando SaveAs ha come destinazione PDF 1.0-1.7, lo scrittore rifiuta qualunque voce di dizionario, filtro, sottotipo di annotazione, tipo di azione, font, spazio colore o parametro di cifratura introdotto dopo la versione di destinazione scelta (per esempio JBIG2Decode, MarkInfo, OutputIntents, AES / AES-256, annotazioni Polygon / Caret / Watermark / Redact, azioni JavaScript / Trans / SetState)
- Compressione degli stream - La compressione automatica FlateDecode garantisce che tutti gli stream PDF siano compressi in modo ottimale al salvataggio; impostare
Compressed := Falseper disabilitarla nelle pipeline di debug- Unione documenti - Importa pagine da altri documenti PDF
- Importazione di un sottoinsieme di pagine -
ImportPagesByIndexcopia un array di indici espliciti a base zero da un documento sorgente, con InsertAt = 0 per inserire prima della pagina 1 o InsertAt = PageCount per accodare. Passa un array di indici vuoto per importare tutte le pagine sorgenti.- Composizione N-up -
ImportNPagesToOnerestituisce un nuovoTPdfle cui pagine sono composti NumX×NumY delle pagine del documento sorgente, dimensionati in unità utente PDF (1 unità = 1/72 di pollice)- Riordino delle pagine -
MovePagesriordina le pagine in posto utilizzando un array di indici a base zero e un indice di destinazione per la prima pagina spostata- Riutilizzo pagine tramite Form XObject -
CreateXObjectFromPageproduce un handle riutilizzabileTPdfXObjectda qualsiasi pagina di un altro documento;InsertFormObjectFromXObjectinserisce UNA copia della pagina avvolta nella pagina corrente. Ideale per filigrane, sovrapposizioni di modelli e flussi di lavoro "applica una pagina su molte". L'oggetto pagina di destinazione può essere posizionato, scalato e ruotato tramiteFPDFPageObj_SetMatrixe gli helperTPdfMatrix.- Gestione delle pagine - Aggiunge, elimina e manipola pagine individuali;
AddPage(0, ...)inserisce la primissima pagina e la attiva immediatamente- Riquadri di pagina - Legge e scrive MediaBox, CropBox, BleedBox, TrimBox e ArtBox sulla pagina corrente
- Lingua del catalogo - Legge e scrive la lingua del documento memorizzata nella voce /Lang del catalogo
- ID file del trailer - Legge le voci /ID permanenti e mutevoli del trailer come byte binari
- Azioni JavaScript del documento - Enumera nomi e script delle azioni JavaScript di livello documento dal name tree
- Albero della struttura PDF taggato - Ispeziona elementi di struttura logica, testo per l'accessibilità, lingua, ID di contenuto contrassegnato e gerarchia per le pagine PDF taggate
- Preferenze del visualizzatore - Legge
PrintCopies,PrintPageRanges,PrintScalingePrintPaperHandlingdal dizionario delle preferenze del visualizzatore del documento; i PDF salvati impostano per default un'azione di apertura "Fit Height" sulla prima pagina
Operazioni sul testo
- Estrazione del testo - Estrae il testo dalle pagine PDF con precisione a livello di carattere tramite le proprietà
Text,TextInRectangle,Character,CharacterRectangleeCharacterOrigin- Unità di lettura per frase - TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits e BuildReadingUnits espongono record TPdfReadingUnit di dimensione frase per ascolto TTS sincronizzato
- Evidenziazione lettura parola per parola -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowMappa un offset di carattere della pagina sul TPdfWordBox che lo contiene, lo evidenzia e restituisce l indice della parola; Evidenzia un TPdfWordBox come parola pronunciata corrente in TPdfView; Cancella la sovrapposizione del cursore di lettura parola per parola corrente in TPdfView; Controlla il colore della sovrapposizione usata per il cursore di lettura parola per parola corrente; Controlla se TPdfView scorre fino alla parola pronunciata corrente durante il tracciamento della lettura- Orchestrazione della sessione di lettura parlata -
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageChareEstimateSpokenWordIndexcoordinano i motori TTS host, i chunk parlati, i callback della posizione parola, la stima del ritmo, la gestione pausa / ripresa e gli aggiornamenti del cursore parola di TPdfView- Ricerca testo - Trova testo con opzioni di ricerca case-sensitive, parola intera e consecutiva utilizzando
FindFirst,FindNext,FindPrevious- Sovrapposizione di evidenziazione di ricerca -
TPdfView.HighlightSearchTextscansiona la pagina corrente del visualizzatore e dipinge una vera sovrapposizioneHighlightColorin alpha-blending su ogni corrispondenza a ogni ridisegno, restituendo il numero di occorrenze.ClearHighlightrimuove la sovrapposizione; passare a una pagina diversa la cancella automaticamente perché le corrispondenze sono specifiche per pagina.HighlightColorper default èclYellowed è pubblicato in modo che le applicazioni possano applicarne un tema.- Proprietà dei caratteri - Accede a dimensione del font, peso, angolo e posizionamento per singoli caratteri tramite le proprietà indicizzate
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHypheneCharacterMapError- Supporto caratteri europei -
AddTextcarica e mette in cache automaticamente il font TrueType di sistema corrispondente prima di creare un oggetto di testo, quindi caratteri accentati ceco, francese, tedesco, spagnolo, portoghese, polacco e turco che i font standard incorporati di PDFium non possono rappresentare ora vengono resi correttamente senza alcuna modifica al codice- Aggiunta di testo - Aggiunge nuovo testo alle pagine PDF con font personalizzati, colori, trasparenza e rotazione
- Posizionamento degli oggetti testo - Imposta le posizioni per singolo carattere per oggetti testo esistenti tramite
SetTextPositionseTPdfSingleArray- Informazioni sui font - Recupera le proprietà dei font tra cui nome della famiglia, stato di incorporamento, angolo italico, ascendente / discendente e dati grezzi del font su base per oggetto di pagina
Supporto annotazioni
- Tipi di annotazione - Supporto per annotazioni di testo, link, evidenziazione, sottolineatura, barrato e molti altri tipi
- Creazione di annotazioni - Crea nuove annotazioni a livello programmatico
- Modifica di annotazioni - Modifica le proprietà delle annotazioni esistenti, tra cui colore, trasparenza e contenuto
- Annotazioni di collegamento - Gestisce link interni ed esterni con supporto per le azioni
Supporto moduli
- Accessor per compilazione moduli vocale - FocusedFormFieldValue, FocusedFormFieldName e FocusedFormFieldDetails su TPdf e TPdfView espongono valore, nome e TPdfFormFieldInfo del campo logico corrente per compilazione moduli da tastiera o voce
- Tipi di modulo - Supporto per moduli AcroForm e XFA
- Compilazione moduli - Compilazione interattiva con supporto JavaScript
- Selezione DLL V8 - Imposta
EnableV8Engineprima del caricamento per utilizzarepdfium.v8.dlldalla cartellaDLLs\Win32oDLLs\Win64corrispondente e interroga la disponibilità degli helper V8/XFA tramiteV8FeaturesAvailable,XfaBStrHelpersAvailableeGetRecommendedV8Flags- Accesso ai campi - Legge e scrive i valori dei campi del modulo per indice o posizione
- Informazioni sui campi - Accede a tipo di campo, flag, nome e altre proprietà
- Flag dei campi - Aggiorna i flag dei campi AcroForm per indice o posizione tramite
SetFormFieldFlags/SetFormFieldFlagsAt, incluse flag di sola lettura, obbligatorio, password e selezione multipla- Appiattimento dei moduli -
GenerateFormAppearancesrigenera lo stream di aspetto /AP per ogni widget di modulo su ogni pagina, eFlattenPage/FlattenAllPagesconsolidano annotazioni e campi di modulo nel contenuto statico della pagina (non modificabile)- Selezione del testo dei widget di modulo e Undo / Redo - Sul widget AcroForm focalizzato la view espone
GetSelectedFormText(testo attualmente selezionato),SelectAllFormText(seleziona ogni carattere) eFormUndo/FormRedo/FormCanUndo/FormCanRedo(controllano la cronologia di modifica per widget di PDFium). Tutti e sei effettuano un'uscita sicura in cortocircuito quando la view è inattiva o nessun widget è focalizzato.
Operazioni sulle immagini
- Estrazione immagini - Estrae bitmap dalle pagine PDF con la proprietà indicizzata
Bitmap; iterare suBitmapCountper salvare ogni immagine su disco- Inserimento JPEG -
AddJpegImageaccetta un TStream di byte JPEG grezzi e incorpora l'immagine come XObject /DCTDecode senza ricodifica- Supporto Picture -
AddPictureaccetta un oggettoTPicturecon conversione automatica del formato tramite le classi grafiche VCL/LCL registrate- Inserimento diretto di immagini -
AddImage(FileName)riconosce qualunque formato registrato con le unità grafiche VCL o LCL (BMP, PNG tramite PngImage, JPG, ...) e condivide la pipeline di AddPicture.AddImage(TBitmap)salta l'intermediario TPicture, semplificando i chiamanti che già dispongono di un TBitmap da rendering o generazione batch.- Profilo ICC dell'immagine - Gli oggetti pagina immagine espongono i propri dati del profilo ICC incorporato quando presenti (binding per
FPDFImageObj_GetIccProfileDataDecoded)- Generazione miniature - Genera bitmap di miniatura della pagina tramite la proprietà
Thumbnailoppure renderizza qualsiasi pagina uno-based tramiteTPdf.RenderPageThumbnailsenza cambiarePageNumber
Unità di supporto
- Infrastruttura asincrona -
FPdfAsyncesponeIPdfCancellationToken/IPdfCancellationTokenSourceper una semantica cooperativa di annullamento dall'interfaccia utente, un singleton riutilizzabilePdfNoCancellationTokene un helper leggeroTPdfFuture<T>che esegue un worker su un thread di sfondo e restituisce un envelopeTPdfFutureResult<T>al thread principale, distinguendo i casi di successo, annullamento e fallimento- Adattatore di stream -
TPdfStreamAdaptercollega unTStreamPascal alle callbackFPDF_FILEACCESSdi PDFium in modo cheLoadCustomDocumentlegga i blocchi su richiesta invece di bufferizzare l'intero PDF in memoria- Composizione di matrici -
FPdfMatrixavvolge laFS_MATRIXdi PDFium con un'API OO perTranslate,Scale,Rotate,HorizontalFlip,VerticalFlip,CentralFlip,SkeweMultiply.Multiplycattura uno snapshot dei sei elementi della matrice prima di calcolare i nuovi valori di riga, evitando la trappola dell'implementazione Pascal alternativa in cui gli elementi precedenti vengono sovrascritti durante la stessa chiamata producendo composizioni errate.- Rendering progressivo annullabile -
TPdf.RenderPageProgressivepilota il loopFPDF_RenderPageBitmap_Start+RenderPage_Continuedi PDFium e interroga unIPdfCancellationTokentra le iterazioni tramite la callbackIFSDK_PAUSE, in modo che lunghi rendering ad alta DPI possano interrompersi a metà pagina invece di bloccare fino al completamento. Restituisce unTPdfProgressiveStatustraprsDone,prsCancelledoprsFailed.- Percorso di rendering a zero copia -
RenderPage/RenderTile/RenderPageProgressivescrivono l'output di PDFium direttamente nel buffer DIB delTBitmapdi destinazione invece di passare per un buffer interno, risparmiando una copia di memoria di width × height × 4 byte per rendering — più evidente alle DPI elevate (pannelli di miniature, esportazione in qualità di stampa, esportazione batch). Un percorso di ripiego per riga di scansione viene mantenuto quando il DIB di destinazione non può essere avvolto in modo sicuro.- Trasformazioni bitmap per ipovisione - InvertPdfBitmap, GrayscalePdfBitmap e DuotonePdfBitmap trasformano sul posto pixel TBitmap a 32 bit renderizzati per viste invertite, grigie o bicolore per ipovisione
- Visualizzazione ipovisione in tempo reale -
TPdfView.OptionssupportareInvertereNightDuotone, conNightDuotoneInkeNightDuotonePaperche controllano la palette notturna live prima che gli overlay vengano dipinti
Operazioni di disegno
- Disegno di tracciati - Crea tracciati con linee, curve di Bezier e forme chiuse
- Rimozione di oggetti - Rimuove oggetti di pagina e rigenera il contenuto della pagina da TPdf o TPdfView
- Riempimento e contorno - Configura modalità di riempimento, colori, trasparenza e proprietà del contorno
- Modalità di fusione - Supporto per varie modalità di fusione PDF
- Stili di linea - Configura terminazione linea, congiunzione linea e larghezza del contorno
Firme digitali
- Rilevamento firme - Rileva ed enumera firme digitali nei documenti PDF
- Informazioni firma - Accede a contenuto, byte range, sub-filter, motivazione e ora della firma
- Permessi MDP - Interroga i permessi di rilevamento e prevenzione delle modifiche del documento
Supporto allegati
- Accesso allegati - Legge, crea, modifica ed elimina allegati di file incorporati
- Nomi allegati - Accede ai nomi file degli allegati
- Tipi di allegato - Legge i valori MIME subtype dei file incorporati quando presenti
- Segnalibri - Naviga i segnalibri del documento con supporto gerarchico tramite l'array
Bookmarks, gli helperBookmarkChildren,HasBookmarkChildreneBookmarkFrom- Destinazioni con nome - Accede alle destinazioni con nome per indice o nome tramite
Destination,DestinationByNameeDestinationCount- Etichette di pagina - Recupera le etichette di pagina per ciascuna pagina tramite
PageLabel; utile quando i documenti utilizzano numeri romani per la parte introduttiva- Link web - Rileva e naviga link web nelle pagine con
WebLink,WebLinkCounteTPdfView.WebLinkAtPos- Annotazioni di collegamento - Accede alle annotazioni di collegamento con informazioni su azione e destinazione tramite
LinkAnnotation,LinkAnnotationCounteTPdfView.LinkAnnotationAtPos- Gestione sicura del clic sui link - TPdfView solleva gli eventi
OnAnnotationLinkClick/OnWebLinkClickprima della gestione automatica goto / URI, con le azioni di avvio disabilitate per default. Il rilevamento del clic sui link viene eseguito solo quando il gesto è un clic anziché un trascinamento, utilizzando un nuovo ancoraggio MouseDown in modo che i gesti di panoramica continuino a passare attraverso il percorso di scorrimento esistente senza modifiche.
Rendering
- Rendering di alta qualità - Renderizza le pagine in un device context, una bitmap o un tile tramite
RenderPage/RenderTile, con scritture dirette a zero copia nel buffer DIB di destinazione- Rendering progressivo annullabile -
RenderPageProgressivepilota il loop progressivo di PDFium e interroga unIPdfCancellationTokentra le iterazioni, restituendoprsDone,prsCancelledoprsFailed. La bitmap contiene il lavoro parziale svolto fino al momento dell'annullamento.- Opzioni di rendering - Ottimizzazione del testo LCD (
reLcd), annotazioni (reAnnotations), flag per scala di grigi e modalità di stampa- Hook Skia - Sono disponibili i binding di basso livello
FPDF_RenderPageSkiaeFPDF_FFLDrawSkiaquando i chiamanti forniscono un SkCanvas esterno (dipende dagli export della DLL inclusa)- Selezione modalità di stampa - Imposta le modalità di stampa PDFium EMF, solo testo, PostScript, pass-through, image-mask e Type 42 tramite
SetPdfPrintModeconTPdfPrintMode- Overlay asincrono - TPdfView può visualizzare un overlay di caricamento opzionale mentre worker di proprietà dell'applicazione effettuano il rendering con istanze TPdf separate
- Rotazione pagina - Supporto per rotazione di 0, 90, 180 e 270 gradi (
ro0,ro90,ro180,ro270)- Rilevamento trasparenza - La proprietà
Transparentriporta se qualsiasi oggetto nella pagina corrente presenta trasparenza, incluse modalità di fusione e alpha parziale
Visualizzazione (TPdfView)
- Modalità di visualizzazione -
dmSingleContinuous,dmTwoPageContinuousedmTwoPageContinuousWithCover(la pagina di copertina è da sola, poi prosegue con doppia pagina). L'helper a livello di unitàComputeSpreadPagesespone la matematica della doppia pagina senza istanziare un visualizzatore.- Modalità di adattamento -
FitModesceglie come la pagina si dispone nel viewport:pfmNone(zoom manuale),pfmActualSize(100%),pfmFitPage(pagina intera nel viewport) epfmFitWidth(larghezza pagina corrispondente alla larghezza del viewport). La modalità di adattamento attiva viene riapplicata automaticamente al Resize e quando la pagina corrente cambia; impostare Zoom direttamente annulla la modalità di adattamento attiva (FitMode torna apfmNone), seguendo la convenzione dei visualizzatori PDF standard.- Controllo zoom - Zoom variabile con gli helper per pagina
PageZoom,PageWidthZoom,PageHeightZoomeActualSizeZoom- Colore pagina -
PageColordisaccoppia lo sfondo della pagina PDF renderizzata dalColordel controllo circostante. Il valore predefinito èclWhite, quindi le pagine PDF ora vengono rese bianche-carta indipendentemente dal tema dell'applicazione host. I visualizzatori in modalità scura possono mantenere l'area di scorrimento scura lasciando la pagina PDF effettiva bianca (o di qualsiasi colore scelto dall'applicazione).- Selezione testo interattiva - Selezione del testo da parte dell'utente tramite trascinamento sulle pagine PDF, con commutazione automatica dell'hit-test tra selezione e panoramica: cliccare su un carattere avvia una selezione tramite trascinamento, cliccare su uno spazio vuoto effettua la panoramica. Il doppio clic seleziona la parola, il triplo clic seleziona la riga,
Ctrl+Aseleziona la pagina (entrambe le pagine in modalità doppia pagina),Ctrl+Ccopia comeCF_UNICODETEXT,Shift+frecceestende la selezione, passando con il mouse sul testo il cursore diventacrIBeam, e il trascinamento verso un bordo del visualizzatore fa scorrere automaticamente la pagina. Nuove proprietà pubblicateSelectionColoreOnSelectionChange; nuove proprietà pubblicheHasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAll,CopySelectionToClipboard. Le modalità di visualizzazione a doppia pagina selezionano attraverso entrambe le pagine visibili unite con CR/LF. Un popup Copia predefinito con tasto destro viene allegato automaticamente quando l'host non ha assegnato un proprioPopupMenu. Vincolato dal flagAllowUserTextSelectiondella v1.17.0 per gli host in modalità chiosco.- Mappatura coordinate - Conversione tra le coordinate del dispositivo visualizzatore e le coordinate della pagina PDF con
DeviceToPage/PageToDevice, comprese overload che accettano unTRecte restituiscono unTPdfRectangle- Selezione testo e hit testing - Risolve i caratteri sotto i punti del visualizzatore con
CharacterIndexAtPose dipinge le evidenziazioni di selezione del testo tramitePaintSelection- Mouse e tastiera - Pieno supporto per dispositivi di input con scorrimento tramite trascinamento del mouse, scorciatoie PgUp / PgDn / Ctrl+Home / Ctrl+End e navigazione di pagina con rotella su / giù. Ctrl+rotella è riservato per lo zoom dell'applicazione e viene saltato dal gestore di navigazione.
- Blocco dell'input utente -
AllowUserPageChangecontrolla le scorciatoie di pagina della tastiera,ChangePageOnMouseScrollingcontrolla i salti di pagina con la rotella, eAllowUserTextSelectioncontrolla l'input di selezione del testo da mouse / tastiera. Tutti e tre per default sono True; impostarli a False per bloccare chioschi, riquadri di anteprima o integrazioni di sola lettura senza sottoclassare.- Overlay di rendering asincrono -
AsyncRendering,LoadingTexteLoadingColordisegnano un piccolo indicatore "Caricamento..." sopra la pagina renderizzata in modo che le applicazioni che utilizzano un proprio worker per rendering di lunga durata condividano un affordance visivo coerente. I valori predefiniti preservano il comportamento esistente.TPdfora serializza le chiamate di rendering e di scaricamento pagina per istanza; le applicazioni continuano a possedere il dispatch del worker e devono evitare di mutare un documento mentre un rendering è in corso.- Gestione sicura del clic sui link -
LinkOptionsè un insieme pubblicato che controlla il comportamento automatico per i quattro tipi di azione dei link PDF:loAutoGoto(salto di pagina),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) eloAutoEmbeddedGoto(riservato). I valori predefiniti abilitano sololoAutoGotoeloAutoOpenURI;loAutoLauncheloAutoEmbeddedGotorestano disattivati in modo che un clic accidentale non possa eseguire un programma arbitrario.OnAnnotationLinkClickeOnWebLinkClicksi attivano prima di qualsiasi azione automatica e permettono all'applicazione di contrassegnare l'evento come Handled o di reindirizzarlo.- Interazione con i moduli - Modifica interattiva dei moduli all'interno del visualizzatore, oltre agli helper di selezione / Undo / Redo della v1.23.0
- Stile visivo -
PageShadowSize,PageShadowColorePageBorderColordipingono un'ombra opzionale sotto il rettangolo della pagina e un bordo di un pixel attorno ad esso;SmoothScrollora anima i comandi della barra di scorrimento per riga/pagina in segmenti pilotati da timer mentre il trascinamento del cursore resta immediato- Navigazione tramite miniature -
TPdfThumbnailView(unitàFPdfThumbnail) renderizza una miniatura di pagina per riga in un pannello laterale scorrevole con evidenziazione di hover e selezione, oltre alla navigazione clic-per-andare. Progettato per stare accanto a un TPdfView. Proprietà:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; evento:OnPageClick.
Compressione
- Compressione automatica - Quando la proprietà
Compressedè True (predefinito), tutti gli stream PDF vengono assicurati compressi con FlateDecode al salvataggio- Post-elaborazione - Il motore di compressione scansiona i dati PDF salvati e comprime qualsiasi stream non compresso utilizzando la massima compressione zlib
- Ricostruzione delle cross-reference - Ricostruisce automaticamente la tabella xref quando la compressione degli stream modifica gli offset in byte
- Overhead nullo - Se tutti gli stream sono già compressi, i dati passano senza modifica
Sicurezza
- Supporto password - Apre documenti PDF protetti da password
- Permessi - Legge i permessi di documento e utente; la demo
SecurityAuditcombina permessi, allegati, JavaScript del documento, link URI / Launch, firme, XFA e disponibilità V8 in una superficie di rischio di sola lettura con azioni di salvataggio del report TXT / JSON e copia TXT- Rimozione sicurezza - Salva documenti con la sicurezza rimossa (quando autorizzato)
Stampa
- Modalità di stampa - Scegliere tra modalità di stampa EMF, solo testo, PostScript Level 2 / 3, PostScript pass-through, EMF image-mask e Type 42 tramite la funzione globale
SetPdfPrintMode- Preferenze visualizzatore - Espone l'intento dell'autore del documento tramite
PrintCopies,PrintPageRanges(intervalli di pagina a base uno),PrintScalingePrintPaperHandling;SetPdfPrintPaperHandlingDevModemappa il suggerimento duplex inDEVMODE.dmDuplexdi Windows- Stampa N-up - Le demo
PrintPreferencesin Delphi, C++Builder e Lazarus mostrano la composizione N-up su foglio (1 / 2 / 4 / 9 pagine per foglio) con filtro pagine pari / dispari, rendering in scala di grigi, bordi di cella opzionali da 1 pixel, preferenze di stampa dell'autore PDF e mappatura dell'intento duplex tramiteSetPdfPrintPaperHandlingDevMode
Demo incluse
Gli alberi
Demo\Delphi,Demo\CBuildereDemo\Lazarusdistribuiscono progetti di esempio eseguibili che esercitano la superficie API live nelle tre famiglie di IDE. Punti salienti:
- PDFViewer / MultiPageViewer / SplitView - Uso completo di TPdfView: caricamento, navigazione, zoom, rotazione, doppia pagina, layout con copertina e confronto PDF side-by-side in Delphi / C++Builder / Lazarus con comandi sincronizzati; le demo del visualizzatore sono anche test pratici di velocità per PDF di più gigabyte, dove documenti da 2,x GB possono raggiungere una prima vista usabile quasi immediatamente mentre il rendering delle pagine rimane reattivo
- ViewerInteractionLab - Esempi mirati di interazione TPdfView in Delphi, C++Builder e Lazarus per modalità di visualizzazione, modalità di adattamento, colori delle pagine, rotazione, evidenziazione di ricerca, selezione del testo, anteprima del testo selezionato, azioni di appunti e feedback delle coordinate DeviceToPage
- SearchAndSelect - Esempi mirati di workflow in Delphi, Lazarus e C++Builder per l'elenco dei risultati di ricerca su tutte le pagine, navigazione precedente / successivo, salto al risultato tramite doppio clic,
HighlightSearchText, ricerca case sensitive / parola intera,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelectione modalità di visualizzazione a doppia pagina- PreflightReport - Demo di workflow in Delphi, Lazarus e C++Builder oltre a un companion Delphi a console intorno al riutilizzabile
FPdfPreflightReport, che raccoglie i risultati di validazione PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R e PDF/VT in righe di stato, priorità, categoria del problema, conteggi per categoria, riepilogo della prossima azione, raccomandazioni sui problemi, anteprima testo / Markdown / JSON / CSV, report TXT / HTML / Markdown / JSON / CSV, generazione di report tramite script, elaborazione batch di elenchi e directory con routing della directory dei report, riepiloghi aggregati TXT / JSON / HTML, manifest di riga CSV, incorporamento opzionale dell'allegato del report e codici di uscita per il gating CI- ContentExtractionLab - Workflow unificato di inventario del contenuto in Delphi, Lazarus e C++Builder per metadati del documento, testo di pagina, oggetti di pagina, immagini, allegati, link, annotazioni, segnalibri e metriche di font / carattere con esportazione TXT / JSON, selezione di categoria tutto / niente, salvataggio del PDF sorgente e azioni di copia del report
- WatermarkStamp - Workflow Form XObject riutilizzabile in Delphi, Lazarus e C++Builder per filigrane centrate, timbri d'angolo ed etichette di numero di pagina su un PDF di destinazione multi-pagina
- CreatePDF - Costruisce un PDF multi-pagina da zero con testo, immagini, tracciati, tabelle e composizione di filigrana; include un'opzione "Testo Europeo" per scrivere testo accentato ceco / francese / tedesco / spagnolo / portoghese / polacco / turco per verificare la selezione del font e la gestione Unicode
- ExtractText / ExtractImages / ContentExtractionLab - Salva il testo estratto (incluso l'output separato per pagina) o le immagini incorporate su disco, oppure genera un report di inventario del contenuto multi-categoria in un'unica passata
- FormFill - Legge i metadati dei campi AcroForm, scrive valori, rigenera le apparenze /AP e salva il risultato modificabile o appiattito
- FontProperties - Ispeziona i metadati indicizzati di caratteri / font tramite TPdf e TPdfView in Delphi, C++Builder e Lazarus
- MergePDF / SplitPDF - Combina più PDF sorgenti (con selezione dell'intervallo di pagine per file, percorso di output opzionale, log di esecuzione, pulsante di annullamento e riepilogo di completamento dell'unione) o suddivide un PDF in file di output per pagina
- PDFtoJpg / BatchExport - Conversione PDF in JPG in Delphi, C++Builder e Lazarus, una tantum o multi-file, con progresso generale per file, progresso corrente per pagina, input di DPI / qualità / password e batch cooperativamente annullabile basato su
IPdfCancellationToken- StandardsLab - Esempi di workflow in Delphi, C++Builder e Lazarus per validazione PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R e PDF/VT, segnalazione di problemi e output di salvataggio orientati agli standard
- PrintPDF / PrintPreferences - Stampa PDF standard in Delphi, C++Builder e Lazarus con anteprima, intervalli di pagine, copie, fascicolazione, progresso e annullamento (PrintPDF), oltre alla composizione N-up su foglio in Delphi, C++Builder e Lazarus con filtro pari / dispari e preferenze di stampa dell'autore PDF (PrintPreferences)
- SecurityAudit - Esempi di superficie di rischio in sola lettura in Delphi, C++Builder e Lazarus per permessi, allegati, azioni JavaScript, link URI / Launch, link web, firme, stato XFA, disponibilità degli helper V8 / XFA e report di audit TXT / JSON
- Attachment - Crea PDF, aggiunge / elenca / estrae / elimina / salva allegati di file incorporati con visualizzazione del MIME subtype
- ImageToPDF - Conversione batch di immagini in un singolo PDF in Delphi, C++Builder e Lazarus, una immagine per pagina, con anteprima e progresso per immagine
Le suite di regressione in Delphi, C++Builder e Lazarus coprono 147 casi (Pas) / 123 (C++) condividendo gli stessi PDF di test in modo che il comportamento resti allineato byte-byte nelle tre famiglie di IDE.
Supporto piattaforma
- Delphi - Delphi XE5 (RAD Studio XE5) fino a Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder - C++Builder XE5 (RAD Studio XE5) fino a C++Builder 13.1 Florence
- Lazarus - Supporto Free Pascal / Lazarus
- Win32 / Win64 - Piattaforme Windows a 32 bit e 64 bit