Componente de bază
- TPdf - Componenta principală pentru gestionarea documentelor PDF pentru deschidere, navigare, extragere de text și editarea documentelor PDF
- TPdfView - Componentă vizuală pentru afișarea și interacțiunea cu paginile PDF
- TPdfReadingSession - Componentă de orchestrare pentru citire cu voce tare, pentru motoarele TTS gazdă și urmărirea cuvintelor în TPdfView
- TPdfThumbnailView - Panou lateral derulabil cu miniaturi pentru navigarea paginilor
Operațiuni pe documente
- Document Loading - Încarcă fișiere PDF de pe disc, fluxuri de memorie, array-uri de octeți sau adaptoare TStream la cerere prin
LoadCustomDocument. PDFium citește blocuri la cerere, astfel că documentele de mai mulți GB și sursele la distanță sau bazate pe baze de date nu au nevoie de o copie inițială în memorie- Protecție cu parolă - Deschide documente PDF protejate cu parolă și raportează
UserPermissionsefective pentru sesiunea autentificată- Creare de documente - Construiește documente PDF noi de la zero cu
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageșiCreatePath- Salvarea documentelor - Salvează documentele modificate cu diverse opțiuni (incremental, eliminarea securității) și versiuni țintă PDF explicite de la PDF 1.0 la PDF 1.7
- Ieșire PDF/A-1b -
SaveAsPdfA/SaveAsPdfAToStreampostprocesează salvarea de bază cu o actualizare incrementală care injectează un flux de metadate XMP, un OutputIntent ICC sRGB și un catalog de document actualizat, astfel încât rezultatul să respecte PDF/A-1b. Profilele ICC personalizate sunt acceptate prinTPdfASaveOptions.IccProfileData- Validare PDF/A -
ValidatePdfAși proprietatea read-onlyPdfAConformancescanează un document deschis pentru markeri XMPpdfaid, OutputIntent cu ICC încorporat, prezența criptării și raportează nivelul de conformitate (pac1a,pac1b,pac2b,pac3b,pacNonesaupacUnknown) plus o listă de intrăriTPdfAValidationIssuecare descriu fiecare problemă găsită- Validator de Conformitate a Versiunii PDF (PDF Version Compliance Validator) - Când SaveAs vizează versiunile PDF de la 1.0 până la 1.7, scriitorul (writer) respinge orice intrare de dicționar, filtru, subtip de adnotare, tip de acțiune, font, spațiu de culoare sau parametru de criptare introdus după versiunea țintă aleasă (de exemplu: JBIG2Decode, MarkInfo, OutputIntents, AES / AES-256, adnotări Polygon / Caret / Watermark / Redact, acțiuni JavaScript / Trans / SetState)
- Compresia fluxurilor - Compresia automată FlateDecode asigură că toate fluxurile PDF sunt comprimate optim la salvare; setează
Compressed := Falsepentru a o dezactiva în fluxurile de depanare- Îmbinare documente - Importă pagini din alte documente PDF
- Importul unui subset de pagini -
ImportPagesByIndexcopiază un tablou explicit de indici cu bază zero dintr-un document sursă, cu InsertAt = 0 pentru a insera înainte de pagina 1 sau InsertAt = PageCount pentru a adăuga la sfârșit. Trece un tablou de indici gol pentru a importa fiecare pagină sursă- Compunere N-up -
ImportNPagesToOnereturnează unTPdfcomplet nou, ale cărui pagini sunt compozite NumX×NumY ale paginilor din documentul sursă, dimensionate în unități utilizator PDF (1 unitate = 1/72 in)- Reordonarea paginilor -
MovePagesreordonează paginile la loc, folosind un tablou de indici cu bază zero și un index de destinație pentru prima pagină mutată- Reutilizare de pagină cu Form XObject -
CreateXObjectFromPageconstruiește un handleTPdfXObjectreutilizabil din orice pagină a altui document;InsertFormObjectFromXObjectinserează o singură copie a paginii ambalate în pagina curentă. Ideal pentru watermark-uri, suprapuneri de șabloane și fluxuri de tipul „ștanțare a unei pagini pe multe”. Obiectul paginii de destinație poate fi poziționat, scalat și rotit prinFPDFPageObj_SetMatrixși ajutoareleTPdfMatrix- Gestionarea paginilor - Adaugă, șterge și manipulează pagini individuale;
AddPage(0, ...)inserează chiar prima pagină și o activează imediat- Casete de pagină - Citește și scrie MediaBox, CropBox, BleedBox, TrimBox și ArtBox pe pagina curentă
- Limba catalogului - Citește și scrie limba documentului stocată în intrarea catalog /Lang
- ID-urile fișierului trailer - Citește intrările permanente și schimbătoare /ID ale trailerului ca octeți binari
- Acțiuni JavaScript ale documentului - Enumeră numele și scripturile acțiunilor din arborele de nume JavaScript la nivel de document
- Arborele de structură Tagged PDF - Examinează elementele de structură logică, textul de accesibilitate, limba, ID-urile de conținut marcat și ierarhia pentru paginile Tagged PDF
- Preferințe de vizualizare - Citește
PrintCopies,PrintPageRanges,PrintScalingșiPrintPaperHandlingdin dicționarul de preferințe al vizualizatorului; PDF-urile salvate folosesc implicit o acțiune de deschidere a primei pagini Fit Height
Operațiuni text
- Extragerea textului - Extrage text din paginile PDF cu precizie la nivel de caracter prin
Text,TextInRectangle, proprietățile indexateCharacter,CharacterRectangleșiCharacterOrigin- Unități de citire la nivel de propoziție - TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits și BuildReadingUnits expun înregistrări TPdfReadingUnit de dimensiunea unei propoziții pentru citire și ascultare TTS sincronizate
- Evidențiere la nivel de cuvânt -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowmapează un offset de caracter al paginii la TPdfWordBox-ul care îl conține, îl evidențiază și returnează indexul cuvântului; evidențiază un singur TPdfWordBox ca fiind cuvântul vorbit curent în TPdfView; șterge suprapunerea curentă a cursorului de citire la nivel de cuvânt din TPdfView; controlează culoarea suprapunerii folosite pentru cursorul curent de citire la nivel de cuvânt; controlează dacă TPdfView derulează cuvântul vorbit curent în vedere în timp ce urmărește citirea- Orchestrarea sesiunii de citire cu voce tare -
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageCharșiEstimateSpokenWordIndexcoordonează motoarele TTS gazdă, fragmentele rostite, callback-urile de poziționare a cuvintelor, ritmul estimat, gestionarea pauză/reluare și actualizările cursorului de cuvânt din TPdfView- Căutare text - Găsește text cu opțiuni de căutare sensibile la majuscule/minuscule, pe cuvânt întreg și consecutive folosind
FindFirst,FindNext,FindPrevious- Suprapunere de evidențiere a căutării -
TPdfView.HighlightSearchTextscanează pagina curentă a vizualizării și desenează la fiecare redesenare o suprapunereHighlightColorreală, cu alpha blend, peste fiecare potrivire, întorcând numărul de potriviri.ClearHighlightelimină suprapunerea; navigarea la o altă pagină o șterge automat, deoarece potrivirile sunt specifice paginii.HighlightColorare valoarea implicităclYellowși este publicată, astfel încât aplicațiile să o poată adapta la temă- Proprietățile Caracterului (Character Properties) - Accesați dimensiunea, grosimea (weight), unghiul și poziționarea fontului pentru caractere individuale folosind proprietățile indexate
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHyphenșiCharacterMapError- Suport pentru Caracterele Europene (European Character Support) -
AddTextîncarcă și pune automat în memoria cache fontul TrueType potrivit din sistem înainte de a crea un obiect de tip text, astfel încât caracterele cu accent din limbile cehă, franceză, germană, spaniolă, portugheză, poloneză și turcă pe care fonturile standard integrate în PDFium nu le pot reprezenta vor fi randate corect fără nicio modificare a codului- Adăugare Text (Text Addition) - Adăugați text nou la paginile PDF folosind fonturi personalizate, culori, transparență și rotire
- Poziționarea Obiectelor de Tip Text (Text Object Positioning) - Setați pozițiile caracter cu caracter (per-character) pentru obiectele text existente prin intermediul
SetTextPositionsșiTPdfSingleArray- Informații despre Font (Font Information) - Recuperați proprietățile fontului, inclusiv numele familiei, starea de încorporare (embedding status), unghiul italic, ascendența / descendența și datele brute ale fontului (raw font data) la nivel de obiect din pagină
Suport pentru adnotări
- Tipuri de adnotări - Suport pentru text, link, evidențiere, subliniere, tăiere și multe alte tipuri de adnotări
- Annotation Creation - Creați adnotări noi programatic
- Editarea Adnotărilor (Annotation Editing) - Modificați proprietățile adnotărilor existente, inclusiv culoarea, transparența și conținutul
- Adnotări de link - Gestionează linkurile interne și externe cu suport pentru acțiuni
Suport pentru formulare
- Voice Form-Filling Accessors - FocusedFormFieldValue, FocusedFormFieldName and FocusedFormFieldDetails on TPdf and TPdfView expun valoarea logică curentă a câmpului de formular, numele și TPdfFormFieldInfo pentru completarea formularelor condusă de tastatură sau voce
- Tipuri de formulare - Suport pentru formulare AcroForm și XFA
- Completarea formularelor - Completare interactivă a formularelor cu suport JavaScript
- Selectarea DLL-ului V8 - Setează
EnableV8Engineînainte de încărcare pentru a folosipdfium.v8.dlldin folderul potrivitDLLs\Win32sauDLLs\Win64și pentru a interoga disponibilitatea ajutoarelor V8/XFA prinV8FeaturesAvailable,XfaBStrHelpersAvailableșiGetRecommendedV8Flags- Acces la câmpuri - Citește și scrie valorile câmpurilor de formular după index sau poziție
- Informații despre câmp - Accesează tipul câmpului, indicatoarele, numele și alte proprietăți
- Indicatori de câmp - Actualizează indicatorii câmpurilor AcroForm după index sau poziție prin
SetFormFieldFlags/SetFormFieldFlagsAt, inclusiv indicatorii read-only, required, password și multi-select- Aplatizarea formularelor -
GenerateFormAppearancesregenerează fluxul de aspect /AP pentru fiecare widget de formular de pe fiecare pagină, iarFlattenPage/FlattenAllPagesîncorporează adnotările și câmpurile de formular în conținut static al paginii (неeditabil)- Selectarea textului din widgetul de formular și Undo / Redo - Pe widgetul AcroForm focalizat, vizualizatorul expune
GetSelectedFormText(textul selectat curent),SelectAllFormText(selectează fiecare caracter) șiFormUndo/FormRedo/FormCanUndo/FormCanRedo(controlează istoricul de editare per widget din PDFium). Toate cele șase se opresc în siguranță când vizualizatorul este inactiv sau nu există niciun widget focalizat
Operațiuni cu imagini
- Extragerea imaginilor - Extrage bitmapuri din paginile PDF cu proprietatea indexată
Bitmap; iterează prinBitmapCountpentru a salva fiecare imagine pe disc- Inserarea JPEG -
AddJpegImagepreia unTStreamcu octeți JPEG bruti și încorporează imaginea ca un XObject /DCTDecode fără re-encodare- Suport pentru Picture -
AddPictureacceptă un obiectTPicturecu conversie automată de format prin clasele grafice VCL/LCL înregistrate- Inserarea directă a imaginilor -
AddImage(FileName)recunoaște orice format înregistrat cu unitățile grafice VCL sau LCL (BMP, PNG prin PngImage, JPG, ...) și folosește același pipeline AddPicture.AddImage(TBitmap)sare peste intermediarul TPicture, ceea ce simplifică apelanții care dețin deja un TBitmap din randare sau generare în lot- Profil ICC al imaginii - Obiectele de pagină imagine expun datele profilului ICC încorporat atunci când sunt prezente (binding pentru
FPDFImageObj_GetIccProfileDataDecoded)- Generarea miniaturilor - Generează bitmapuri miniatură pentru pagina curentă prin proprietatea
Thumbnailsau randează orice pagină numerotată de la unu prinTPdf.RenderPageThumbnailfără a schimbaPageNumber
Unități ajutătoare
- Infrastructură Asincronă -
FPdfAsyncexpuneIPdfCancellationToken/IPdfCancellationTokenSourcepentru semantica cooperativă de anulare-din-UI (cancel-from-UI), un singleton reutilizabilPdfNoCancellationTokenși un instrument ajutător ușorTPdfFuture<T>care rulează un thread (worker) într-un fir de fundal (background thread) și postează un plicTPdfFutureResult<T>înapoi în firul principal (main thread), făcând distincție între cazurile de succes, anulare și eșec.- Adaptor de Flux (Stream Adapter) -
TPdfStreamAdaptercreează o legătură între unTStreamPascal și apelurile inverse (callbacks)FPDF_FILEACCESSdin PDFium, astfel încâtLoadCustomDocumentcitește blocurile la cerere în loc să stocheze întregul PDF în memorie (buffering)- Compoziție de matrice -
FPdfMatrixînveleșteFS_MATRIXdin PDFium cu o API OO pentruTranslate,Scale,Rotate,HorizontalFlip,VerticalFlip,CentralFlip,SkewșiMultiply.Multiplysalvează cele șase elemente ale matricei înainte de a calcula noile valori de rând, evitând capcana unei implementări Pascal alternative în care elementele anterioare sunt suprascrise în timpul aceluiași apel și produc compoziții incorecte- Randare progresivă anulabilă -
TPdf.RenderPageProgressiverulează buclaFPDF_RenderPageBitmap_Start+RenderPage_Continuea PDFium și sondează unIPdfCancellationTokenîntre iterații prin callback-ulIFSDK_PAUSE, astfel încât randările lungi la DPI mare să poată fi întrerupte la mijlocul paginii, nu să blocheze până la finalizare. Returnează unTPdfProgressiveStatusdeprsDone,prsCancelledsauprsFailed- Cale de randare zero-copy -
RenderPage/RenderTile/RenderPageProgressivescriu ieșirea PDFium direct în bufferul DIB alTBitmap-ului de destinație, în loc să treacă printr-un buffer intern, economisind o copiere de memorie dewidth × height × 4bytes la fiecare randare - cel mai vizibil la DPI mare (panouri de miniaturi, export de calitate de imprimare, export în lot). O cale de rezervă pe scanline este păstrată atunci când DIB-ul de destinație nu poate fi învelit în siguranță- Transformări ale Hărții de Biți pentru Vedere Slabă (Low-Vision Bitmap Transforms) - InvertPdfBitmap, GrayscalePdfBitmap și DuotonePdfBitmap transformă pe loc pixelii randați de pe TBitmap pe 32 de biți, pentru a obține vizualizări destinate vederii slabe, folosind modurile inversat, cu nuanțe de gri sau în două culori
- Vizualizare Live pentru Vedere Slabă (Live Low-Vision Viewing) -
TPdfView.OptionssuportăreInvertșireNightDuotone, iar prinNightDuotoneInkșiNightDuotonePaperse controlează paleta pentru modul live de noapte (live night palette) înainte ca suprapunerile (overlays) să fie desenate
Operații de desen
- Desenarea traseelor - Creează trasee cu linii, curbe Bezier și forme închise
- Eliminarea obiectelor - Elimină obiectele de pagină și regenerează conținutul paginii din TPdf sau TPdfView
- Umplere și contur - Configurează modul de umplere, culorile, transparența și proprietățile conturului
- Moduri de amestec - Suport pentru diverse moduri de amestec PDF
- Stiluri de linie - Configurează capătul liniei, îmbinarea liniilor și lățimea conturului
Semnături digitale
- Detectarea semnăturilor - Detectează și enumeră semnăturile digitale din documentele PDF
- Informații despre semnătură - Accesează conținutul semnăturii, intervalul de octeți, sub-filter, motivul și timpul
- Permisiuni MDP - Interoghează permisiunile de detectare și prevenire a modificărilor documentului
Suport pentru atașamente
- Acces la atașamente - Citește, creează, modifică și șterge atașamentele de fișiere încorporate
- Nume de atașamente - Accesează numele fișierelor atașate
- Tipuri de atașamente - Citește valorile MIME subtype ale fișierelor încorporate atunci când sunt prezente
- Semne de carte - Navighează prin semnele de carte ale documentului cu suport ierarhic prin tabloul
Bookmarks,BookmarkChildren,HasBookmarkChildrenși ajutoarele de traversareBookmarkFrom- Destinații denumite - Accesează destinațiile denumite după index sau nume prin
Destination,DestinationByNameșiDestinationCount- Etichete de pagină - Preia etichetele de pagină pentru fiecare pagină prin
PageLabel; util când documentele folosesc cifre romane pentru paginile introductive- Linkuri web - Detectează și navighează linkurile web de pe pagini cu
WebLink,WebLinkCountșiTPdfView.WebLinkAtPos- Adnotări de link - Accesează adnotările de link cu informații despre acțiune și destinație prin
LinkAnnotation,LinkAnnotationCountșiTPdfView.LinkAnnotationAtPos- Gestionare sigură a clicurilor pe link - TPdfView ridică evenimentele
OnAnnotationLinkClick/OnWebLinkClickînainte de tratarea automată goto / URI, iar acțiunile de lansare sunt dezactivate implicit. Detectarea clicului pe link rulează numai când gestul este un clic, nu un drag, folosind un ancoraj MouseDown nou, astfel încât gesturile de panoramare să continue pe calea de derulare existentă fără modificări
Randare
- Randare de înaltă calitate - Randează paginile în contextul dispozitivului, bitmap sau tile prin
RenderPage/RenderTile, cu scrieri directe zero-copy în bufferul DIB de destinație- Randare progresivă anulabilă -
RenderPageProgressiverulează bucla progresivă a PDFium și sondează unIPdfCancellationTokenîntre iterații, întorcândprsDone,prsCancelledsauprsFailed. Bitmapul păstrează până atunci munca parțială efectuată când este anulat- Opțiuni de randare - Optimizare text LCD (
reLcd), adnotări (reAnnotations), gri și indicatoare pentru modul de imprimare- Hook-uri Skia - Binding-urile de nivel jos
FPDF_RenderPageSkiașiFPDF_FFLDrawSkiasunt disponibile când apelanții furnizează un SkCanvas extern (depinde de exporturile DLL incluse)- Selectarea modului de imprimare - Setează modurile de imprimare PDFium EMF, text-only, PostScript, pass-through, image-mask și Type 42 prin
SetPdfPrintModecuTPdfPrintMode- Suprapunere asincronă - TPdfView poate afișa o suprapunere opțională de încărcare în timp ce workerii deținuți de aplicație randază cu instanțe TPdf separate
- Rotație a paginii - Suport pentru rotație de 0, 90, 180 și 270 de grade (
ro0,ro90,ro180,ro270)- Detectarea transparenței - Proprietatea
Transparentraportează dacă vreun obiect de pe pagina curentă are transparență, inclusiv moduri de amestec și alpha parțial
Vizualizare (TPdfView)
- Moduri de afișare -
dmSingleContinuous,dmTwoPageContinuousșidmTwoPageContinuousWithCover(pagina de copertă stă singură, apoi continuă cu pagini duble). Ajutorul la nivel de unitateComputeSpreadPagesexpune matematica paginilor în spread fără a instanția un vizualizator- Mod de potrivire -
FitModealege cum stă pagina în viewport:pfmNone(zoom manual),pfmActualSize(100%),pfmFitPage(întreaga pagină încape în viewport) șipfmFitWidth(lățimea paginii se potrivește cu lățimea viewportului). Modul activ de potrivire este aplicat din nou automat la Resize și când se schimbă pagina curentă; setarea directă a zoomului anulează modul activ de potrivire (FitMode revine lapfmNone), în acord cu convenția standard a vizualizatorului PDF- Controlul zoomului - Zoom variabil cu ajutoarele per pagină
PageZoom,PageWidthZoom,PageHeightZoomșiActualSizeZoom- Culoarea paginii -
PageColordecuplează fundalul paginii PDF randate deColor-ul controlului din jur. Valoarea implicită esteclWhite, astfel încât paginile PDF se randază acum alb-hârtie indiferent de tema aplicației gazdă. Vizualizatoarele în dark mode pot păstra zona de derulare întunecată și lăsa pagina PDF propriu-zisă albă (sau orice culoare alege aplicația)- Selecție interactivă a textului - Utilizatorul poate trage pentru a selecta text pe paginile PDF, iar hit-test-ul comută automat între selecție și panoramare: clic pe un caracter pornește un drag de selecție, clic pe spațiu gol face panoramare. Dublu clic selectează cuvântul, triplu clic selectează linia,
Ctrl+Aselectează pagina (ambele pagini în modul spread),Ctrl+Ccopiază caCF_UNICODETEXT,Shift+arrowextind selecția, hover-ul peste text schimbă cursorul încrIBeam, iar tragerea către marginea vizualizatorului derulează automat pagina. NoiSelectionColorșiOnSelectionChangepublicate; noi membri publiciHasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAll,CopySelectionToClipboard. Modurile de afișare în spread selectează pe ambele pagini vizibile cu unire CR/LF. Un popup implicit Copy la clic dreapta este atașat automat când gazda nu și-a definit propriulPopupMenu. Controlat de flag-ul v1.17.0AllowUserTextSelectionpentru gazde kiosk- Maparea coordonatelor - Convertește între coordonatele dispozitivului vizualizatorului și coordonatele paginii PDF cu
DeviceToPage/PageToDevice, inclusiv suprasarcini care primesc unTRectși returnează unTPdfRectangle- Selectarea textului și testarea hit - Identifică caracterele aflate sub punctele vizualizatorului cu
CharacterIndexAtPosși desenează evidențieri de selecție a textului prinPaintSelection- Mouse și tastatură - Suport complet pentru dispozitive de intrare cu derulare prin tragere de mouse, scurtături PgUp / PgDn / Ctrl+Home / Ctrl+End și navigare cu rotița în sus / în jos pe pagini. Ctrl+rotiță este rezervat pentru zoom-ul aplicației și este ignorat de handler-ul de navigare
- Restricționarea inputului utilizatorului -
AllowUserPageChangecontrolează scurtăturile de pagină de la tastatură,ChangePageOnMouseScrollingcontrolează salturile de pagină cu rotița, iarAllowUserTextSelectioncontrolează intrarea de selecție a textului de la mouse / tastatură. Toate trei au implicit valoarea True; schimbă-le în False pentru a bloca chioșcuri, panouri de previzualizare sau încorporări read-only fără subclassing- Suprapunere de randare asincronă -
AsyncRendering,LoadingTextșiLoadingColordesenează un mic indicator „Loading...” peste pagina randată, astfel încât aplicațiile care folosesc propriul worker pentru randări lungi să aibă un indiciu vizual consecvent. Valorile implicite păstrează comportamentul existent.TPdfserializează acum apelurile de randare și de eliberare a paginii per instanță; aplicațiile continuă să controleze dispatch-ul workerului și trebuie să evite modificarea unui document în timp ce o randare este în curs- Gestionare sigură a clicurilor pe link -
LinkOptionseste un set publicat care controlează comportamentul automat pentru cele patru tipuri de acțiuni de link PDF:loAutoGoto(salt de pagină),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) șiloAutoEmbeddedGoto(rezervat). Valorile implicite activează numailoAutoGotoșiloAutoOpenURI;loAutoLaunchșiloAutoEmbeddedGotorămân dezactivate, astfel încât un clic accidental să nu poată rula un program arbitrar.OnAnnotationLinkClickșiOnWebLinkClickse declanșează înaintea oricărei acțiuni automate și permit aplicației să marcheze evenimentul Handled sau să îl redirecționeze- Interacțiune cu formularele - Editare interactivă a formularelor în vizualizator, plus ajutoarele de selecție / Undo / Redo din v1.23.0
- Stil vizual -
PageShadowSize,PageShadowColorșiPageBorderColordesenează o umbră opțională sub dreptunghiul paginii și o bordură de un pixel în jurul ei;SmoothScrollanimează acum comenzile de scrollbar pe linie/pagină în segmente controlate de timer, iar urmărirea thumb-ului rămâne imediată- Navigare prin miniaturi -
TPdfThumbnailView(unitateaFPdfThumbnail) randează câte o miniatură de pagină pe rând într-un panou lateral derulabil, cu evidențiere la hover și selecție plus navigare la clic. Este proiectat să stea lângă un TPdfView. Proprietăți:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; eveniment:OnPageClick
Compresie
- Compresie automată - Când proprietatea
Compressedeste True (implicit), toate fluxurile PDF sunt garantat comprimate FlateDecode la salvare- Postprocesare - Motorul de compresie scanează datele PDF salvate și comprimă orice flux necomprimat folosind compresia maximă zlib
- Reconstruire cross-reference - Reconstruiește automat tabela xref când compresia fluxurilor schimbă deplasările de octeți
- Fără cost suplimentar - Dacă toate fluxurile sunt deja comprimate, datele trec mai departe fără modificări
Securitate
- Suport pentru parolă - Deschide documente PDF protejate cu parolă
- Permisiuni - Citește permisiunile documentului și ale utilizatorului; demo-ul
SecurityAuditcombină permisiuni, atașamente, JavaScript de document, linkuri URI / Launch, semnături, XFA și disponibilitatea V8 într-o suprafață de risc read-only, cu salvare rapoarte TXT / JSON și acțiuni de copiere TXT- Eliminarea securității - Salvează documentele cu securitatea eliminată (când este autorizat)
Imprimare
- Moduri de Imprimare (Print Modes) - Alegeți între modurile de imprimare EMF, doar text (text-only), PostScript Level 2 / 3, trecere prin PostScript (PostScript pass-through), mască de imagine EMF (EMF image-mask) și tipul de imprimare Type 42 prin intermediul funcției globale
SetPdfPrintMode- Preferințe de vizualizare - Expune intenția autorului documentului prin
PrintCopies,PrintPageRanges(intervale de pagini cu bază unu),PrintScalingșiPrintPaperHandling;SetPdfPrintPaperHandlingDevModemapează indiciul de duplex în WindowsDEVMODE.dmDuplex- Imprimare N-up - Demo-urile
PrintPreferencesdin Delphi, C++Builder și Lazarus arată compunerea N-up a foilor (1 / 2 / 4 / 9 pagini pe foaie) cu filtrare pagini impare / pare, randare în tonuri de gri, borduri opționale de celulă de 1 pixel, preferințe de imprimare ale autorului PDF și maparea intenției duplex prinSetPdfPrintPaperHandlingDevMode
Demo-uri livrate
Structurile arborescente (trees)
Demo\Delphi,Demo\CBuilderșiDemo\Lazarusoferă proiecte model rulabile care exersează funcționalitatea suprafeței API-ului activ în toate cele trei familii de IDE-uri. Puncte de atracție (highlights):
- PDFViewer / MultiPageViewer / SplitView - Utilizare TPdfView de la cap la cap: încărcare, navigare, zoom, rotire, spread pe două pagini, layout-uri care țin cont de copertă și comparație PDF alăturată în Delphi / C++Builder / Lazarus cu comenzi sincronizate; demo-urile de vizualizare sunt și teste practice de viteză pentru PDF-uri de mai mulți gigabytes, unde documentele de 2.x GB pot ajunge aproape imediat la o primă vedere utilă, în timp ce randarea paginii rămâne receptivă
- ViewerInteractionLab - Exemple de interacțiune TPdfView focalizate pentru Delphi, C++Builder și Lazarus, pentru moduri de afișare, moduri de potrivire, culori de pagină, rotație, evidențierea căutării, selecția textului, previzualizarea textului selectat, acțiuni din clipboard și feedback de coordonate DeviceToPage
- SearchAndSelect - Exemple de workflow focalizate pentru Delphi, Lazarus și C++Builder, pentru listarea rezultatelor de căutare pe toate paginile, navigarea la potrivirea anterioară / următoare, sărituri prin dublu clic pe rezultat,
HighlightSearchText, căutare cu respectarea majusculelor / pe cuvânt întreg,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelectionși moduri de afișare în spread- PreflightReport - Demo-uri de workflow pentru Delphi, Lazarus și C++Builder plus un companion de consolă Delphi în jurul
FPdfPreflightReportreutilizabil, care adună rezultatele de validare PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R și PDF/VT în rânduri de stare, prioritate, categorie de problemă, număr de probleme pe categorie, rezumate ale pașilor următori, recomandări, previzualizări text / Markdown / JSON / CSV, rapoarte TXT / HTML / Markdown / JSON / CSV, generare de rapoarte scriptabilă, procesare în loturi și pe directoare cu rutare a directorului de rapoarte, rezumate agregate TXT / JSON / HTML, manifeste CSV pe rânduri, încorporare opțională a atașamentelor de raport și coduri de ieșire pentru gating CI- ContentExtractionLab - Flux unificat de inventariere a conținutului pentru Delphi, Lazarus și C++Builder, pentru metadate de document, text de pagină, obiecte de pagină, imagini, atașamente, linkuri, adnotări, semne de carte și metrici font / caracter, cu export TXT / JSON, selecție de categorii all / none, salvare PDF sursă și acțiuni de copiere a raportului
- WatermarkStamp - Flux reutilizabil Form XObject pentru Delphi, Lazarus și C++Builder, pentru watermark-uri centrate, ștampile de colț și etichete de număr de pagină pe un PDF țintă cu mai multe pagini
- CreatePDF - Construiește un PDF cu mai multe pagini de la zero, cu text, imagini, trasee și compunere de watermark
- EuropeanText - Adaugă text cu diacritice în cehă / franceză / germană / spaniolă / portugheză / poloneză / turcă folosind fonturile sistem TrueType
- ExtractText / ExtractTextPages / ExtractImages / ContentExtractionLab - Salvează textul extras sau imaginile încorporate pe disc, împarte textul într-un fișier TXT pe pagină sau generează într-o singură trecere un raport de inventariere a conținutului pe mai multe categorii
- FormFill - Citește metadatele câmpurilor AcroForm, scrie valori, regenerează aparițiile /AP și salvează fie rezultatul editabil, fie pe cel aplatizat
- FontProperties - Inspectează metadatele indexate ale caracterelor / fonturilor prin TPdf și TPdfView în Delphi, C++Builder și Lazarus
- MergePDF / SplitPDF - Combină mai multe PDF-uri sursă (cu selecția intervalului de pagini per fișier, cale de ieșire opțională, jurnal de rulare, buton de anulare și rezumat al finalizării îmbinării) sau împarte un PDF în fișiere de ieșire pe pagină
- PDFtoJpg / BatchExport - Conversie PDF în JPG într-un singur pas sau în loturi, cu mai multe fișiere, pentru Delphi, C++Builder și Lazarus, cu progres general per fișier, progres curent per pagină, intrări DPI / calitate / parolă și un lot care poate fi anulat cooperativ, susținut de
IPdfCancellationToken- StandardsLab - Exemple de workflow pentru Delphi, C++Builder și Lazarus pentru validarea PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R și PDF/VT, raportarea problemelor și ieșiri de salvare orientate pe standarde
- PrintPDF / PrintPreferences - Imprimare PDF standard pentru Delphi, C++Builder și Lazarus cu previzualizare, intervale de pagini, copii, collate, progres și anulare (PrintPDF), plus compunere N-up a foilor în Delphi, C++Builder și Lazarus cu filtrare odd / even și preferințe de imprimare ale autorului PDF (PrintPreferences)
- SecurityAudit - Exemple read-only de suprafață de risc pentru Delphi, C++Builder și Lazarus, pentru permisiuni, atașamente, acțiuni JavaScript, linkuri URI / Launch, linkuri web, semnături, starea XFA, disponibilitatea ajutoarelor V8 / XFA și rapoarte de audit TXT / JSON
- Attachment - Creează PDF-uri, adaugă / listează / extrage / șterge / salvează atașamentele de fișiere încorporate cu afișarea subtype-ului MIME
- ImageToPDF - Conversie în lot de imagini în PDF pentru Delphi, C++Builder și Lazarus, câte o imagine pe pagină, cu previzualizare și progres per imagine
Suita de regresie Delphi, C++Builder și Lazarus acoperă 147 (Pas) / 123 (C++) de cazuri, împărțind aceleași PDF-uri fixture, astfel încât comportamentul să rămână aliniat la nivel de octet în toate cele trei familii de IDE
Suport platformă
- Delphi - Delphi XE5 (RAD Studio XE5) până la Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder - C++Builder XE5 (RAD Studio XE5) până la C++Builder 13.1 Florence
- Lazarus - Suport pentru Free Pascal / Lazarus
- Win32 / Win64 - Atât platformele Windows pe 32 de biți, cât și pe 64 de biți