Jádrové komponenty
- TPdf - Hlavní komponenta pro práci s PDF dokumenty pro otevírání, procházení, extrakci textu a úpravy PDF dokumentů
- TPdfView - Vizuální komponenta pro zobrazení a práci se stránkami PDF
- TPdfReadingSession - Orchestruje čtení nahlas pro hostitelské TTS motory a sledování slov v TPdfView
- TPdfThumbnailView - Posuvný panel miniatur pro navigaci mezi stránkami
Operace s dokumenty
- Načítání dokumentů - Načítá PDF soubory z disku, paměťových streamů, bajtových polí nebo adaptérů
TStreamna vyžádání pomocíLoadCustomDocument. PDFium čte bloky podle potřeby, takže vícigigabajtové dokumenty i vzdálené nebo databázové zdroje nepotřebují předběžnou kopii v paměti- Ochrana heslem - Otevírá PDF dokumenty chráněné heslem a zobrazuje účinná oprávnění
UserPermissionspro ověřenou relaci- Vytváření dokumentů - Skládá nové PDF dokumenty od začátku pomocí
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageaCreatePath- Ukládání dokumentů - Ukládá upravené dokumenty s různými volbami (přírůstkové ukládání, odstranění zabezpečení) a s explicitními cílovými verzemi PDF od PDF 1.0 až po PDF 1.7
- PDF/A-1b Output -
SaveAsPdfA/SaveAsPdfAToStreampo uložení provedou přírůstkovou aktualizaci, která vloží XMP metadata stream, sRGB ICC OutputIntent a aktualizovaný dokumentový katalog, aby byl výsledek v souladu s PDF/A-1b. Vlastní ICC profily jsou podporované přesTPdfASaveOptions.IccProfileData- PDF/A Validation -
ValidatePdfAa jen pro čtení dostupná vlastnostPdfAConformancekontrolují otevřený dokument na značky XMPpdfaid, OutputIntent s vloženým ICC, přítomnost šifrování a vracejí úroveň shody (pac1a,pac1b,pac2b,pac3b,pacNonenebopacUnknown) spolu se seznamem položekTPdfAValidationIssuepopisujících každý nalezený problém- PDF Version Compliance Validator - Když
SaveAscílí na PDF 1.0 až PDF 1.7, zapisovač odmítne jakoukoli položku slovníku, filtr, podtyp anotace, typ akce, font, barevný prostor nebo parametr šifrování zavedený po zvolené cílové verzi, napříkladJBIG2Decode,MarkInfo,OutputIntents,AES/AES-256, anotacePolygon/Caret/Watermark/Redactnebo akceJavaScript/Trans/SetState- Stream Compression - Automatická komprese FlateDecode zajistí při ukládání optimální kompresi všech PDF streamů; pro odladěné pipeline lze nastavit
Compressed := False- Document Merging - Import stránek z jiných PDF dokumentů
- Page Subset Import -
ImportPagesByIndexkopíruje explicitní pole indexů od nuly ze zdrojového dokumentu, přičemžInsertAt = 0vloží před stránku 1 aInsertAt = PageCountpřipojí na konec. Prázdné pole indexů importuje každou zdrojovou stránku- N-up Composition -
ImportNPagesToOnevrací novýTPdf, jehož stránky jsou kompozice stránek zdrojového dokumentu v mřížceNumX×NumY, velikostně v PDF uživatelských jednotkách (1jednotka =1/72in)- Page Reordering -
MovePagespřeuspořádá stránky na místě pomocí pole indexů od nuly a cílového indexu pro první přesunutou stránku- Form XObject Page Reuse -
CreateXObjectFromPagevytvoří znovupoužitelný handleTPdfXObjectz libovolné stránky jiného dokumentu;InsertFormObjectFromXObjectvloží do aktuální stránky jednu kopii zabalené stránky. Hodí se pro vodoznaky, překryvy šablon i workflow typu „otiskni jednu stránku na mnoho“. Výsledný objekt stránky lze umístit, škálovat a rotovat přesFPDFPageObj_SetMatrixa pomocníkyTPdfMatrix- Page Management - Přidávání, mazání a úpravy jednotlivých stránek;
AddPage(0, ...)vloží úplně první stránku a okamžitě ji aktivuje- Page Boxes - Čtení a zápis
MediaBox,CropBox,BleedBox,TrimBoxaArtBoxna aktuální stránce- Catalog Language - Čtení a zápis jazyka dokumentu uloženého v katalogu v položce
/Lang- Trailer File IDs - Čtení trvalých i měnících se položek trailer
/IDjako binárních bajtů- Document JavaScript Actions - Výčet názvů a skriptů JavaScript akcí na úrovni dokumentu
- Tagged PDF Structure Tree - Kontrola logických struktur, textu pro přístupnost, jazyka, ID značek a hierarchie u stránek Tagged PDF
- Zpřístupňuje záměr autora dokumentu přes
PrintCopies,PrintPageRanges(rozsahy stránek od jedné),PrintScalingaPrintPaperHandling;SetPdfPrintPaperHandlingDevModemapuje nápovědu duplexu do WindowsDEVMODE.dmDuplex- ČteníPrintCopies,PrintPageRanges,PrintScalingaPrintPaperHandlingze slovníku preferencí prohlížeče dokumentu; uložené PDF se standardně otevírají první stránkou s Fit Height
Textové operace
- Text Extraction - Extrakce textu z PDF stránek s přesností na znak přes vlastnosti
Text,TextInRectangle, indexovanéCharacter,CharacterRectangleaCharacterOrigin- Sentence-Level Reading Units -
TPdf.ReadingUnits,TPdf.DocumentReadingUnits,TPdfView.ReadingUnitsaBuildReadingUnitsvystavují záznamyTPdfReadingUnito velikosti věty pro synchronizované TTS čtení- Word-Level Reading Highlighting -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColoraReadingWordFollowmapují posun znaku na stránce na příslušnýTPdfWordBox, zvýrazní ho a vrátí index slova; označují jedenTPdfWordBoxjako právě vyslovované slovo vTPdfView; mažou aktuální překryv kurzoru čtení po slovech vTPdfView; řídí barvu překryvu používanou pro aktuální kurzor a určují, zdaTPdfViewpři sledování čtení posouvá právě čtené slovo do zobrazení- Read-Aloud Session Orchestration -
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageCharaEstimateSpokenWordIndexkoordinují hostitelské TTS motory, mluvené úseky, callbacky polohy slov, odhadované tempo, pauzu a pokračování i aktualizace kurzoru slov vTPdfView- Text Search - Vyhledávání textu s volbami rozlišování velikosti písmen, celého slova a posloupnosti pomocí
FindFirst,FindNextaFindPrevious- Search Highlight Overlay -
TPdfView.HighlightSearchTextprohledá aktuální stránku zobrazení a při každém překreslení vykreslí skutečný překryvHighlightColors alfa blendem přes každý výskyt, přičemž vrací počet shod.ClearHighlightpřekryv odstraní; přechod na jinou stránku jej automaticky smaže, protože shody jsou vázané na stránku.HighlightColormá výchozí hodnotuclYellowa je publikovaná, aby ji aplikace mohly tematizovat- Character Properties - Přístup k velikosti písma, tloušťce, úhlu a umístění jednotlivých znaků přes indexované vlastnosti
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHyphenaCharacterMapError- European Character Support -
AddTextpřed vytvořením textového objektu automaticky načte a uloží do mezipaměti odpovídající systémový TrueType font, takže akcentované české, francouzské, německé, španělské, portugalské, polské a turecké znaky, které vestavěné standardní fonty PDFium neumějí reprezentovat, se nyní vykreslí správně bez změny kódu- Text Addition - Přidání nového textu na PDF stránky s vlastními fonty, barvami, průhledností a rotací
- Text Object Positioning - Nastavení pozic po jednotlivých znacích pro existující textové objekty přes
SetTextPositionsaTPdfSingleArray- Font Information - Získání vlastností fontu včetně názvu rodiny, stavu vložení, úhlu kurzívy, ascent / descent a surových dat fontu na úrovni page-objectu
Podpora anotací
- Typy anotací - Podpora textových, odkazových, zvýrazňovacích, podtržených, přeškrtnutých a mnoha dalších typů anotací
- Annotation Creation - Vytváření nových anotací programově
- Annotation Editing - Úpravy existujících vlastností anotací včetně barvy, průhlednosti a obsahu
- Link Annotations - Zpracování interních i externích odkazů s podporou akcí
Podpora formulářů
- Voice Form-Filling Accessors -
FocusedFormFieldValue,FocusedFormFieldNameaFocusedFormFieldDetailsvTPdfaTPdfViewzpřístupňují aktuální logickou hodnotu formulářového pole, jeho název aTPdfFormFieldInfopro vyplňování formulářů z klávesnice nebo hlasem- Typy formulářů - Podpora formulářů AcroForm a XFA
- Form Fill - Interaktivní vyplňování formulářů s podporou JavaScriptu
- V8 DLL Selection - Před načtením nastavte
EnableV8Engine, chcete-li použítpdfium.v8.dllz odpovídající složkyDLLs\Win32neboDLLs\Win64, a dostupnost pomocníků V8/XFA zjistěte přesV8FeaturesAvailable,XfaBStrHelpersAvailableaGetRecommendedV8Flags- Field Access - Čtení a zápis hodnot formulářových polí podle indexu nebo pozice
- Field Information - Přístup k typu pole, příznakům, názvu a dalším vlastnostem
- Příznaky polí - Aktualizace příznaků polí AcroForm podle indexu nebo pozice přes
SetFormFieldFlags/SetFormFieldFlagsAt, včetně příznaků read-only, required, password a multi-select- Zploštění formulářů -
GenerateFormAppearancesznovu vygeneruje /AP appearance stream pro každý formulářový widget na každé stránce aFlattenPage/FlattenAllPageszapékají anotace i formulářová pole do statického obsahu stránky (needitovatelné)- Výběr textu ve formulářovém widgetu a Undo / Redo - Na fokusovaném widgetu AcroForm prohlížeč zpřístupňuje
GetSelectedFormText(aktuálně vybraný text),SelectAllFormText(vybere všechny znaky) aFormUndo/FormRedo/FormCanUndo/FormCanRedo(řídí historii úprav pro každý widget zvlášť). Všechny čtyři metody se bezpečně ukončí, pokud prohlížeč není aktivní nebo není fokusovaný žádný widget
Operace s obrázky
- Extrakce obrázků - Extrakce bitmap z PDF stránek přes indexovanou vlastnost
Bitmap; opakováním přesBitmapCountuložíte každý obrázek na disk- Vkládání JPEG -
AddJpegImagepřijímáTStreamsurových bajtů JPEG a vloží obrázek jako/DCTDecodeXObject bez opětovného kódování- Podpora TPicture -
AddPicturepřijímá objektTPictures automatickou konverzí formátu přes registrované grafické třídy VCL / LCL- Přímé vkládání obrázků -
AddImage(FileName)rozpozná jakýkoli formát registrovaný v grafických jednotkách VCL nebo LCL (BMP, PNG přes PngImage, JPG, ...) a používá stejnou cestu jakoAddPicture.AddImage(TBitmap)přeskočí prostředníkaTPicture, což zjednodušuje volající, kteří už držíTBitmapz vykreslování nebo dávkové generace- ICC profil obrázku - Objekty stránek s obrázky zpřístupňují svá vložená data ICC profilu, pokud jsou k dispozici (vazba na
FPDFImageObj_GetIccProfileDataDecoded)- Generování miniatur - Generování miniatur aktuální stránky přes vlastnost
Thumbnailnebo vykreslení libovolné jedné stránky přesTPdf.RenderPageThumbnailbez změnyPageNumber
Pomocné jednotky
- Asynchronní infrastruktura -
FPdfAsynczpřístupňujeIPdfCancellationToken/IPdfCancellationTokenSourcepro kooperativní zrušení z UI, znovupoužitelný singletonPdfNoCancellationTokena lehký pomocníkTPdfFuture<T>, který spouští pracovníka na pozadí a pošle obálkuTPdfFutureResult<T>zpět na hlavní vlákno, kde rozlišuje úspěch, zrušení a selhání- Adaptér streamu -
TPdfStreamAdapterpropojuje pascalovskýTStreams callbacky PDFiumFPDF_FILEACCESS, takžeLoadCustomDocumentnačítá bloky na vyžádání místo bufferování celého PDF v paměti- Skládání matic -
FPdfMatrixzapouzdřujeFS_MATRIXz PDFium pomocí OO API proTranslate,Scale,Rotate,HorizontalFlip,VerticalFlip,CentralFlip,SkewaMultiply.Multiplysi před výpočtem nových hodnot řádků uloží všech šest prvků matice, čímž se vyhne pasti alternativní Pascal implementace, kdy se při stejném volání přepisují dřívější prvky a vznikají chybné kompozice- Progresivní vykreslování s možností zrušení -
TPdf.RenderPageProgressiveřídí smyčku PDFiumFPDF_RenderPageBitmap_Start+RenderPage_Continuea mezi iteracemi dotazujeIPdfCancellationTokenpřes callbackIFSDK_PAUSE, takže dlouhé renderování ve vysokém DPI lze přerušit uprostřed stránky místo čekání na dokončení. VracíTPdfProgressiveStatuss hodnotouprsDone,prsCancelledneboprsFailed- Bezkopírová renderovací cesta -
RenderPage/RenderTile/RenderPageProgressivezapisují výstup PDFium přímo do DIB bufferu cílovéhoTBitmapmísto průchodu přes interní buffer, čímž šetří jednu kopii paměti o velikosti width × height × 4 bajty na každý render - nejvíce viditelné ve vysokém DPI (panely miniatur, export v tiskové kvalitě, dávkový export). Záložní cesta po jednotlivých scanline zůstává zachována, když nelze bezpečně obalit cílové DIB- Bitmapové transformace pro slabozraké -
InvertPdfBitmap,GrayscalePdfBitmapaDuotonePdfBitmaptransformují vykreslené 32bitové pixelyTBitmapin place pro invertované, šedotónové nebo dvoubarevné zobrazení pro slabozraké- Živé zobrazení pro slabozraké -
TPdfView.OptionspodporujereInvertareNightDuotone, přičemžNightDuotoneInkaNightDuotonePaperřídí živou noční paletu před vykreslením překryvů
Operace kreslení
- Path Drawing - Vytváření cest pomocí čar, Bézierových křivek a uzavřených tvarů
- Object Removal - Odstraňování objektů stránky a znovuvygenerování obsahu stránky z TPdf nebo TPdfView
- Fill and Stroke - Nastavení režimu výplně, barev, průhlednosti a vlastností tahu
- Blend Modes - Podpora různých režimů prolínání PDF
- Line Styles - Nastavení zakončení čar, spojení čar a šířky tahu
Digitální podpisy
- Signature Detection - Detekce a výčet digitálních podpisů v PDF dokumentech
- Signature Information - Přístup k obsahu podpisu, rozsahu bajtů, subfiltru, důvodu a času
- MDP Permissions - Dotaz na oprávnění pro zjištění a prevenci úprav dokumentu
Podpora příloh
- Attachment Access - Čtení, vytváření, úpravy a mazání vložených souborových příloh
- Attachment Names - Přístup k názvům příloh
- Attachment Types - Čtení hodnot MIME subtype vložených souborů, pokud jsou dostupné
- Bookmarks - Navigace v záložkách dokumentu s hierarchickou podporou přes pole
Bookmarksa pomocníky pro průchodBookmarkChildren,HasBookmarkChildrenaBookmarkFrom- Named Destinations - Přístup k pojmenovaným cílům podle indexu nebo názvu přes
Destination,DestinationByNameaDestinationCount- Page Labels - Získání popisků stránek pro každou stránku přes
PageLabel; užitečné, když dokument používá římské číslice pro úvodní části- Web Links - Detekce a navigace po webových odkazech na stránkách pomocí
WebLink,WebLinkCountaTPdfView.WebLinkAtPos- Link Annotations - Přístup k odkazovým anotacím s informacemi o akci a cíli přes
LinkAnnotation,LinkAnnotationCountaTPdfView.LinkAnnotationAtPos- Safe Link Click Handling -
TPdfViewvyvolá událostiOnAnnotationLinkClick/OnWebLinkClickpřed automatickým zpracováním goto / URI, přičemž akce launch jsou ve výchozím stavu vypnuté. Detekce kliknutí na odkaz probíhá jen tehdy, když gesto je kliknutí a ne tah, a používá čerstvý kotevní bodMouseDown, takže panování stále prochází existující cestou posouvání beze změny
Vykreslování
- High-Quality Rendering - Vykreslení stránek do device contextu, bitmapy nebo dlaždice přes
RenderPage/RenderTiles přímým zápisem bez kopie do cílového bufferu DIB- Progresivní vykreslování s možností zrušení -
RenderPageProgressiveřídí progresivní smyčku PDFium a mezi iteracemi kontrolujeIPdfCancellationToken, přičemž vracíprsDone,prsCancelledneboprsFailed. Při zrušení bitmapa uchovává dosavadní částečně provedenou práci- Render Options - Optimalizace textu pro LCD (
reLcd), anotace (reAnnotations), odstíny šedi a příznaky tiskového režimu- Skia Hooks - Nízkou úroveň vazeb
FPDF_RenderPageSkiaaFPDF_FFLDrawSkialze použít, když volající poskytne externíSkCanvas(záleží na exportech přibalené DLL)- Print Mode Selection - Nastavení režimů tisku PDFium přes
SetPdfPrintModeaTPdfPrintModepro EMF, pouze text, PostScript, pass-through, image-mask a Type 42- Async Overlay -
TPdfViewmůže zobrazit volitelný překryv načítání, zatímco pracovní vlákna aplikace vykreslují přes samostatné instanceTPdf- Rotace stránky - Podpora rotace 0, 90, 180 a 270 stupňů (
ro0,ro90,ro180,ro270)- Transparency Detection - Vlastnost
Transparenthlásí, zda má některý objekt na aktuální stránce průhlednost, včetně režimů prolínání a částečného alfa
Prohlížení (TPdfView)
- Display Modes -
dmSingleContinuous,dmTwoPageContinuousadmTwoPageContinuousWithCover(úvodní stránka stojí samostatně a pak se pokračuje dvoustránkovými přehledy). Pomocník na úrovni jednotkyComputeSpreadPageszpřístupňuje výpočty rozvržení bez vytvoření prohlížeče- Fit Mode -
FitModeurčuje, jak stránka sedí ve výřezu:pfmNone(ruční zoom),pfmActualSize(100 %),pfmFitPage(celá stránka se vejde do výřezu) apfmFitWidth(šířka stránky odpovídá šířce výřezu). Aktivní režim se po změně velikosti i při změně aktuální stránky automaticky znovu použije; přímé nastaveníZoomaktivní fit mode zruší aFitModese vrátí napfmNone, což odpovídá standardnímu chování prohlížečů PDF- Zoom Control - Proměnné přiblížení přes pomocníky
PageZoom,PageWidthZoom,PageHeightZoomaActualSizeZoompro jednotlivé stránky- Page Color -
PageColorodděluje pozadí vykreslené PDF stránky odColorokolního ovládacího prvku. Výchozí jeclWhite, takže PDF stránky se vykreslují jako papír bez ohledu na motiv hostitelské aplikace. Prohlížeče v tmavém režimu mohou ponechat tmavou oblast posunu a přitom nechat samotnou PDF stránku bílou nebo zbarvenou podle výběru aplikace- Interactive Text Selection - Koncový uživatel může na PDF stránkách táhnout pro výběr textu a hit-test automaticky přepíná mezi výběrem a posunem: kliknutí na znak začne výběrový tah, kliknutí do mezery posouvá stránku. Dvojklik vybere slovo, trojklik vybere řádek,
Ctrl+Avybere stránku (obě stránky ve spread režimu),Ctrl+Ckopíruje jakoCF_UNICODETEXT,Shift+šipkyrozšiřují výběr, najetí na text přepne kurzor nacrIBeama tažení k okraji prohlížeče stránku automaticky posouvá. Nové publikovanéSelectionColoraOnSelectionChange; nové veřejnéHasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAll,CopySelectionToClipboard. Spread režimy vybírají přes obě viditelné stránky a spojují je pomocí CR/LF. Výchozí pravé kliknutí Copy popup se připojí automaticky, když host nemá vlastníPopupMenu. Omezeno příznakemAllowUserTextSelectionod v1.17.0 pro kiosk hosty- Coordinate Mapping - Převod mezi souřadnicemi zařízení prohlížeče a souřadnicemi stránky PDF přes
DeviceToPage/PageToDevice, včetně přetížení, která berouTRecta vracejíTPdfRectangle- Text Selection and Hit Testing - Určení znaků pod body prohlížeče pomocí
CharacterIndexAtPosa vykreslení zvýraznění výběru textu přesPaintSelection- Mouse & Keyboard - Plná podpora vstupních zařízení s posouváním tažením myši, zkratkami PgUp / PgDn / Ctrl+Home / Ctrl+End a navigací po stránkách kolečkem nahoru / dolů.
Ctrl+ kolečko je vyhrazené pro přiblížení aplikace a navigační obsluha jej přeskočí- User Input Lock-Down -
AllowUserPageChangeřídí klávesové zkratky stránek,ChangePageOnMouseScrollingřídí skoky stránek kolečkem aAllowUserTextSelectionřídí textový výběr myší i klávesnicí. Všechny tři mají výchozí hodnotu True; přepněte je na False pro kiosky, náhledové panely nebo vložení jen pro čtení bez dědění- Async Render Overlay -
AsyncRendering,LoadingTextaLoadingColorkreslí malý indikátor „Loading..." přes vykreslenou stránku, aby aplikace používající vlastní worker pro dlouhé vykreslování měly konzistentní vizuální signál. Výchozí nastavení zachovává původní chování.TPdfnyní serializuje volání vykreslování a uvolnění stránky po instanci; aplikace stále řídí dispatch workerů a nesmí měnit dokument, když render běží- Safe Link Click Handling -
LinkOptionsje publikovaná množina, která řídí automatické chování pro čtyři typy PDF akcí odkazu:loAutoGoto(skok na stránku),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) aloAutoEmbeddedGoto(rezervováno). Výchozí hodnoty zapínají jenloAutoGotoaloAutoOpenURI;loAutoLaunchaloAutoEmbeddedGotozůstávají vypnuté, aby náhodné kliknutí nemohlo spustit libovolný program.OnAnnotationLinkClickaOnWebLinkClickse vyvolají před jakoukoli automatickou akcí a umožní aplikaci označit událost jako zpracovanou nebo ji přesměrovat- Form Interaction - Interaktivní úpravy formulářů v prohlížeči plus pomocníci pro výběr / Undo / Redo z v1.23.0
- Visual Styling -
PageShadowSize,PageShadowColoraPageBorderColorkreslí volitelný stín pod obdélníkem stránky a jedno-pixelový okraj kolem něj;SmoothScrollnyní animuje příkazy posuvu řádku / stránky v časovaných úsecích, zatímco sledování posuvníku zůstává okamžité- Thumbnail Navigation -
TPdfThumbnailView(jednotkaFPdfThumbnail) vykresluje miniaturu jedné stránky na řádek v posuvném bočním panelu se zvýrazněním najetí a výběru i navigací kliknutím. Je navržený tak, aby seděl vedleTPdfView. Vlastnosti:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; událost:OnPageClick
Komprese
- Automatic Compression - Když je vlastnost
CompressedTrue(výchozí), při ukládání se zajistí komprese všech PDF streamů přes FlateDecode- Post-Processing - Kompresní modul projde uložená PDF data a zkomprimuje všechny nekomprimované streamy pomocí maximální komprese zlib
- Cross-Reference Rebuild - Automaticky znovu sestaví xref tabulku, když komprese streamu změní posuny bajtů
- Zero Overhead - Když už jsou všechny streamy komprimované, data projdou bez úprav
Zabezpečení
- Otevírání PDF dokumentů chráněných heslem - Otevírání PDF dokumentů chráněných heslem
- Permissions - Čtení oprávnění dokumentu i uživatele; demo
SecurityAuditspojuje oprávnění, přílohy, dokumentový JavaScript, odkazy URI / Launch, podpisy, XFA a dostupnost V8 do jen pro čtení přístupné rizikové plochy s ukládáním TXT / JSON reportu i akcí kopírování TXT- Ukládání dokumentů s odstraněným zabezpečením, pokud je to povoleno - Ukládání dokumentů s odstraněným zabezpečením, pokud je to povoleno
Tisk
- Volba mezi režimy tisku EMF, pouze text, PostScript Level 2 / 3, PostScript pass-through, EMF image-mask a Type 42 přes globální funkci
SetPdfPrintMode- Volba mezi režimy tisku EMF, pouze text, PostScript Level 2 / 3, PostScript pass-through, EMF image-mask a Type 42 přes globální funkciSetPdfPrintMode- Zpřístupňuje záměr autora dokumentu přes
PrintCopies,PrintPageRanges(rozsahy stránek od jedné),PrintScalingaPrintPaperHandling;SetPdfPrintPaperHandlingDevModemapuje nápovědu duplexu do WindowsDEVMODE.dmDuplex- Zpřístupňuje záměr autora dokumentu přesPrintCopies,PrintPageRanges(rozsahy stránek od jedné),PrintScalingaPrintPaperHandling;SetPdfPrintPaperHandlingDevModemapuje nápovědu duplexu do WindowsDEVMODE.dmDuplex- Ukázky
PrintPreferencesv Delphi, C++Builderu a Lazarusu ukazují skládání listů N-up (1 / 2 / 4 / 9 stránek na list) s filtrováním lichých / sudých stránek, vykreslením do odstínů šedi, volitelnými 1px okraji buněk, tiskovými preferencemi autora PDF a mapováním záměru duplexu přesSetPdfPrintPaperHandlingDevMode- UkázkyPrintPreferencesv Delphi, C++Builderu a Lazarusu ukazují skládání listů N-up (1 / 2 / 4 / 9 stránek na list) s filtrováním lichých / sudých stránek, vykreslením do odstínů šedi, volitelnými 1px okraji buněk, tiskovými preferencemi autora PDF a mapováním záměru duplexu přesSetPdfPrintPaperHandlingDevMode
Dodávané ukázky
Stromy
Demo\Delphi,Demo\CBuilderaDemo\Lazarusobsahují spustitelné ukázkové projekty, které procvičují živé API napříč všemi třemi rodinami IDE. Přehled:
- PDFViewer / MultiPageViewer / SplitView - Komplexní použití TPdfView: načtení, navigace, přiblížení, otočení, dvoustránkové zobrazení, rozvržení s ohledem na obálku a porovnání PDF vedle sebe v Delphi / C++Builder / Lazarus se synchronizovanými příkazy; ukázky prohlížeče jsou také praktickými testy rychlosti pro vícegigabajtová PDF, kde mohou 2.x GB dokumenty dosáhnout použitelného prvního zobrazení téměř okamžitě, zatímco vykreslování stránky zůstává responzivní
- ViewerInteractionLab - Cílené ukázky interakce TPdfView pro Delphi, C++Builder a Lazarus pro režimy zobrazení, režimy přizpůsobení, barvy stránky, rotaci, zvýraznění hledání, výběr textu, náhled vybraného textu, akce schránky a zpětnou vazbu souřadnic DeviceToPage
- SearchAndSelect - Cílené ukázky pracovních postupů pro Delphi, Lazarus a C++Builder pro výpis výsledků hledání na všech stránkách, navigaci na předchozí / další shodu, skok na výsledek dvojitým kliknutím,
HighlightSearchText, hledání s rozlišením velkých a malých písmen / celých slov,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelectiona režimy zobrazení dvoustrany- PreflightReport - Ukázky pracovních postupů pro Delphi, Lazarus a C++Builder plus doprovodná konzolová aplikace pro Delphi okolo opakovaně použitelného
FPdfPreflightReport, shromažďující výsledky validace PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R a PDF/VT do řádků stavu, priority, kategorie problému, počtů kategorií problémů, souhrnů dalších akcí, doporučení k problémům, s náhledy v textu / Markdownu / JSON / CSV, zprávami v TXT / HTML / Markdownu / JSON / CSV, skriptovatelným generováním zpráv, dávkovým zpracováním seznamů a adresářů se směrováním adresářů zpráv, agregovanými souhrny v TXT / JSON / HTML, manifesty řádků CSV, volitelným vložením zprávy jako přílohy a chybovými kódy pro CI brány- ContentExtractionLab - Jednotný pracovní postup inventarizace obsahu pro Delphi, Lazarus a C++Builder pro metadata dokumentů, text stránek, objekty stránek, obrázky, přílohy, odkazy, anotace, záložky a metriky fontů / znaků s exportem do TXT / JSON, výběrem všech / žádných kategorií, uložením zdrojového PDF a akcemi kopírování zpráv
- WatermarkStamp - Znovupoužitelný pracovní postup Form XObject pro Delphi, Lazarus a C++Builder pro vystředěné vodoznaky, rohová razítka a popisky s čísly stránek napříč vícestránkovým cílovým PDF
- CreatePDF - Sestaví vícestránkový PDF od základu s textem, obrázky, vektorovými cestami, tabulkami a kompozicí vodoznaku; obsahuje volbu „European Text" pro zápis akcentovaného textu v češtině, francouzštině, němčině, španělštině, portugalštině, polštině a turečtině s cílem ověřit výběr fontů a zpracování Unicode
- ExtractText / ExtractImages / ContentExtractionLab - Uloží extrahovaný text (včetně odděleného výstupu po stránkách) nebo vložené obrázky na disk; nebo vygeneruje vícedruhový inventárový report obsahu v jednom průchodu
- FormFill - Čte metadata polí AcroForm, zapisuje hodnoty, znovu generuje vzhledy /AP a uloží buď upravitelný, nebo zploštělý výsledek
- FontProperties - Zkoumejte metadata u indexovaných znaků / fontů prostřednictvím TPdf i TPdfView v Delphi, C++Builderu a Lazarusu
- MergePDF / SplitPDF - Sloučí více zdrojových PDF (s výběrem rozsahu stránek pro každý soubor, volitelnou výstupní cestou, protokolem průběhu, tlačítkem zrušení a souhrnným hlášením po dokončení sloučení) nebo rozdělí jedno PDF na výstupní soubory po jednotlivých stránkách
- PDFtoJpg / BatchExport - Jednorázový nebo dávkový převod PDF do JPG pro více souborů v Delphi, C++Builderu a Lazarusu s celkovým průběhem pro každý soubor, aktuálním průběhem pro každou stránku, vstupy pro DPI / kvalitu / heslo a dávkou kooperativně zrušitelnou pomocí
IPdfCancellationToken- StandardsLab - Ukázky pracovních postupů v Delphi, C++Builder a Lazarus pro validaci PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R a PDF/VT, hlášení problémů a uložení standardizovaných výstupů
- PrintPDF / PrintPreferences - Standardní tisk PDF pro Delphi, C++Builder a Lazarus s náhledem, rozsahy stránek, počtem kopií, kompletováním (collate), průběhem a zrušením (PrintPDF), plus kompozice N-up listů pro Delphi, C++Builder a Lazarus s filtrováním lichých / sudých stránek a preferencemi tisku autora PDF (PrintPreferences)
- SecurityAudit - Ukázky povrchu rizik pouze pro čtení pro Delphi, C++Builder a Lazarus pro oprávnění, přílohy, akce JavaScriptu, odkazy URI / Launch, webové odkazy, podpisy, stav XFA, dostupnost pomocníků V8 / XFA a auditní zprávy v TXT / JSON
- Attachment - Vytvářejte PDF, přidávejte / vypisujte / extrahujte / mažte / ukládejte vložené přílohy souborů se zobrazením podtypu MIME
- ImageToPDF - Dávkový převod obrázků do jednoho PDF (jeden obrázek na stránku) pro Delphi, C++Builder a Lazarus, s náhledem a ukazatelem průběhu pro každý obrázek
Regresní sady Delphi, C++Builderu a Lazarusu pokrývají 147 (Pas) / 123 (C++) případů sdílejících stejná referenční (fixture) PDF, takže chování zůstává naprosto shodné napříč všemi třemi rodinami IDE.
Podpora platforem
- Delphi - Delphi XE5 (RAD Studio XE5) po Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder - C++Builder XE5 (RAD Studio XE5) po C++Builder 13.1 Florence
- Lazarus - Podpora Free Pascal / Lazarus
- Win32 / Win64 - Platformy Windows 32-bit i 64-bit