Kerncomponenten
- TPdf - Hoofdcomponent voor het verwerken van PDF-documenten: openen, navigeren, tekst extraheren en PDF-documenten bewerken
- TPdfView - Visueel component voor het weergeven van en interageren met PDF-pagina's
- TPdfReadingSession - Orkestratiecomponent voor hardop lezen voor host-TTS-engines en woordtracking in TPdfView
- TPdfThumbnailView - Scrollbaar miniatuur-zijpaneel voor pagina-navigatie
Documentbewerkingen
- Documenten laden - Laad PDF-bestanden vanaf schijf, geheugenstreams, byte-arrays of on-demand TStream-adapters via
LoadCustomDocument. PDFium leest blokken op aanvraag, zodat documenten van meerdere GB en remote / databasegebaseerde bronnen geen vooraf gemaakte kopie in het geheugen nodig hebben.- Wachtwoordbeveiliging - Open met wachtwoord beveiligde PDF-documenten en rapporteer de effectieve
UserPermissionsvoor de geauthenticeerde sessie- Documenten creëren - Bouw nieuwe PDF-documenten vanaf nul met
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageenCreatePath- Documenten opslaan - Sla gewijzigde documenten op met diverse opties (incrementeel, beveiliging verwijderen) en expliciete PDF-doelversies van PDF 1.0 tot en met PDF 1.7
- PDF/A-1b-uitvoer -
SaveAsPdfA/SaveAsPdfAToStreamnabewerken de basisopslag met een incrementele update die een XMP-metadatastream, een sRGB ICC OutputIntent en een bijgewerkte documentcatalogus injecteert, zodat het resultaat PDF/A-1b-conform is. Aangepaste ICC-profielen worden ondersteund viaTPdfASaveOptions.IccProfileData.- PDF/A-validatie -
ValidatePdfAen de alleen-lezen eigenschapPdfAConformancescannen een geopend document op XMPpdfaid-markers, OutputIntent met ingebed ICC-profiel en aanwezigheid van versleuteling. Zij rapporteren het conformiteitsniveau (pac1a,pac1b,pac2b,pac3b,pacNoneofpacUnknown) plus een lijst metTPdfAValidationIssue-entries die elk gevonden probleem beschrijven- Validator voor PDF-versie-conformiteit - Wanneer SaveAs PDF 1.0 tot en met PDF 1.7 als doel heeft, weigert de writer elke dictionary-entry, filter, annotatie-subtype, actietype, lettertype, kleurruimte of versleutelingsparameter die na de gekozen doelversie is geïntroduceerd (bijv. JBIG2Decode, MarkInfo, OutputIntents, AES / AES-256, Polygon / Caret / Watermark / Redact-annotaties, JavaScript / Trans / SetState-acties)
- Stream-compressie - Automatische FlateDecode-compressie zorgt ervoor dat alle PDF-streams optimaal zijn gecomprimeerd bij het opslaan; stel
Compressed := Falsein om dit voor debug-pijplijnen uit te schakelen- Documenten samenvoegen - Importeer pagina's uit andere PDF-documenten
- Subset-import van pagina's -
ImportPagesByIndexkopieert een expliciete zero-based index-array uit een brondocument, met InsertAt = 0 om voor pagina 1 in te voegen of InsertAt = PageCount om toe te voegen. Geef een lege index-array door om alle bronpagina's te importeren.- N-up-compositie -
ImportNPagesToOneretourneert een gloednieuweTPdfwaarvan de pagina's NumX×NumY composieten zijn van de pagina's van het brondocument, in PDF-user-units (1 unit = 1/72 in)- Pagina's herordenen -
MovePagesordent pagina's in-place opnieuw met behulp van een zero-based index-array en een doelindex voor de eerste verplaatste pagina- Hergebruik van pagina's via Form XObject -
CreateXObjectFromPagemaakt een herbruikbareTPdfXObject-handle van elke pagina van een ander document;InsertFormObjectFromXObjectvoegt ÉÉN kopie van de ingewikkelde pagina in de huidige pagina in. Ideaal voor watermerken, sjabloon-overlays en workflows van het type "stempel één pagina op vele". Het bestemmingsobject op de pagina kan worden gepositioneerd, geschaald en geroteerd viaFPDFPageObj_SetMatrixen deTPdfMatrix-helpers.- Paginabeheer - Voeg pagina's toe, verwijder ze en manipuleer afzonderlijke pagina's;
AddPage(0, ...)voegt de allereerste pagina in en activeert deze onmiddellijk- Paginavakken - Lees en schrijf MediaBox, CropBox, BleedBox, TrimBox en ArtBox op de huidige pagina
- Catalog-taal - Lees en schrijf de documenttaal die in de /Lang-entry van de catalog is opgeslagen
- Trailer-bestands-ID's - Lees de permanente en wijzigende trailer-/ID-entries als binaire bytes
- JavaScript-acties op documentniveau - Som JavaScript-actienamen en -scripts op uit de name-tree op documentniveau
- Tagged PDF-structuurboom - Inspecteer logische structuurelementen, toegankelijkheidstekst, taal, marked-content-ID's en hiërarchie voor tagged PDF-pagina's
- Viewer-voorkeuren - Lees
PrintCopies,PrintPageRanges,PrintScalingenPrintPaperHandlinguit de viewer-preference-dictionary van het document; opgeslagen PDF's krijgen standaard een Fit Height-openingsactie voor de eerste pagina
Tekstbewerkingen
- Tekstextractie - Extraheer tekst uit PDF-pagina's met precisie op karakterniveau via de eigenschappen
Text,TextInRectangle, indexedCharacter,CharacterRectangleenCharacterOrigin- Leeseenheden per zin - TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits en BuildReadingUnits leveren zin-grote TPdfReadingUnit-records voor gesynchroniseerd TTS-luisterlezen
- Woord-voor-woord leesmarkering -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowKoppelt een paginakarakterpositie aan de bijbehorende TPdfWordBox, markeert die en geeft de woordindex terug; Markeert een TPdfWordBox als huidig uitgesproken woord in TPdfView; Wist de huidige overlay voor de woord-voor-woord leescursor in TPdfView; Bepaalt de overlaykleur voor de huidige woord-voor-woord leescursor; Bepaalt of TPdfView het huidige uitgesproken woord in beeld schuift tijdens leestracking- Orkestratie van hardop-leessessies -
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageCharenEstimateSpokenWordIndexcoördineren host-TTS-engines, uitgesproken chunks, woordpositie-callbacks, geschatte timing, pauze-/hervattingsafhandeling en TPdfView-woordcursor-updates- Tekst zoeken - Vind tekst met opties voor hoofdletter-/kleinletter-onderscheid, hele woorden en aaneengesloten zoeken via
FindFirst,FindNextenFindPrevious- Overlay voor zoek-markering -
TPdfView.HighlightSearchTextscant de huidige weergavepagina en schildert bij elke redraw een echte alpha-blendedHighlightColor-overlay over elke match. De methode retourneert het aantal matches.ClearHighlightverwijdert de overlay; bij navigatie naar een andere pagina wordt deze automatisch gewist omdat matches paginaspecifiek zijn.HighlightColoris standaardclYellowen is published, zodat toepassingen deze kunnen aanpassen.- Karaktereigenschappen - Toegang tot lettergrootte, gewicht, hoek en positionering voor afzonderlijke karakters met de indexed eigenschappen
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHyphenenCharacterMapError- Ondersteuning voor Europese tekens -
AddTextlaadt en cachet automatisch het bijbehorende TrueType-systeemlettertype voordat een tekstobject wordt aangemaakt. Hierdoor worden accenttekens in het Tsjechisch, Frans, Duits, Spaans, Portugees, Pools en Turks — die de ingebouwde standaard-fonts van PDFium niet kunnen weergeven — nu correct weergegeven zonder enige codewijziging- Tekst toevoegen - Voeg nieuwe tekst toe aan PDF-pagina's met aangepaste fonts, kleuren, transparantie en rotatie
- Positionering van tekstobjecten - Stel per-karakterposities in voor bestaande tekstobjecten via
SetTextPositionsenTPdfSingleArray- Font-informatie - Haal font-eigenschappen op zoals familienaam, embedding-status, italic-hoek, ascent / descent en ruwe font-data per pagina-object
Annotatie-ondersteuning
- Annotatietypen - Ondersteuning voor tekst-, link-, highlight-, onderstreping-, doorstreping- en vele andere annotatietypen
- Annotatie-creëring - Maak programmatisch nieuwe annotaties aan
- Annotatie-bewerking - Pas eigenschappen van bestaande annotaties aan, inclusief kleur, transparantie en inhoud
- Linkannotaties - Verwerk interne en externe links met ondersteuning voor acties
Formulier-ondersteuning
- Accessors voor formulierinvulling via spraak - FocusedFormFieldValue, FocusedFormFieldName en FocusedFormFieldDetails op TPdf en TPdfView geven waarde, naam en TPdfFormFieldInfo van het huidige logische formulierveld voor toetsenbord- of spraakgestuurde invoer
- Formuliertypen - Ondersteuning voor AcroForm- en XFA-formulieren
- Formulieren invullen - Interactief formulieren invullen met JavaScript-ondersteuning
- V8-DLL-selectie - Stel
EnableV8Enginein vóór het laden ompdfium.v8.dlluit de bijbehorende mapDLLs\Win32ofDLLs\Win64te gebruiken en vraag de beschikbaarheid van V8/XFA-helpers op viaV8FeaturesAvailable,XfaBStrHelpersAvailableenGetRecommendedV8Flags- Veldtoegang - Lees en schrijf waarden van formuliervelden op basis van index of positie
- Veldinformatie - Toegang tot veldtype, flags, naam en andere eigenschappen
- Veld-flags - Werk AcroForm-veld-flags bij op basis van index of positie via
SetFormFieldFlags/SetFormFieldFlagsAt, inclusief flags voor alleen-lezen, vereist, wachtwoord en multi-select- Formulieren afvlakken -
GenerateFormAppearancesregenereert de /AP appearance stream voor elk formulier-widget op elke pagina, enFlattenPage/FlattenAllPagesbakken annotaties en formuliervelden in als statische pagina-inhoud (niet meer bewerkbaar)- Tekstselectie en ongedaan maken / opnieuw uitvoeren voor formulier-widgets - Op het gefocuste AcroForm-widget biedt de viewer
GetSelectedFormText(momenteel geselecteerde tekst),SelectAllFormText(alle karakters selecteren) enFormUndo/FormRedo/FormCanUndo/FormCanRedo(om de per-widget edit-geschiedenis van PDFium aan te sturen). Alle zes vallen veilig terug wanneer de viewer inactief is of geen widget gefocust is.
Afbeeldingsbewerkingen
- Afbeeldingen extraheren - Extraheer bitmaps uit PDF-pagina's met de indexed eigenschap
Bitmap; itereer overBitmapCountom elke afbeelding op schijf op te slaan- JPEG-invoeging -
AddJpegImageneemt een TStream met ruwe JPEG-bytes in en embedt de afbeelding als een /DCTDecode XObject zonder opnieuw te coderen- Picture-ondersteuning -
AddPictureaccepteert eenTPicture-object met automatische formaatconversie via de geregistreerde grafische klassen van VCL/LCL- Directe invoeging van afbeeldingen -
AddImage(FileName)herkent elk formaat dat is geregistreerd bij de VCL- of LCL-grafische units (BMP, PNG via PngImage, JPG, ...) en deelt de AddPicture-pijplijn.AddImage(TBitmap)slaat de tussenstap via TPicture over, wat aanroepers vereenvoudigt die al een TBitmap hebben uit rendering- of batch-generatiewerk.- ICC-profiel van afbeeldingen - Image-pagina-objecten geven hun ingebedde ICC-profielgegevens prijs wanneer aanwezig (binding voor
FPDFImageObj_GetIccProfileDataDecoded)- Miniatuur-generatie - Genereer miniatuur-bitmaps van pagina's via de eigenschap
Thumbnailof render elke één-gebaseerde pagina viaTPdf.RenderPageThumbnailzonderPageNumberte wijzigen
Helper-units
- Async-infrastructuur -
FPdfAsyncbiedtIPdfCancellationToken/IPdfCancellationTokenSourcevoor coöperatieve cancel-from-UI-semantiek, een herbruikbare singletonPdfNoCancellationTokenen een lichte helperTPdfFuture<T>die een worker op een achtergrondthread draait en een envelop van typeTPdfFutureResult<T>terugstuurt naar de hoofdthread, waarbij onderscheid wordt gemaakt tussen succes, annulering en faalgevallen- Stream-adapter -
TPdfStreamAdapteroverbrugt een Pascal-TStreamnaar deFPDF_FILEACCESS-callbacks van PDFium, zodatLoadCustomDocumentblokken op aanvraag leest in plaats van de volledige PDF in het geheugen te bufferen- Matrix-compositie -
FPdfMatrixwikkelt deFS_MATRIXvan PDFium in met een OO-API voorTranslate,Scale,Rotate,HorizontalFlip,VerticalFlip,CentralFlip,SkewenMultiply.Multiplymaakt een snapshot van de zes matrix-elementen voordat de nieuwe rij-waarden worden berekend, waarmee de valkuil van alternatieve Pascal-implementaties wordt vermeden waarin eerdere elementen tijdens dezelfde aanroep worden overschreven en onjuiste composities opleveren.- Annuleerbare progressieve rendering -
TPdf.RenderPageProgressivedrijft de lusFPDF_RenderPageBitmap_Start+RenderPage_Continuevan PDFium aan en peilt tussen iteraties eenIPdfCancellationTokenvia deIFSDK_PAUSE-callback, zodat lange high-DPI-renders halverwege de pagina kunnen worden afgebroken in plaats van te blokkeren tot ze klaar zijn. Retourneert eenTPdfProgressiveStatusvanprsDone,prsCancelledofprsFailed.- Zero-copy renderpad -
RenderPage/RenderTile/RenderPageProgressiveschrijven de PDFium-uitvoer rechtstreeks in de DIB-buffer van de bestemmings-TBitmapin plaats van te stagen via een interne buffer. Hiermee wordt één geheugenkopie van width × height × 4 bytes per render bespaard — het meest merkbaar bij hoge DPI (miniatuurpanelen, export in printkwaliteit, batchexport). Een fallback-pad per scanline blijft behouden wanneer de bestemmings-DIB niet veilig kan worden gewikkeld.- Bitmapkleurtransformaties voor low vision - InvertPdfBitmap, GrayscalePdfBitmap en DuotonePdfBitmap transformeren gerenderde 32-bits TBitmap-pixels ter plekke voor geïnverteerde, grijze of tweekleurige low-vision weergaven
- Live low-vision-weergave -
TPdfView.OptionsondersteuntreInvertenreNightDuotone, metNightDuotoneInkenNightDuotonePapervoor de live nachtkleuren voordat overlays worden getekend
Tekenbewerkingen
- Paden tekenen - Maak paden met lijnen, Bézier-curven en gesloten vormen
- Objecten verwijderen - Verwijder pagina-objecten en regenereer pagina-inhoud vanuit TPdf of TPdfView
- Fill en stroke - Configureer fill-modus, kleuren, transparantie en stroke-eigenschappen
- Blend-modi - Ondersteuning voor diverse PDF-blend-modi
- Lijnstijlen - Configureer line cap, line join en stroke-breedte
Digitale handtekeningen
- Handtekening-detectie - Detecteer en som digitale handtekeningen in PDF-documenten op
- Handtekening-informatie - Toegang tot inhoud, byte range, sub-filter, reden en tijd van een handtekening
- MDP-rechten - Vraag rechten op voor detectie en preventie van documentwijzigingen
Ondersteuning voor bijlagen
- Toegang tot bijlagen - Lees, maak, wijzig en verwijder ingebedde bestandsbijlagen
- Namen van bijlagen - Toegang tot bestandsnamen van bijlagen
- Bijlage-typen - Lees MIME-subtype-waarden van ingebedde bestanden wanneer aanwezig
- Bladwijzers - Navigeer door documentbladwijzers met hiërarchische ondersteuning via de array
Bookmarks,BookmarkChildren,HasBookmarkChildrenen de traversal-helperBookmarkFrom- Benoemde bestemmingen - Toegang tot benoemde bestemmingen op basis van index of naam via
Destination,DestinationByNameenDestinationCount- Pagina-labels - Haal pagina-labels op voor elke pagina via
PageLabel; nuttig wanneer documenten Romeinse cijfers gebruiken voor inleidende delen- Weblinks - Detecteer en navigeer naar weblinks op pagina's met
WebLink,WebLinkCountenTPdfView.WebLinkAtPos- Linkannotaties - Toegang tot linkannotaties met actie- en bestemmingsinformatie via
LinkAnnotation,LinkAnnotationCountenTPdfView.LinkAnnotationAtPos- Veilige afhandeling van link-clicks - TPdfView triggert de events
OnAnnotationLinkClick/OnWebLinkClickvóór de automatische goto / URI-afhandeling, terwijl launch-acties standaard zijn uitgeschakeld. Linkclick-detectie loopt alleen wanneer het gebaar een klik is in plaats van een sleep, met behulp van een vers MouseDown-anker, zodat panning-gebaren nog steeds via het bestaande scrollpad lopen.
Rendering
- Hoogwaardige rendering - Render pagina's naar device context, bitmap of tile via
RenderPage/RenderTile, met zero-copy directe writes in de DIB-buffer van de bestemming- Annuleerbare progressieve rendering -
RenderPageProgressivedrijft de progressieve lus van PDFium aan en peilt tussen iteraties eenIPdfCancellationToken, en retourneertprsDone,prsCancelledofprsFailed. De bitmap bevat het tot dusverre voltooide gedeeltelijke werk bij annulering.- Render-opties - LCD-tekstoptimalisatie (
reLcd), annotaties (reAnnotations), grijswaarden en print-modus-flags- Skia-hooks - Low-level bindings
FPDF_RenderPageSkiaenFPDF_FFLDrawSkiazijn beschikbaar wanneer aanroepers een externe SkCanvas leveren (afhankelijk van de meegeleverde DLL-exports)- Selectie van afdrukmodus - Stel via
SetPdfPrintModemetTPdfPrintModein: EMF, alleen-tekst, PostScript, pass-through, image-mask en Type 42 PDFium-printmodi- Async-overlay - TPdfView kan een opt-in laad-overlay tonen terwijl door de toepassing beïnvloede workers renderen met aparte TPdf-instances
- Pagina-rotatie - Ondersteuning voor rotatie van 0, 90, 180 en 270 graden (
ro0,ro90,ro180,ro270)- Transparantie-detectie - De eigenschap
Transparentmeldt of een object op de huidige pagina transparantie heeft, inclusief blend-modi en gedeeltelijke alpha
Weergeven (TPdfView)
- Weergavemodi -
dmSingleContinuous,dmTwoPageContinuousendmTwoPageContinuousWithCover(de omslagpagina staat op zichzelf, gevolgd door twee-pagina-spreads). De unit-level helperComputeSpreadPagesstelt de spread-pagina-berekening beschikbaar zonder een viewer te instantiëren.- Fit-modus -
FitModebepaalt hoe de pagina in de viewport past:pfmNone(handmatig zoomen),pfmActualSize(100%),pfmFitPage(hele pagina past in de viewport) enpfmFitWidth(paginabreedte komt overeen met viewport-breedte). De actieve fit-modus wordt automatisch opnieuw toegepast bij Resize en bij wijziging van de huidige pagina; het direct instellen van Zoom annuleert de actieve fit-modus (FitMode keert terug naarpfmNone), conform de standaard PDF-viewer-conventie.- Zoom-bediening - Variabele zoom met de per-pagina helpers
PageZoom,PageWidthZoom,PageHeightZoomenActualSizeZoom- Paginakleur -
PageColorontkoppelt de gerenderde PDF-pagina-achtergrond van deColorvan de omringende control. De standaardwaarde isclWhite, zodat PDF-pagina's nu papierwit worden gerenderd ongeacht het thema van de host-toepassing. Donkere-thema viewers kunnen het scrollgebied donker houden terwijl de feitelijke PDF-pagina wit blijft (of een willekeurige kleur die de toepassing kiest).- Interactieve tekstselectie - Eindgebruiker-tekstselectie door slepen op PDF-pagina's, met hit-test die automatisch wisselt tussen selectie en pannen: klikken op een karakter start een selectiesleep, klikken op witruimte zorgt voor pannen. Dubbelklik selecteert het woord, drievoudige klik selecteert de regel,
Ctrl+Aselecteert de pagina (beide pagina's in spread-modus),Ctrl+Ckopieert alsCF_UNICODETEXT,Shift+pijltjesbreidt de selectie uit, hoveren over tekst verandert de cursor incrIBeamen slepen tot de rand van de viewer scrollt de pagina automatisch. Nieuwe publishedSelectionColorenOnSelectionChange; nieuwe publicHasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAllenCopySelectionToClipboard. Spread-weergavemodi selecteren over beide zichtbare pagina's met CR/LF-aaneenschakeling. Een standaard rechtsklik-Copy-popup wordt automatisch gekoppeld wanneer de host geen eigenPopupMenuheeft toegewezen. Gated door de v1.17.0-flagAllowUserTextSelectionvoor kiosk-hosts.- Coördinaten-mapping - Converteer tussen viewer-device-coördinaten en PDF-pagina-coördinaten met
DeviceToPage/PageToDevice, inclusief overloads die eenTRectnemen en eenTPdfRectangleretourneren- Tekstselectie en hit-testing - Bepaal karakters onder viewer-punten met
CharacterIndexAtPosen schilder tekstselectie-markeringen viaPaintSelection- Muis en toetsenbord - Volledige ondersteuning voor invoerapparaten met muis-drag-scrolling, sneltoetsen PgUp / PgDn / Ctrl+Home / Ctrl+End en paginanavigatie via wheel-up / wheel-down. Ctrl+wheel is gereserveerd voor zoom in de toepassing en wordt overgeslagen door de navigatie-handler.
- Vergrendeling van gebruikersinvoer -
AllowUserPageChangebestuurt toetsenbord-pagina-sneltoetsen,ChangePageOnMouseScrollingbestuurt wiel-pagina-sprongen enAllowUserTextSelectionbestuurt muis-/toetsenbord-tekstselectie-invoer. Alle drie staan standaard op True; zet ze op False om kiosken, preview-panes of alleen-lezen embeds te vergrendelen zonder subclassing.- Async render-overlay -
AsyncRendering,LoadingTextenLoadingColortekenen een kleine "Loading..."-indicator over de gerenderde pagina, zodat toepassingen die hun eigen worker gebruiken voor lange renders een consistente visuele uitstraling delen. Standaardwaarden behouden bestaand gedrag.TPdfserialiseert nu render- en pagina-unload-aanroepen per instance; toepassingen blijven verantwoordelijk voor worker-dispatch en moeten vermijden een document te muteren terwijl een render onderweg is.- Veilige afhandeling van link-clicks -
LinkOptionsis een published set die het automatische gedrag bestuurt voor de vier PDF-link-actietypen:loAutoGoto(paginasprong),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) enloAutoEmbeddedGoto(gereserveerd). Standaardwaarden activeren alleenloAutoGotoenloAutoOpenURI;loAutoLaunchenloAutoEmbeddedGotoblijven uitgeschakeld, zodat een per ongeluk klik geen willekeurig programma kan uitvoeren.OnAnnotationLinkClickenOnWebLinkClickvuren vóór elke automatische actie en laten de toepassing het event als Handled markeren of omleiden.- Formulier-interactie - Interactieve formulierbewerking binnen de viewer, plus de v1.23.0-helpers voor selectie / ongedaan maken / opnieuw uitvoeren
- Visuele styling -
PageShadowSize,PageShadowColorenPageBorderColorschilderen een optionele slagschaduw onder de paginarechthoek en een rand van één pixel eromheen;SmoothScrollanimeert nu line/page-scrollbar-commando's in timer-gedreven segmenten terwijl thumb-tracking onmiddellijk blijft- Miniatuur-navigatie -
TPdfThumbnailView(unitFPdfThumbnail) rendert één paginaminiatuur per rij in een scrollbaar zijpaneel met hover- en selectie-markering plus click-to-go-navigatie. Ontworpen om naast een TPdfView te plaatsen. Eigenschappen:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; event:OnPageClick.
Compressie
- Automatische compressie - Wanneer de eigenschap
CompressedTrue is (standaard), worden bij het opslaan alle PDF-streams gegarandeerd FlateDecode-gecomprimeerd- Nabewerking - De compressie-engine scant de opgeslagen PDF-data en comprimeert eventuele ongecomprimeerde streams met zlib maximale compressie
- Cross-reference rebuild - Herbouwt automatisch de xref-tabel wanneer stream-compressie byte-offsets verandert
- Geen overhead - Indien alle streams al zijn gecomprimeerd, gaat de data ongewijzigd door
Beveiliging
- Wachtwoord-ondersteuning - Open met wachtwoord beveiligde PDF-documenten
- Rechten - Lees document- en gebruikersrechten; de demo
SecurityAuditcombineert rechten, bijlagen, document-JavaScript, URI- / Launch-links, handtekeningen, XFA en V8-beschikbaarheid in een alleen-lezen risico-oppervlak met opties om TXT-/JSON-rapporten op te slaan en TXT te kopiëren- Beveiliging verwijderen - Sla documenten op met beveiliging verwijderd (indien geautoriseerd)
Afdrukken
- Print-modi - Kies tussen EMF, alleen-tekst, PostScript Level 2 / 3, PostScript pass-through, EMF image-mask en Type 42 print-modi via de globale functie
SetPdfPrintMode- Viewer-voorkeuren - Stel de intentie van de documentauteur ter beschikking via
PrintCopies,PrintPageRanges(one-based paginabereiken),PrintScalingenPrintPaperHandling;SetPdfPrintPaperHandlingDevModevertaalt de duplex-hint naar WindowsDEVMODE.dmDuplex- N-up afdrukken - De Delphi-, C++Builder- en Lazarus-demos
PrintPreferencestonen N-up sheet-compositie (1 / 2 / 4 / 9 pagina's per blad) met filtering van oneven / even pagina's, grijswaarden-rendering, optionele celranden van 1 pixel, PDF-auteur-printvoorkeuren en mapping van duplex-intentie viaSetPdfPrintPaperHandlingDevMode
Meegeleverde demo's
De mappen
Demo\Delphi,Demo\CBuilderenDemo\Lazarusbevatten uitvoerbare voorbeeldprojecten die de live API-oppervlakte oefenen over alle drie IDE-families. Hoogtepunten:
- PDFViewer / MultiPageViewer / SplitView - End-to-end TPdfView-gebruik: laden, navigeren, zoomen, roteren, twee-pagina-spread, omslag-bewuste lay-outs en Delphi-/ C++Builder-/ Lazarus-PDF-vergelijking naast elkaar met gesynchroniseerde commando's; de viewer-demo's zijn ook praktische snelheidstesten voor PDF's van meerdere gigabytes, waarbij documenten van 2,x GB bijna onmiddellijk een bruikbare eerste weergave kunnen bereiken terwijl pagina-rendering responsief blijft
- ViewerInteractionLab - Delphi-, C++Builder- en Lazarus-voorbeelden gericht op TPdfView-interactie voor weergavemodi, fit-modi, paginakleuren, rotatie, zoek-markering, tekstselectie, voorbeeld van geselecteerde tekst, klembordacties en DeviceToPage-coördinaten-feedback
- SearchAndSelect - Delphi-, Lazarus- en C++Builder-voorbeelden voor zoekresultaten over alle pagina's, navigatie naar vorige / volgende match, springen naar resultaten via dubbelklik,
HighlightSearchText, hoofdletter-/heel-woord-zoeken,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelectionen spread-weergavemodi- PreflightReport - Delphi-, Lazarus- en C++Builder-workflow-demo's plus een Delphi-console-metgezel rond herbruikbaar
FPdfPreflightReport, die PDF/A-, PDF/UA-, PDF/E-, PDF/X-, PDF/R- en PDF/VT-validatieresultaten verzamelt in status, prioriteit, probleem-categorie, categorie-tellingen, samenvattingsrijen voor de volgende actie, aanbevelingen voor problemen, voorvertoning in tekst / Markdown / JSON / CSV, rapporten in TXT / HTML / Markdown / JSON / CSV, scriptable rapportgeneratie, batchlijst- en mapverwerking met routing naar rapportmap, aggregaat-samenvattingen in TXT / JSON / HTML, CSV-rijmanifesten, optionele inbedding van rapport-bijlagen en exitcodes voor CI-gating- ContentExtractionLab - Delphi-, Lazarus- en C++Builder-werkproces voor uniforme inhoudsinventarisatie, met documentmetadata, paginatekst, pagina-objecten, afbeeldingen, bijlagen, links, annotaties, bladwijzers en font-/karaktermetrics, met TXT-/JSON-export, alle / geen categorie-selectie, bron-PDF-opslag en rapport-kopie-acties
- WatermarkStamp - Delphi-, Lazarus- en C++Builder-herbruikbare Form XObject-workflow voor gecentreerde watermerken, hoekstempels en paginanummerlabels over een doel-PDF met meerdere pagina's
- CreatePDF - Bouw een PDF met meerdere pagina's vanaf nul met tekst, afbeeldingen, paden, tabellen en watermerkcompositie; bevat een 'European Text'-optie om Tsjechische / Franse / Duitse / Spaanse / Portugese / Poolse / Turkse tekst met accenten te schrijven voor het verifiëren van font-selectie en Unicode-afhandeling
- ExtractText / ExtractImages / ContentExtractionLab - Sla geëxtraheerde tekst (inclusief uitvoer gescheiden per pagina) of ingebedde afbeeldingen op schijf op; of genereer in één keer een inventarisatierapport met meerdere categorieën
- FormFill - Lees AcroForm-veld-metadata, schrijf waarden, regenereer /AP-appearances en sla het bewerkbare of het afgevlakte resultaat op
- FontProperties - Inspecteer indexed karakter-/font-metadata via zowel TPdf als TPdfView in Delphi, C++Builder en Lazarus
- MergePDF / SplitPDF - Combineer meerdere bron-PDF's (met paginabereik-selectie per bestand, optioneel uitvoerpad, uitvoeringslog, annuleerknop en samenvoeg-voltooiingssamenvatting) of splits één PDF in uitvoerbestanden per pagina
- PDFtoJpg / BatchExport - Delphi-, C++Builder- en Lazarus-one-shot of batch-PDF-naar-JPG-conversie met overall-progress per bestand, current-progress per pagina, invoer voor DPI / kwaliteit / wachtwoord en een coöperatief annuleerbare batch ondersteund door
IPdfCancellationToken- StandardsLab - Delphi-, C++Builder- en Lazarus-workflow-voorbeelden voor PDF/A-, PDF/UA-, PDF/E-, PDF/X-, PDF/R- en PDF/VT-validatie, problemenrapportage en standaards-georiënteerde save-uitvoer
- PrintPDF / PrintPreferences - Delphi-, C++Builder- en Lazarus-standaard PDF-afdrukken met preview, paginabereiken, kopieën, sorteren, voortgang en annulering (PrintPDF), plus Delphi-, C++Builder- en Lazarus-N-up sheet-compositie met oneven/even-filtering en PDF-auteur-printvoorkeuren (PrintPreferences)
- SecurityAudit - Delphi-, C++Builder- en Lazarus-alleen-lezen risico-oppervlak-voorbeelden voor rechten, bijlagen, JavaScript-acties, URI-/Launch-links, weblinks, handtekeningen, XFA-status, beschikbaarheid van V8-/XFA-helpers en TXT-/JSON-auditrapporten
- Attachment - Maak PDF's, voeg ingebedde bestandsbijlagen toe / vermeld ze / extraheer ze / verwijder ze / sla ze op met weergave van MIME-subtype
- ImageToPDF - Delphi-, C++Builder- en Lazarus-batchconversie van afbeeldingen naar één PDF, één afbeelding per pagina, met preview en per-image progress
De regressiesuites voor Delphi, C++Builder en Lazarus dekken 147 (Pas) / 123 (C++) cases die dezelfde fixture-PDF's delen, zodat het gedrag byte-uitgelijnd blijft over alle drie IDE-families.
Platform-ondersteuning
- Delphi - Delphi XE5 (RAD Studio XE5) tot en met Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder - C++Builder XE5 (RAD Studio XE5) tot en met C++Builder 13.1 Florence
- Lazarus - Free Pascal / Lazarus-ondersteuning
- Win32 / Win64 - Zowel 32-bit- als 64-bit-Windows-platforms