Kärnkomponenter
- TPdf - Huvudkomponenten för PDF-dokumenthantering: öppna, navigera, extrahera text och redigera PDF-dokument
- TPdfView - Visuell komponent för att visa och interagera med PDF-sidor
- TPdfReadingSession - Orkestreringskomponent för uppläsning som driver värdens TTS-motorer och TPdfView:s ordspårning
- TPdfThumbnailView - Rullbar sidopanel med miniatyrbilder för sidnavigering
- Native LCL Platforms - Linux Qt6 och macOS Cocoa använder nativ PDFium, korrekta LP64-bindningar, plattformens typsnitts- och filtjänster samt faktiska bitmappskanal-layouter; se nativ installation för de kvalificerade Free Pascal/LCL-konfigurationerna och kapacitetsgränserna
Dokumentoperationer
- Dokumentinläsning - Läs in PDF-filer från disk, minnesströmmar, kompletta bytearrayer, nollbaserade
Index/Count-fönster i bytearrayer eller on-demand TStream-adaptrar viaLoadCustomDocument. Policys compatible, strict och recovery ger avgränsad diagnostik för klassisk, hybrid och xref-ström utan att byta ut PDFiums semantiska parser- Verifierad reparerad utdata -
SaveAsRepairedskapar en fullständig kopia med en enda revision och läser strict-verifierat om dess xref och sidstruktur oberoende innan byte returneras eller en fil ersätts atomärt- Typiserad objektgraf -
ExportObjectGraphproducerar avgränsad typiserad JSON för direkta värden och objektströmvärden, medanSaveAsObjectGraphPatchedapplicerar validerade ändringar på toppnivå i ordboken som en etapperad inkrementell revision och läser om resultatet strikt innan det levereras- Lösenordsskydd - Öppna lösenordsskyddade PDF-dokument och rapportera effektiva
UserPermissionsför den autentiserade sessionen- Dokumentskapande - Bygg nya PDF-dokument från grunden med
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageochCreatePath- Dokumentsparande - Spara ändrade dokument med olika alternativ (inkrementellt, ta bort säkerhet) och explicita PDF-versionsmål från PDF 1.0 till och med PDF 1.7
- PDF/A-1b-utdata -
SaveAsPdfA/SaveAsPdfAToStreamefterbearbetar bassparningen med en inkrementell uppdatering som injicerar en XMP-metadataström, en sRGB ICC OutputIntent och en uppdaterad dokumentkatalog så att resultatet är PDF/A-1b-konformt. Anpassade ICC-profiler stöds viaTPdfASaveOptions.IccProfileData- PDF/A-validering -
ValidatePdfAoch den skrivskyddade egenskapenPdfAConformancegenomsöker ett öppet dokument efter XMP-pdfaid-markörer, OutputIntent med inbäddad ICC, förekomst av kryptering, och rapporterar konformansnivån (pac1a,pac1b,pac2b,pac3b,pacNoneellerpacUnknown) plus en lista medTPdfAValidationIssue-poster som beskriver varje upptäckt problem- PDF-versionsvaliderare - När SaveAs riktar sig mot PDF 1.0 till PDF 1.7 avvisar skrivaren varje ordbokspost, filter, annoteringsundertyp, åtgärdstyp, typsnitt, färgrymd eller krypteringsparameter som infördes efter den valda målversionen (t.ex. JBIG2Decode, MarkInfo, OutputIntents, AES / AES-256, Polygon / Caret / Watermark / Redact-annoteringar, JavaScript / Trans / SetState-åtgärder)
- Strömkomprimering - Automatisk FlateDecode-komprimering säkerställer att alla PDF-strömmar komprimeras optimalt vid sparande; sätt
Compressed := Falseför att stänga av det i felsökningspipelines- Skalbar batchsammanslagning -
MergeFilesläser in filbaserade källor med sidintervall och lösenord per källa, håller högst ett källdokument öppet och exponerar status, avbrytning, stopp- eller hoppa över-hantering, återställning samt policys för formulär, disposition, resurser och visarinställningar- Import av sidundermängd -
ImportPagesByIndexkopierar en explicit nollbaserad indexarray från ett källdokument, med InsertAt = 0 för att infoga före sida 1 eller InsertAt = PageCount för att lägga till sist. Skicka en tom indexarray för att importera varje källsida- N-up-sammansättning -
ImportNPagesToOnereturnerar en helt nyTPdfvars sidor är NumX×NumY-sammansättningar av källdokumentets sidor, dimensionerade i PDF-användarenheter (1 enhet = 1/72 in)- Omordning av sidor -
MovePagesordnar om sidor på plats med en nollbaserad indexarray och ett målindex för den första flyttade sidan- Validering av sidplan -
ValidatePagePlanförhandsvisar mappningar för borttag, flytt, infogning, delning och sammanslagning, inventerar effekter på navigering, etiketter, formulär, strukturträd, importerade funktioner och signaturer, och avvisar planer som skulle lämna hängande mål eller ändra signerat innehåll utan uttryckligt tillstånd- Tvåpass-layoutgenerering -
GenerateLayoutmäter och paginerar omsluten text, linjer, bilder, sid-XObjects, sidhuvuden och sidfötter innan nativa sidobjekt sänds ut atomärt, medan stabila platshållare{page}och{pages}bevarar det uppmätta sidantalet- Diskbaserad paginerad layout -
GeneratePagedLayoutskriver kommandon till anroparens valda sökbara lagring, återskapar varje sida från kompakta icke-sammanhängande segment, avgränsar behållna sidarrayer med en LRU-cache och lägger till PDFium-sidor sekventiellt- Tabellayout över sidgränser -
TPdfLayoutTablelöser fasta, fraktionerade och innehållsberoende kolumner en gång, upprepar sammanhängande rubrikrader, delar kvalificerade bodyrader, håller grupper med radspann intakta och sänder ut bildtexter, cellramar, länkar och en sammanhängande semantisk hierarki Table / TR / TH / TD över sidorna- Cachade layoutnoder - Layoutplan cachas efter fullständiga identiteter för villkor, innehåll, typsnitt, stil, källa och mätare, medan
TPdfLayoutCachedNodebygger upprepade mallar lazy och sänder ut varje placering från ett återanvändbart nativt Form XObject- Automatisk Tagged PDF-layout -
GenerateTaggedLayoutsänder ut nativa MCID:er, artifacts, ett Document-strukturträd, ParentTree- och IDTree-mappningar, rubriker, listor, figurer med alternativ text, tabellrubriker och Link-annoteringar med OBJR-ägarskap från samma uppmätta layoutplan; villkor för poster håller ihop block och rubriker, upprätthåller minimigränser för änka / föräldralös och tvingar fram fysiska sidbrytningar- Redigering av märkt innehåll -
PageObjectMarks,AddPageObjectMark,SetPageObjectMarkParam,RemovePageObjectMarkParamochRemovePageObjectMarkinspekterar och muterar BDC-egenskapslistor via stabila nativa markörer- Bidi- och komplexskripttext -
AddShapedTextomvandlar riktningsburna sekvenser, kontextuella former, ligaturer, advances och offsets till positionerade CID Type 2-glyfer, medan genererade ToUnicode-mappningar ochActualTextbevarar den logiska Unicode-semantiken- Typsättning av CID Type 2-typsnitt -
AddCidType2Textbäddar in anroparen tillhandahållna TrueType-data med explicita CID-till-GID- och ToUnicode-mappningar, säker valfri subsetting, kontrollerad fallback med hela typsnittet och integritetskontroller vid extraktion- Enhetlig bytebudget för cache -
TPdf.CacheBudgetBytessamordnar parsade sidscener, miniatyrbilder, strukturdata, textögonblicksbilder och ögonblicksbilder av sidobjekt genom en enda mätbar global LRU, medanTPdfTileCacheoch systemtypsnittscachen kan ansluta till en av anroparen vald governor- Leverantör av systemtypsnitt -
ConfigureSystemFontProviderstyr nativa begäranden om saknade typsnitt genom en applikationsleverantör med bytevalidering, avgränsad LRU-cachning, valfri delad bytestyrning, nativ fallback, tabullextraktion och livscykelstatistik- Återanvändning av Form XObject-sidor -
CreateXObjectFromPageframställer ett återanvändbartTPdfXObject-handle från valfri sida i ett annat dokument;InsertFormObjectFromXObjectinfogar EN kopia av den omslagna sidan på den aktuella sidan. Idealiskt för vattenstämplar, mallöverdrag och arbetsflöden av typen "stämpla en sida på många". Målsidans objekt kan placeras, skalas och roteras viaFPDFPageObj_SetMatrixochTPdfMatrix-hjälpmetoderna- Sidhantering - Lägg till, ta bort och manipulera enskilda sidor;
AddPage(0, ...)infogar den allra första sidan och aktiverar den omedelbart- Sidlådor - Läs och skriv MediaBox, CropBox, BleedBox, TrimBox och ArtBox på den aktuella sidan
- Katalogspråk - Läs och skriv dokumentets språk som lagras i katalogposten /Lang
- Trailerfilidentifierare - Läs permanenta och växlande trailerposter /ID som binära byte
- Dokumentets JavaScript-åtgärder - Räkna upp åtgärdsnamn och skript i dokumentets JavaScript-namnträd
- Tagged PDF-strukturträd - Inspektera logiska strukturelement, tillgänglighetstext, språk, ID:n för märkt innehåll och hierarkin för taggade PDF-sidor
- Visarinställningar - Läs
PrintCopies,PrintPageRanges,PrintScalingochPrintPaperHandlingfrån dokumentets ordbok för visarinställningar; sparade PDF-filer har som standard en open action som öppnar första sidan med anpassad höjd
Textoperationer
- Textextraktion - Extrahera text från PDF-sidor med precision på teckennivå via
Text,TextInRectangleoch de indexerade egenskapernaCharacter,CharacterRectangleochCharacterOrigin- Strukturerad textmodell -
GetStructuredTextbygger en avgränsad hierarki med sida, block, rad och stylade span från nativ teckengeometri, typsnittsmetadata, identitet för textobjekt, Tagged PDF-semantik och fall-back-ordning efter fysisk layout- Tabellletning och -extraktion -
ExtractTablesochExtractDocumentTableskombinerar nativa ordlådor med transformerade linjerader för att hitta tabeller med kanter eller tomrumsjustering, bevara sammanslagna spann, poängsätta konfidens, markera sidfortsättningar och sända ut CSV eller JSON- Semantisk reflow och responsiv HTML -
BuildReflowDocumentkombinerar Tagged PDF-semantik, slutledning av fysisk layout och tabullextraktion till ett avgränsat återanvändbart nodträd vars säkra HTML-utdata bevarar rubriker, stycken, listor, figurer, sidavsnitt och tabellspan- Sökbart OCR-lager -
ApplyOcrSearchLayerskickar avgränsade sidrenderingar i BGRA uppifrån och ned till en applikationsleverantör, mappar konfidensfyrehörningar genom nativ sidgeometri och lägger till osynlig sökbar text utan att koda om scannede bilder- Läsenheter på meningsnivå - TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits och BuildReadingUnits exponerar meningsstora TPdfReadingUnit-poster för synkroniserad lyssningsläsning med TTS
- Markering av visuell rad -
TPdfView.SelectLineAtmarkerar den visuella textrad som innehåller ett 1-baserat sidnummer och ett 0-baserat teckenindex, via samma radgränsmodell som används av trippelklicksmarkering ochShift+HomeellerShift+End- Läsmarkering på ordnivå -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowMappar ett teckenoffset på sidan till den omgivande TPdfWordBox, markerar den och returnerar ordindexet; Markerar en TPdfWordBox som det aktuella upplästa ordet i TPdfView; Rensar TPdfView:s aktuella överlägg för läsmarkören på ordnivå; Styr överläggets färg för den aktuella läsmarkören på ordnivå; Styr om TPdfView rullar det aktuella upplästa ordet i sikte medan läsningen spåras- Orkestrering av uppläsningssession -
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageCharochEstimateSpokenWordIndexsamordnar värdens TTS-motorer, upplästa avsnitt, callbacks för ordposition, uppskattad takt, hantering av paus/fortsätt och ordmarköruppdateringar i TPdfView- Textsökning - Hitta text med alternativen skiftlägeskänslig, hel ord och sammanhängande via
FindFirst,FindNextochFindPrevious, eller strömma träffar framåt och bakåt genom hela dokumentet medTPdf.CreateDocumentSearch, resultatrektanglar i sidrum, kooperativ avbrytning och konstant minne för sidhandle- Överlägg för sökmarkering -
TPdfView.HighlightSearchTextersätter den aktuella sidans träfföverlägg, medanAddSearchTextHighlightlägger till unika intervall för ytterligare termer så att flera frågor kan vara synliga samtidigt.ClearHighlighttar bort hela uppsättningen; navigering till en annan sida rensar den automatiskt eftersom teckenintervall är sidspecifika.HighlightColorhar standardvärdetclYellowoch är publicerad så att applikationer kan tematisera överlägget- Teckenegenskaper - Läs typsnittsstorlek, vikt, vinkel och positionering för enskilda tecken med de indexerade egenskaperna
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHyphenochCharacterMapError- Stöd för europeiska tecken -
AddTextläser in och cachar automatiskt det matchande systemtypsnittet i TrueType-format innan ett textobjekt skapas, så att accenterade tjeckiska, franska, tyska, spanska, portugisiska, polska och turkiska tecken som PDFiums inbyggda standardtypsnitt inte kan återge nu renderas korrekt utan någon kodändring- Tillägg av text - Lägg till ny text på PDF-sidor med egna typsnitt, färger, transparens och rotation
- Positionering av textobjekt - Sätt teckenpositioner per tecken för befintliga textobjekt via
SetTextPositionsochTPdfSingleArray- Typsnittsinformation - Hämta typsnittsegenskaper som familjenamn, inbäddningsstatus, kursiv vinkel, ascent / descent och rå typsnittsdata per sidobjekt
Stöd för annoteringar
- Annoteringstyper - Stöd för text, länk, highlight, understrykning, genomstrykning och många andra annoteringstyper
- Skapande av annoteringar - Skapa nya annoteringar programmatiskt
- Redigering av annoteringar - Ändra befintliga annoteringars egenskaper, inklusive färg, transparens och innehåll
- Länkannoteringar - Hantera interna och externa länkar med stöd för åtgärder
Stöd för formulär
- Åtkomstatorer för röststyrd ifyllning av formulär - FocusedFormFieldValue, FocusedFormFieldName och FocusedFormFieldDetails på TPdf och TPdfView exponerar det aktuella logiska formulärfältets värde, namn och TPdfFormFieldInfo för tangentbords- eller röststyrd ifyllning av formulär
- Formulärtyper - Stöd för AcroForm- och XFA-formulär
- Ifyllning av formulär - Interaktiv ifyllning av formulär med stöd för JavaScript
- Val av V8-DLL - Sätt
EnableV8Engineföre inläsning för att användapdfium.v8.dllfrån motsvarande mappDLLs\Win32ellerDLLs\Win64och fråga efter tillgängliga V8-/XFA-hjälpare viaV8FeaturesAvailable,XfaBStrHelpersAvailableochGetRecommendedV8Flags- Fältåtkomst - Läs och skriv formulärfältvärden efter index eller position
- Fältinformation - Läs fälttyp, flaggor, namn och andra egenskaper
- Fältflaggor - Uppdatera AcroForm-fältflaggor efter index eller position via
SetFormFieldFlags/SetFormFieldFlagsAt, inklusive flaggorna skrivskyddad, obligatorisk, lösenord och flerval- Plattläggning av formulär -
GenerateFormAppearancesregenererar /AP-utseendeströmmen för varje formulärwidget på varje sida, ochFlattenPage/FlattenAllPagesbakar in annoteringar och formulärfält i statiskt sidinnehåll (icke redigerbart)- Textmarkering, urklipp samt ångra / gör om för formulärwidgets - På den fokuserade AcroForm-widgeten exponerar vyn
GetSelectedFormText,CopySelectedFormTextToClipboard,CutSelectedFormTextToClipboard,PasteFormTextFromClipboard,SelectAllFormTextochFormUndo/FormRedo/FormCanUndo/FormCanRedo. Editorn hanterarCtrl+A,Ctrl+C,Ctrl+Insert,Ctrl+X,Shift+Delete,Ctrl+VochShift+Insert; klipp ut och klistra in avvisar skrivskyddade fält eller sessioner utan tillstånd för formulärfyllning eller ändring- Transaktioner för dokumentredigering samt ångra / gör om -
BeginEditTransaction,CommitEditTransactionochRollbackEditTransactiongrupperar godtyckliga sid-, objekt-, annoterings-, bilage- och metadataändringar, medanUndoEdit,RedoEditoch portabla redigeringsjournaler använder avgränsade dubbelriktade deltan verifierade med SHA-256- Kraschåterställning och commit-driven autosparning - checksummekontrollerade återställningspaket binder käll- och återställda fingeravtryck till en avgränsad redigeringsjournal, medan atomär autosparning uppdaterar en explicit sidecar-fil efter commit, ångra eller gör om utan att skriva om käll-PDF:en
Bildoperationer
- Bildextraktion - Extrahera bitmappar från PDF-sidor med den indexerade egenskapen
Bitmap; itereraBitmapCountför att spara varje bild på disk- Insättning av JPEG -
AddJpegImagetar en TStream med råa JPEG-byte och bäddar in bilden som ett /DCTDecode-XObject utan omkodning- Stöd för TPicture -
AddPictureaccepterar ettTPicture-objekt med automatisk formatkonvertering via de registrerade VCL/LCL-grafikklasserna- Direkt bildinsättning -
AddImage(FileName)känner igen alla format som registrerats av VCL:s eller LCL:s grafikenheter (BMP, PNG via PngImage, JPG, ...) och delar AddPicture-pipelinen.AddImage(TBitmap)hoppar över TPicture-mellanhanden, vilket förenklar anropare som redan har en TBitmap från rendering eller batchgenerering- ICC-profil för bild - Bildsidobjekt exponerar sina inbäddade ICC-profilsdata när de finns (bindning för
FPDFImageObj_GetIccProfileDataDecoded)- Generering av miniatyrbilder - Generera miniatyrbitmappar för den aktuella sidan via egenskapen
Thumbnaileller rendera valfri 1-baserad sida viaTPdf.RenderPageThumbnailutan att ändraPageNumber, med en revisionsmedveten LRU som avgränsas av tak för poster och pixelbyte- Cache för parsade sidscener -
TPdf.RenderPageByIndex,RenderPageThumbnailochExtractThumbnailåteranvänder avgränsade LRU-cachade PDFium-sidscener medan sidändringar, ändringar i sidträdet, formulärstatus och dokumentnedrivning ogiltigförklarar inaktuella poster
Hjälpenheter
- Asynkron infrastruktur -
FPdfAsynckombinerar strukturerad kooperativ avbrytning med borttagningsbara callbacks och deadline-källor, konfigurerbar resultatsändning iTPdfFuture<T>och en återanvändbarTPdfAsyncExecutormed fasta arbetare, fyra FIFO-prioritetsköer, mottryck med avgränsad kö, handle per uppgift, tidsdiagnostik, aggregerad statistik och kontrollerad nedstängning- Strömadapter -
TPdfStreamAdapterbryggar en Pascal-TStreamtill PDFiumsFPDF_FILEACCESS-callbacks så attLoadCustomDocumentläser block på begäran i stället för att buffra hela PDF:en i minnet- Sessioner för progressiv nedladdning -
TPdfProgressiveDocumenthåller PDFiums nativa tillgänglighetsleverantör vid liv, matar dokument-, formulär- och sidtips tillTPdfRangeRequestScheduler, sammanför saknade intervall, preemterar bakgrundstransfers för sidkritiska byte, avgränsar begärandestorlekar och återförsök, avbryter redundanta transporter och öppnar en linjäriserad sida innan hela PDF:en anlänt- Avgränsad ströminspektion -
TPdfStreamInspectorinventerar fysiska strömobjekt, exponerar säkra råfönster och ordnad avkodning av allmänna filter, rapporterar nativa åtkomstvägar för bild och bilaga, och upprätthåller budgeter för källa, utdata, ordbok, antal och expansionsgrad- Normalisering av innehållsströmmar -
TPdf.SaveAsNormalizedContenttokeniserar logiskt sidinnehåll, tar bort kommentarer, validerar tillstånd och containerbalans, bevarar operatorer utan stöd och data för inline-bilder, och sammanför säkra/Contents-arrayer- Fast Web View-utdata -
TPdf.SaveAsLinearizedskriver förstasidesobjekt före senare sidor, sänder ut två korsreferensavsnitt och bygger hinttabeller för sidoffset och delade objekt så att en HTTP Range-klient kan öppna en begärd sida utan att hämta hela filen- Objektströmutdata -
TPdf.SaveAsObjectStreampackar kvalificerade värden i avgränsade ObjStm-grupper enligt PDF 1.5+, håller objekt som behövs vid öppning direkta och skriver adaptiva typ-2-xref-poster för mindre filer utan att offra slumpåtkomst- Inkrementellt sparande av ändrade objekt -
TPdf.BeginIncrementalSaveochCommitIncrementalSavejämför stabila semantiska ögonblicksbilder, bevarar varje tidigare krypterad eller okrypterad byte, ärver säkerhetsparametrar R5, R6 eller R7, lägger bara till ändrade objekt, återöppnar varje resultat strikt och använder en beständig sidofil plus atomär ersättning för filcommits- Styrning av valfritt innehåll -
TPdf.InspectOptionalContentinventerar lager, konfigurationer, användningsmetadata, radiogrupper, ordning, lås, OCMD-policys och synlighetsuttryck, medanSaveAsOptionalContentConfiguredskriver deterministiska lagerlägen som PDFium applicerar via sin nativa renderingskontext- Avgränsat arbetslager -
TPdfRandomAccessStorehåller små data i minnet, spiller en gång över till en privat delete-on-close-temporärfil vid en av anroparen vald taknivå och tillhandahåller positionerade läsningar utan att ändra den delade markören;TPdf.SaveMemoryLimittillämpar samma policy på efterbearbetning vid kärnsparning, medan standarduppdateringar av open action och sidetiketter i katalogen använder fönster med fast storlek och ett gles lazy-objektindex- Inbyggd versionsfråga -
TPdf.PdfVersionåteranvänderFPDF_GetFileVersion-parserstatus för huvud- och katalogsemantik, med en åtta byte stor huvudkontroll som avvisar felaktiga katalognedgraderingar- Matrisgeometriverktyg -
FPdfMatrixomsluter PDFiumsFS_MATRIXmed post- och prekomposition, pivotmedvetna transformationer, rektangelanpassning stretch / contain / cover, skalningsmedveten invertierbarhetsdiagnostik, dekomposition, icke-muterande invershjälpare, vektor- och fyrehörningsmappning, punkt- eller rektangelbatcher med en allokering, in-place-varianter och transformerade gränslådor i ett pass- Avbrytbar progressiv rendering -
TPdf.RenderPageProgressivedriver PDFiums progressiva loop medFPDF_RenderPageBitmap_Start+RenderPage_Continueoch pollar enIPdfCancellationTokenmellan iterationerna viaIFSDK_PAUSE-callen så att långa hög-DPI-renderingar kan avbrytas mitt på sidan i stället för att blockera tills de är klara. Returnerar enTPdfProgressiveStatusavprsDone,prsCancelledellerprsFailed- Zero-copy-renderingsväg -
RenderPage/RenderTile/RenderPageProgressiveskriver PDFiums utdata direkt till destinationensTBitmap:s DIB-buffert i stället för att mellanlagra via en intern buffert och sparar en minneskopia på bredd × höjd × 4 byte per rendering - mest märkbart vid hög DPI (miniatyrpaneler, utskriftskvalitet, batchexport). En per-skanningsrad-fallback bevaras när destinationens DIB inte kan omslutas säkert- Bildtransformeringar för nedsatt syn - InvertPdfBitmap, GrayscalePdfBitmap och DuotonePdfBitmap transformerar renderade 32-bitars TBitmap-pixlar på plats för inverterade, gråskale- eller tvåfärgsvisningar
- Livevisning för nedsatt syn -
TPdfView.OptionsstöderreInvertochreNightDuotone, medNightDuotoneInkochNightDuotonePapersom styr den levande nattpaletten innan överlägg ritas
Ritoperationer
- Banritning - Skapa banor med linjer, Bezier-kurvor och slutna former
- Borttagning av objekt - Ta bort sidobjekt och regenerera sidinnehåll från TPdf eller TPdfView
- Fyllning och streck - Konfigurera fyllnadsläge, färger, transparens och streckegenskaper
- Blandningslägen - Stöd för olika PDF-blandningslägen
- Linjestilar - Konfigurera linjeändar, linjefogar och streckbredd
Digitala signaturer
- Signaturdetektering - Upptäck och räkna upp digitala signaturer i PDF-dokument
- Signaturinformation - Läs signaturinnehåll, byteintervall, sub-filter, skäl och tid
- MDP-behörigheter - Fråga dokumentets behörigheter för ändringsdetektering och -skydd
- Revisionsanalys efter signering -
AnalyzeSignatureRevisionsklassificerar inkrementella ändringar av originalbyten mot DocMDP och FieldMDP, identifierar uppdateringar av valideringsmaterial och rapporterar skuggdefinitioner eller olösta komprimerade objekt utan att spara om dokumentet- PDF 2.0-profiler för elliptiska kurvor - PAdES-validering identifierar signaturer med NIST, Brainpool, Ed25519 och Ed448, kontrollerar överensstämmelse mellan kurva och digest samt AlgorithmIdentifier-parametrar, och rapporterar kryptografi utan stöd skilt från ogiltiga kombinationer
Stöd för bilagor
- Bilageåtkomst - Läs, skapa, ändra och ta bort inbäddade filbilagor
- Avgränsad batchextraktion -
ReadAttachmentMetadatainventerar bilagorna en gång ochExtractAttachmentsToStreamsskriver en avkodad nyttolast i taget under kontroller per fil, aggregerat, per chunk och med avbrytning- Bilagenamn - Läs bilagornas filnamn
- Bilagetyper - Läs inbäddade filers MIME-undertypsvärden när de finns
- Bokmärken - Navigera dokumentets bokmärken med hierarkiskt stöd via arrayen
Bookmarksoch hjälparnaBookmarkChildren,HasBookmarkChildrenochBookmarkFromför genomlöpning- Namngivna destinationer - Läs namngivna destinationer efter index eller namn via
Destination,DestinationByNameochDestinationCount- Sidetiketter - Hämta sidetiketter för varje sida via
PageLabel; användbart när dokument använder romerska siffror för inledande delar- Webblänkar - Upptäck och navigera webblänkar på sidor med
WebLink,WebLinkCountochTPdfView.WebLinkAtPos- Länkannoteringar - Läs länkannoteringar med åtgärds- och destinationsinformation via
LinkAnnotation,LinkAnnotationCountochTPdfView.LinkAnnotationAtPos- Säker hantering av länkklick - TPdfView utlöser händelserna
OnAnnotationLinkClick/OnWebLinkClickföre automatisk goto- / URI-hantering, med launch-åtgärder inaktiverade som standard. Detektering av länkklick körs bara när gesten är ett klick i stället för ett drag, med ett färskt MouseDown-ankare så att panningsgester fortfarande flyter genom den befintliga rullningsvägen oförändrat
Rendering
- Högkvalitativ rendering - Rendera sidor till enhetskontext, bitmapp eller bricka via
RenderPage/RenderTile, med zero-copy-skrivningar direkt till destinationens DIB-buffert- Avbrytbar progressiv rendering -
RenderPageProgressivedriver PDFiums progressiva loop och pollar enIPdfCancellationTokenmellan iterationerna och returnerarprsDone,prsCancelledellerprsFailed. Bitmappen behåller det delvisa arbete som gjorts när renderingen avbryts- Parallell sidrendering -
RenderPagesParallelfångar det aktuella dokumentet en gång, ger varje arbetare en oberoende inläst PDFium-modul och ett eget dokument, bevarar begäransordningen och avgränsar minnet för behållen utdata per sida och totalt- Säker bortredigering av innehåll -
SaveAsRedactedapplicerar/Redact-rektanglar på en isolerad ögonblicksbild, tar bort försiktigt överlappande toppnivåsidobjekt och annoteringar, målar opaka ersättningar, tar bort inbäddade bilagor och skriver ett sanerat resultat med en enda revision utan att ändra det inlästa dokumentet- Renderingsalternativ - LCD-textoptimering (
reLcd), annoteringar (reAnnotations), gråskala och flaggor för utskriftsläge- Skia-krokar - Bindningarna på låg nivå
FPDF_RenderPageSkiaochFPDF_FFLDrawSkiaär tillgängliga när anroparen tillhandahåller en extern SkCanvas (beror på exporterade funktioner i den medföljande DLL:en)- Val av utskriftsläge - Ställ in PDFium:s utskriftslägen EMF, endast text, PostScript, pass-through, bildmask och Type 42 via
SetPdfPrintModemedTPdfPrintMode- Asynkront överlägg - TPdfView kan visa ett opt-in-laddningsöverlägg medan applikationens egna arbetare renderar med separata TPdf-instanser
- Sidrotation - Stöd för rotation med 0, 90, 180 och 270 grader (
ro0,ro90,ro180,ro270)- Transparensdetektering - Egenskapen
Transparentrapporterar om något objekt på den aktuella sidan har transparens, inklusive blandningslägen och partiell alfa
Visning (TPdfView)
- Visningslägen -
dmSingleContinuous,dmTwoPageContinuousochdmTwoPageContinuousWithCover(omslagssidan står ensam och fortsätter sedan med uppslag om två sidor). HjälparenComputeSpreadPagespå enhetsnivå exponerar uppslagsmatematiken utan att instansiera en visare- Fit-läge -
FitModeväljer hur sidan placeras i visningsytan:pfmNone(manuell zoom),pfmActualSize(100 %),pfmFitPage(hela sidan får plats i visningsytan),pfmFitWidth(sidbredden matchar visningsytans bredd) ochpfmFitHeight(sidhöjden matchar visningsytans höjd). Det aktiva fit-läget återappliceras automatiskt vid Resize och när den aktuella sidan ändras; sätter man Zoom direkt avbryts det aktiva fit-läget (FitMode återgår tillpfmNone), i linje med konventionen hos standard-PDF-visare- Zoomkontroll - Variabel zoom med hjälparna
PageZoom,PageWidthZoom,PageHeightZoomochActualSizeZoomper sida- Sidfärg -
PageColorseparerar den renderade PDF-sidans bakgrund från den omgivande kontrollensColor. Standardvärdet ärclWhite, så PDF-sidor renderas nu som pappersvita oavsett värdapplikationens tema. Visare med mörkt läge kan hålla rullningsytan mörk medan själva PDF-sidan lämnas vit (eller får vilken färg applikationen väljer)- Interaktiv textmarkering - Slutanvändare kan dra för att markera text på PDF-sidor, med automatisk växling mellan markering och panning i träffsökningen: klick på ett tecken startar en markeringsdragning, klick på mellanrum pannar. Dubbelklick markerar ordet, trippelklick markerar raden,
Ctrl+Amarkerar sidan (båda sidorna i uppslagsläge),Ctrl+Ckopierar somCF_UNICODETEXT,Shift+piltangenterutökar markeringen, för musen över text växlar markören tillcrIBeamoch en dragning in mot visarens kant rullar sidan automatiskt. Nya publiceradeSelectionColorochOnSelectionChange; nya publikaHasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAll,CopySelectionToClipboard. Uppslagslägen markerar över båda synliga sidorna med CR/LF-sammanfogning. En popup för kopiering vid högerklick kopplas automatiskt när värden inte har tilldelat en egenPopupMenu. Styrs av flagganAllowUserTextSelectionfrån v1.17.0 för kioskvärdar- Koordinatmappning - Omvandla mellan visarens enhetskoordinater och PDF-sidans koordinater med
DeviceToPage/PageToDevice, inklusive överlagringar som tar enTRectoch returnerar enTPdfRectangle- Textmarkering och träffsökning - Lös tecken under visarens punkter med
CharacterIndexAtPosoch rita textmarkeringsöverdrag viaPaintSelection- Mus och tangentbord - Fullständigt stöd för inmatningsenheter med rullning via musdrag, genvägarna PgUp / PgDn / Ctrl+Home / Ctrl+End och sidnavigering med mushjulet upp / ner. Ctrl+hjul är reserverat för applikationszoom och hoppas över av navigeringshanteraren
- Spärr av användarinmatning -
AllowUserPageChangestyr tangentbordsgenvägar för sidbyte,ChangePageOnMouseScrollingstyr sidhopp med mushjulet ochAllowUserTextSelectionstyr textmarkeringsinmatning via mus / tangentbord. Alla tre har standardvärdet True; sätt dem till False för att låsa kiosker, förhandsvisningspaneler eller skrivskyddade integrationer utan subklassning- Asynkront renderingsöverlägg -
AsyncRendering,LoadingTextochLoadingColorritar en liten "Loading..."-indikator över den renderade sidan så att applikationer som använder sin egen arbetare för långa renderingar får en gemensam visuell affordans. Standardvärdena bevarar tidigare beteende.TPdfserialiserar nu renderings- och sidurlösningsanrop per instans; applikationen äger fortfarande arbetarens schemaläggning och måste undvika att mutera ett dokument medan en rendering pågår- Säker hantering av länkklick -
LinkOptionsär en publicerad mängd som styr det automatiska beteendet för de fyra PDF-länkåtgärdstyperna:loAutoGoto(sidhopp),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) ochloAutoEmbeddedGoto(reserverad). Standard aktiverar baraloAutoGotoochloAutoOpenURI;loAutoLaunchochloAutoEmbeddedGotoförblir avstängda så att ett felklick inte kan starta ett godtyckligt program.OnAnnotationLinkClickochOnWebLinkClickutlöses före varje automatisk åtgärd och låter applikationen markera händelsen som Handled eller omdirigera den- Formulärinteraktion - Interaktiv formulärredigering i visaren, plus hjälparna för markering / ångra / gör om från v1.23.0
- Visuell styling -
PageShadowSize,PageShadowColorochPageBorderColorritar en valfri skugga under sidrektangeln och en enpixlars ram runt den;SmoothScrollanimerar nu rullningslistskommandon för rad/sida i timerdrivna segment medan tummeknappsspårning förblir omedelbar- Miniatyrbildsnavigering -
TPdfThumbnailView(enhetenFPdfThumbnail) renderar en sidminiatyr per rad i en rullbar sidopanel med hover- och markeringsöverdrag plus klick-för-att-gå-navigering. Designad för att sitta bredvid en TPdfView. Egenskaper:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; händelse:OnPageClick
Komprimering
- Automatisk komprimering - När egenskapen
Compressedär True (standard) säkerställs att alla PDF-strömmar är FlateDecode-komprimerade vid sparande- Efterbearbetning - Komprimeringsmotorn genomsöker sparade PDF-data och komprimerar okomprimerade strömmar med zlib:s maximala komprimering
- Ombyggnad av korsreferenser - Bygger automatiskt om xref-tabellen när strömkomprimering ändrar byteoffsets
- Ingen overhead - Om alla strömmar redan är komprimerade passerar data oförändrat
Säkerhet
- Lösenordsstöd - Öppna lösenordsskyddade PDF-dokument
- Behörigheter - Läs dokument- och användarbehörigheter; demon
SecurityAuditkombinerar behörigheter, bilagor, dokument-JavaScript, URI / Launch-länkar, signaturer, XFA och V8-tillgänglighet till en skrivskyddad riskyta med TXT / JSON-rapportsparning och TXT-kopiering- Avgränsad DER-verktygslåda -
FPdfAsn1kodar låga och höga taggnummer, typiserade värden, sorterade SET OF-samlingar och kanoniska tid- eller strängformer; dess zero-copy-läsarfönster, typiserade avkodare och resursbegränsade validerare stödjer CMS-, PAdES-, certifikat- och tidsstämpelflöden- Signaturspecifik långtidsvalidering -
TPadesDssOptions.Vrisskriver hashnycklade indirekta VRI-ordböcker medan delade certifikat-, OCSP- och CRL-strömmar dedupliceras på innehållshash, och PAdES-signering i B-LT eller B-LTA skapar den nya signaturens VRI automatiskt- Fjärr- och avbruten signering -
PreparePadesRemoteSignaturesparar SHA-256-dokumentdigesten, exakt ByteRange, platshållarkoordinater och fingeravtryck för förberedd PDF för HSM- eller molnsignering, medanCompletePadesRemoteSignatureavvisar ändrade, återanvända, överskridna eller digest-ej matchande sessioner innan utdata skrivs- Analys av signaturrevisionspolicy -
AnalyzeSignatureRevisionsrekonstruerar klassiska, hybrida och xref-strömsrevisionskedjor, tillämpar DocMDP och FieldMDP per signatur och misslyckas slutet vid felaktiga, skuggade, komprimerade eller överbudgeterade ändringar- Tvetydighetsfria signaturprofiler - PAdES-valideringen räknar obligatoriska nycklar bara på toppnivåns signaturordbok, avvisar dubbletter och inkonsekventa Sig- eller DocTimeStamp-profiler, och kräver att ByteRange utesluter exakt den direkta hexadecimala Contents-token
- Bevisexport för flera signaturer -
BuildPadesEvidenceReportkorrelerar PDFium-fakta, CMS-policy, tillits- och tidsstämpelstatus, hashvärden för certifikatkedjor, DSS/VRI-täckning och revisionsbeslut med avgränsad JSON- och CSV-utdata- Förnyelse av arkivtidsstämpel -
RenewPadesArchiveTimestamplägger till en RFC 3161 Document Time-stamp över exakt den befintliga signaturhistoriken, uppdaterar valfritt hela DSS först och validerar den resulterande B-LTA-kedjan före utdata- Asynkron tillitsvalidering -
ValidatePadesTrustochValidatePadesTrustAsyncverifierar fristående signaturer mot originalbyte, signerar- och TSA-kedjor, valfri online-revokeringsbevis och RFC 3161-tidsstämpeltoken med etapperad status, avgränsad hämtning och kooperativ avbrytning- Kvalificerat förtroende -
TPdfEuropeanTrustedListparsar bara anroparen autentiserade ETSI-förtroendelistor, autentiserar om cachad XML, accepterar uppdateringskällor som anroparen äger och tillhandahåller offline-utvärdering av kvalificerade tjänster viaQualifiedTrustEvaluator- Borttagning av säkerhet - Spara dokument med säkerheten borttagen (när det är tillåtet)
Utskrift
- Utskriftslägen - Välj mellan utskriftslägena EMF, endast text, PostScript nivå 2 / 3, PostScript pass-through, EMF bildmask och Type 42 via den globala funktionen
SetPdfPrintMode- Visarinställningar - Exponera dokumentförfattarens avsikt via
PrintCopies,PrintPageRanges(1-baserade sidintervall),PrintScalingochPrintPaperHandling;SetPdfPrintPaperHandlingDevModemappar duplex-hinten till WindowsDEVMODE.dmDuplex- N-up-utskrift - Demona
PrintPreferencesför Delphi, C++Builder och Lazarus visar sammansättning av N-up-ark (1 / 2 / 4 / 9 sidor per ark) med filtrering på udda / jämna sidor, gråskalerendering, valfria enpixlars cellramar, PDF-författarens utskriftsinställningar och duplex-mappning viaSetPdfPrintPaperHandlingDevMode
Medföljande exempel
Träden
Demo\Delphi,Demo\CBuilderochDemo\Lazarusmedföljer körbara exempelprojekt som tränar det levande API:et i alla tre IDE-familjerna. Höjdpunkter:
- PDFViewer / MultiPageViewer / SplitView - Användning av TPdfView från början till slut: läsa in, navigera, zooma, rotera, uppslag om två sidor, omslagsmedvetna layouter och PDF-jämförelse sida vid sida i Delphi / C++Builder / Lazarus med synkroniserade kommandon; visardemona är också praktiska hastighetstester för PDF-filer på flera gigabyte, där 2.x GB-dokument kan nå en användbar första vy nästan omedelbart medan sidrenderingen förblir responsiv
- ViewerInteractionLab - Fokuserade TPdfView-interaktionsexempel för Delphi, C++Builder och Lazarus med visningslägen, fit-lägen, sidfärger, rotation, sökmarkering, textmarkering, förhandsvisning av markerad text, urklippsåtgärder och koordinatfeedback från DeviceToPage
- SearchAndSelect - Fokuserade arbetsflödesexempel för Delphi, Lazarus och C++Builder med listning av sökresultat från alla sidor, navigering föregående / nästa träff, hopp till träff vid dubbelklick,
HighlightSearchText, sökning med match case / hel ord,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelectionoch visningslägen för uppslag- PreflightReport - Återanvändbara
FPdfPreflightReport-objekt samlar resultat för PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R och PDF/VT med status, allvarlighetsgrad Info / Warning / Error, uppslag, sökning, filtrering, deterministisk aggregering, stabila SHA-256-fingeravtryck, TXT / HTML / Markdown / JSON / CSV-utdata och automatiseringsformaten SARIF 2.1.0 / JUnit XML / NDJSON / XML; Delphi-, Lazarus- och C++Builder-demon plus konsolflöden tillhandahåller förhandsvisning, batchrouting, sammanfattningar, rapportbilagor och styrning av CI-utgångskod- ContentExtractionLab - Enhetligt arbetsflöde för innehållsinventering i Delphi, Lazarus och C++Builder för dokumentmetadata, sidtext, sidobjekt, bilder, bilagor, länkar, annoteringar, bokmärken samt typsnitts- och teckenmått med TXT / JSON-export, kategorival alla / ingen, sparande av käll-PDF och rapportkopiering
- WatermarkStamp - Återanvändbart Form XObject-arbetsflöde för Delphi, Lazarus och C++Builder med centrerade vattenstämplar, hörnstämplar och sidnummeretiketter över en flersidig mål-PDF
- CreatePDF - Bygg en flersidig PDF från grunden med text, bilder, banor, tabeller och vattenstämpelssammansättning; innehåller alternativet "European Text" för att skriva accenterad tjeckisk / fransk / tysk / spansk / portugisisk / polsk / turkisk text för att verifiera typsnittsval och Unicode-hantering
- ExtractText / ExtractImages / ContentExtractionLab - Spara extraherad text (inklusive utdata separerad per sida) eller inbäddade bilder på disk, eller generera en innehållsinventeringsrapport med flera kategorier i ett pass
- FormFill - Läs AcroForm-fältmetadata, skriv värden, regenerera /AP-utseenden och spara antingen det redigerbara eller det plattlagda resultatet
- FontProperties - Inspektera indexerad tecken- / typsnittsmetadata genom både TPdf och TPdfView i Delphi, C++Builder och Lazarus
- MergePDF / SplitPDF - Kombinera flera käll-PDF:er (med sidintervallsval per fil, valfri utdatasökväg, körlogg, avbrytningsknapp och sammanfattning vid slutförd sammanslagning) eller dela en PDF till utdatafiler per sida
- PDFtoJpg / BatchExport - Konvertering av flera PDF-filer till JPG i ett pass eller som batch för Delphi, C++Builder och Lazarus, med total status per fil, aktuell status per sida, inmatning av DPI / kvalitet / lösenord och en kooperativt avbrytbar batch bakad av
IPdfCancellationToken- StandardsLab - Arbetsflödesexempel för Delphi, C++Builder och Lazarus för validering av PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R och PDF/VT, problemrapportering samt standardinriktad sparningsutdata
- PrintPDF / PrintPreferences - Standardutskrift av PDF i Delphi, C++Builder och Lazarus med förhandsvisning, sidintervall, kopior, sortering, status och avbrytning (PrintPDF), plus sammansättning av N-up-ark med udda / jämn filtrering och PDF-författarens utskriftsinställningar (PrintPreferences) i Delphi, C++Builder och Lazarus
- SecurityAudit - Skrivskyddade exempel på riskytor för Delphi, C++Builder och Lazarus med behörigheter, bilagor, JavaScript-åtgärder, URI / Launch-länkar, webblänkar, signaturer, XFA-status, tillgänglighet för V8 / XFA-hjälpare och TXT / JSON-granskningsrapporter
- Attachment - Skapa PDF:er och lägga till / lista / extrahera / ta bort / spara inbäddade filbilagor med visning av MIME-undertyp
- ImageToPDF - Bildbatchkonvertering till en PDF i Delphi, C++Builder och Lazarus, en bild per sida, med förhandsvisning och status per bild
Regressionssviterna för Delphi, C++Builder och Lazarus omfattar 147 (Pas) / 123 (C++) fall som delar samma testfixtur-PDF:er så att beteendet förblir byteidentifierat över alla tre IDE-familjerna
Plattformsstöd
- Delphi - Delphi XE5 (RAD Studio XE5) till och med Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder - C++Builder XE5 (RAD Studio XE5) till och med C++Builder 13.1 Florence
- Lazarus - Stöd för Free Pascal / Lazarus
- Win32 / Win64 - Både 32-bitars och 64-bitars Windows-plattformar
Justerad jämförelse identifierar infogade, borttagna och flyttade sidor med avgränsade Unicode-textändringar och flera visuella regioner; överlagringar gör ändringarna exporterbara
Transaktionell navigationssammanfogning bevarar dispositionshierarki, stilar, URI-åtgärder och ommappade siddestinationer genom valda och omsorterade sidimporter
Valfri Tesseract-OCR lägger till sökbar text på skannade sidor med explicita beroendediagnostik, avbrott och resursbudgetar
Transaktionell AcroForm-sammanfogning av valda sidor stöder explicita namnpolicyer och resursisolering; den valfria streckkodsprovidern genererar Code128, QR, DataMatrix och PDF417 och känner igen gråskalebilder