Alapvető komponensek
- TPdf - A PDF dokumentumok kezelésének fő komponense a PDF dokumentumok megnyitásához, navigálásához, szövegkivonásához és szerkesztéséhez
- TPdfView - PDF oldalak megjelenítésére és kezelésére szolgáló vizuális komponens
- TPdfReadingSession - Felolvasási vezérlő komponens a gazda TTS motorokhoz és a TPdfView szókövetéséhez
- TPdfThumbnailView - Görgethető bélyegkép oldalsáv az oldalak közti navigációhoz
Dokumentumkezelés
- Dokumentumbetöltés - PDF fájlok betöltése lemezről, memóriastreamekből, bájttömbökből vagy igény szerinti TStream adaptereken keresztül a
LoadCustomDocumentsegítségével. A PDFium igény szerint olvassa a blokkokat, így a többgigabájtos dokumentumoknak és a távoli / adatbázis-alapú forrásoknak nincs szükségük előzetes memóriabeli másolatra- Jelszavas védelem - Jelszóval védett PDF dokumentumok megnyitása és a hitelesített munkamenet tényleges
UserPermissionsértékeinek megjelenítése- Dokumentumkészítés - Új PDF dokumentumok létrehozása a semmiből a
CreateDocument,AddPage,AddText,AddImage,AddPicture,AddJpegImageésCreatePathsegítségével- Dokumentummentés - Módosított dokumentumok mentése különféle beállításokkal (inkrementális, biztonság eltávolítása) és explicit PDF célverziókkal a PDF 1.0-tól a PDF 1.7-ig
- PDF/A-1b kimenet - A
SaveAsPdfA/SaveAsPdfAToStreama bázismentést egy inkrementális frissítéssel egészíti ki, amely XMP metaadatfolyamot, sRGB ICC OutputIntentet és frissített dokumentumkatalógust injektál, így az eredmény PDF/A-1b kompatibilis lesz. Egyéni ICC profilok támogatása aTPdfASaveOptions.IccProfileDatarévén- PDF/A ellenőrzés - A
ValidatePdfAés a csak olvashatóPdfAConformancetulajdonság egy nyitott dokumentumot vizsgál XMPpdfaidjelölők, beágyazott ICC-vel rendelkező OutputIntent, titkosítás jelenléte és a megfelelőségi szint (pac1a,pac1b,pac2b,pac3b,pacNonevagypacUnknown) jelentése érdekében, valamint felsorolja a talált problémákat leíróTPdfAValidationIssuebejegyzéseket- PDF-verzió megfelelőségi ellenőrző - Amikor a SaveAs a PDF 1.0 és PDF 1.7 közötti célverzióra ment, az író elutasít minden olyan szótári bejegyzést, szűrőt, jegyzettípus-t, művelettípust, betűtípust, színtér-paramétert vagy titkosítási paramétert, amelyet a kiválasztott célverzió után vezettek be (például JBIG2Decode, MarkInfo, OutputIntents, AES / AES-256, Polygon / Caret / Watermark / Redact annotációk, JavaScript / Trans / SetState műveletek)
- Streamtömörítés - Az automatikus FlateDecode tömörítés biztosítja, hogy mentéskor minden PDF stream optimálisan tömörítve legyen; a hibakeresési folyamatokhoz a
Compressed := Falsekapcsolóval kikapcsolható- Dokumentumok egyesítése - Oldalak importálása más PDF dokumentumokból
- Oldalkivonat importálás - A
ImportPagesByIndexegy explicit, nullától indexelt tömböt másol át a forrásdokumentumból, ahol az InsertAt = 0 beszúr az 1. oldal elé, az InsertAt = PageCount pedig a végére fűz. Üres indextömb átadásával minden forrásoldal importálható- N-up összeállítás - A
ImportNPagesToOneegy vadonatújTPdfpéldányt ad vissza, amelynek oldalai a forrásdokumentum oldalaiból NumX×NumY összetételek, PDF felhasználói egységekben méretezve (1 egység = 1/72 hüvelyk)- Oldalak átrendezése - A
MovePagesegy nullától indexelt tömb és az első mozgatott oldal célindexe alapján rendezi át a lapokat helyben- Form XObject oldalfelhasználás - A
CreateXObjectFromPageújrahasználhatóTPdfXObjectfogantyút készít egy másik dokumentum bármely oldalából; azInsertFormObjectFromXObjecta becsomagolt oldal EGY példányát szúrja be az aktuális oldalra. Ideális vízjelekhez, sablonrétegekhez és „egy oldalt sokra bélyegzés” munkafolyamatokhoz. A céloldal objektuma aFPDFPageObj_SetMatrixés aTPdfMatrixsegédek segítségével pozicionálható, skálázható és forgatható- Oldalkezelés - Egyes oldalak hozzáadása, törlése és kezelése; a
AddPage(0, ...)a legelső oldalt szúrja be és azonnal aktiválja- Oldalmezők - A jelenlegi oldalon a MediaBox, CropBox, BleedBox, TrimBox és ArtBox értékek olvasása és írása
- Katalógusnyelv - A katalógusban tárolt dokumentumnyelv olvasása és írása a /Lang bejegyzésben
- Trailer fájlazonosítók - Az állandó és változó trailer /ID bejegyzések olvasása bináris bájtokként
- Dokumentum JavaScript műveletek - Dokumentumszintű JavaScript névfa műveletnevek és szkriptek felsorolása
- Taggelt PDF szerkezeti fa - Logikai szerkezeti elemek, akadálymentesítési szöveg, nyelv, jelölt tartalomazonosítók és hierarchia vizsgálata taggelt PDF oldalakhoz
- Nézetbeállítások - A dokumentum nézetbeállítási szótárából a
PrintCopies,PrintPageRanges,PrintScalingésPrintPaperHandlingértékek olvasása; a mentett PDF-ek alapértelmezett első oldalas megnyitási művelete Fit Height
Szövegműveletek
- Szövegkinyerés - Szöveg kinyerése PDF oldalakról karakterpontossággal a
Text,TextInRectangle, indexeltCharacter,CharacterRectangleésCharacterOrigintulajdonságokon keresztül- Mondatszintű olvasási egységek - A TPdf.ReadingUnits, TPdf.DocumentReadingUnits, TPdfView.ReadingUnits és a BuildReadingUnits mondatméretű TPdfReadingUnit rekordokat tesznek elérhetővé szinkronizált TTS felolvasáshoz
- Szószintű olvasási kiemelés - A
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowegy oldal karaktereltolását a megfelelő TPdfWordBox-hoz rendelik, kiemelik azt, és visszaadják a szóindexet; egy TPdfWordBox-ot az aktuálisan kimondott szóként jelölnek a TPdfView-ben; törlik az aktuális szószintű olvasási kurzor átfedést a TPdfView-ről; vezérlik az aktuális szóhoz használt átfedés színét; vezérlik, hogy a TPdfView az aktuálisan kimondott szót a nézetbe görgesse-e követés közben- Felolvasási munkamenet-vezérlés - A
TPdfReadingSession,TPdfSpokenText,SpokenTextAppend,BuildSpokenTextFromWords,SpokenToPageCharésEstimateSpokenWordIndexösszehangolják a gazda TTS motorokat, a kimondott szegmenseket, a szópozíció-visszahívásokat, a becsült tempót, a szünet / folytatás kezelést és a TPdfView szókurzor-frissítéseket- Szövegkeresés - Szöveg keresése kis- és nagybetűérzékeny, egész szavas és egymást követő keresési beállításokkal a
FindFirst,FindNext,FindPrevioushasználatával- Keresési kiemelő átfedés - A
TPdfView.HighlightSearchTextátvizsgálja az aktuális nézetoldalt, és minden újrarajzoláskor valós alfa-kevertHighlightColorátfedést fest minden találatra, miközben visszaadja a találatok számát. AClearHighlighteltávolítja az átfedést; másik oldalra váltáskor ez automatikusan törlődik, mert a találatok oldalhoz kötöttek. AHighlightColoralapértelmezéseclYellow, és publikált, így az alkalmazások témázhatják- Karaktertulajdonságok - Az egyes karakterekhez tartozó betűméret, vastagság, szög és pozicionálás elérése a
CharacterAngle,CharacterFontSize,CharacterFontWeight,CharacterGenerated,CharacterIsHyphenésCharacterMapErrorindexelt tulajdonságokon keresztül- Európai karaktertámogatás - Az
AddTextautomatikusan betölti és gyorsítótárazza a megfelelő rendszer TrueType betűtípust, mielőtt létrehozná a szövegobjektumot, így a PDFium beépített szabványbetűi által nem kezelt ékezetes cseh, francia, német, spanyol, portugál, lengyel és török karakterek most kódtovábbítás nélkül helyesen jelennek meg- Szöveg hozzáadása - Új szöveg hozzáadása PDF oldalakhoz egyéni betűtípusokkal, színekkel, átlátszósággal és forgatással
- Szövegobjektumok pozicionálása - Meglévő szövegobjektumok karakterenkénti pozícióinak beállítása a
SetTextPositionsés aTPdfSingleArraysegítségével- Betűinformációk - Betűtulajdonságok lekérdezése, beleértve a családnevet, beágyazási állapotot, dőlésszöget, ascent / descent értékeket és a nyers betűadatokat oldali objektumonként
Jegyzetkezelés
- Annotációtípusok - Támogatás szöveg, hivatkozás, kiemelés, aláhúzás, áthúzás és sok más annotációtípus számára
- Annotáció létrehozása - Új annotációk létrehozása programból
- Annotáció szerkesztése - Meglévő annotációs tulajdonságok módosítása, beleértve a színt, az átlátszóságot és a tartalmat
- Linkannotációk - Belső és külső hivatkozások kezelése művelettámogatással
Űrlaptámogatás
- Hangalapú űrlapkitöltési elérők - A TPdf és a TPdfView FocusedFormFieldValue, FocusedFormFieldName és FocusedFormFieldDetails tulajdonságai elérhetővé teszik az aktuális logikai űrlapmező értékét, nevét és a TPdfFormFieldInfo-t billentyűzetes vagy hangvezérelt űrlapkitöltéshez
- Űrlaptípusok - Támogatás AcroForm és XFA űrlapokhoz
- Űrlapkitöltés - Interaktív űrlapkitöltés JavaScript támogatással
- V8 DLL kiválasztás - A betöltés előtt állítsa be az
EnableV8Engineértéket, hogy a megfelelőDLLs\Win32vagyDLLs\Win64mappából származópdfium.v8.dlllegyen használva, és a V8/XFA segédfüggvények elérhetősége lekérdezhető legyen aV8FeaturesAvailable,XfaBStrHelpersAvailableésGetRecommendedV8Flagssegítségével- Mezőelérés - Űrlapmező értékek olvasása és írása index vagy pozíció alapján
- Mezőinformációk - Mezőtípus, jelzők, név és egyéb tulajdonságok elérése
- Mezőjelzők - AcroForm mezőjelzők frissítése index vagy pozíció alapján a
SetFormFieldFlags/SetFormFieldFlagsAtsegítségével, beleértve a csak olvasható, kötelező, jelszó és többválasztós jelzőket- Űrlaplapítás - A
GenerateFormAppearancesminden oldalon minden űrlapvezérlőhöz újragenerálja a /AP megjelenési streamet, aFlattenPage/FlattenAllPagespedig a jegyzeteket és az űrlapmezőket statikus oldaltartalommá égeti be (nem szerkeszthető)- Űrlapvezérlő szövegkijelölés és visszavonás / ismétlés - A fókuszban lévő AcroForm vezérlőn a nézet elérhetővé teszi a
GetSelectedFormText(jelenleg kijelölt szöveg),SelectAllFormText(minden karakter kijelölése), valamint aFormUndo/FormRedo/FormCanUndo/FormCanRedo(a PDFium vezérlőnkénti szerkesztési előzményeinek kezelése) műveleteket. Mind a hat biztonságosan rövidre zár, ha a nézet inaktív vagy nincs fókuszban vezérlő
Képműveletek
- Képkinyerés - Bitképek kinyerése PDF oldalakról az indexelt
Bitmaptulajdonsággal; aBitmapCountbejárásával minden kép menthető lemezre- JPEG beszúrás - Az
AddJpegImagenyers JPEG bájtokat tartalmazó TStreamet fogad, és az adatot újraenkódolás nélkül /DCTDecode XObjectként ágyazza be- Képtámogatás - Az
AddPictureegyTPictureobjektumot fogad, automatikus formátumkonverzióval a regisztrált VCL / LCL grafikus osztályokon keresztül- Közvetlen képbeszúrás - Az
AddImage(FileName)felismeri a VCL vagy LCL graphics egységekben regisztrált bármely formátumot (BMP, PNG a PngImage-en keresztül, JPG, ...), és ugyanazt az AddPicture csővezetéket használja. AzAddImage(TBitmap)kihagyja a TPicture köztes réteget, ami egyszerűsíti azokat a hívókat, amelyek már rendelkeznek egy renderelésből vagy kötegelt generálásból származó TBitmap példánnyal- Kép ICC profil - A képoldali objektumok szükség esetén elérhetővé teszik a beágyazott ICC profiladatukat (a
FPDFImageObj_GetIccProfileDataDecodedkötése)- Bélyegkép létrehozása - Az aktuális oldal bélyegkép bitképeinek létrehozása a
Thumbnailtulajdonságon keresztül vagy bármely egyalapú oldal renderelése aTPdf.RenderPageThumbnailsegítségével aPageNumbermódosítása nélkül
Segítő egységek
- Aszinkron infrastruktúra - Az
FPdfAsyncelérhetővé teszi azIPdfCancellationToken/IPdfCancellationTokenSourcepárost a felületről kezdeményezett, együttműködő megszakításhoz, egy újrahasználhatóPdfNoCancellationTokenegyedet, valamint egy könnyűTPdfFuture<T>segítőt, amely egy munkafolyamatot háttérszálon futtat, majdTPdfFutureResult<T>burkolatban visszaküldi a főszálra, elkülönítve a siker, a megszakítás és a hiba eseteket- Streamadapter - A
TPdfStreamAdapteregy PascalTStream-et köt össze a PDFiumFPDF_FILEACCESSvisszahívásaival, így aLoadCustomDocumentigény szerint olvas blokkokat a teljes PDF memóriába pufferelése helyett- Mátrixösszeállítás - Az
FPdfMatrixa PDFiumFS_MATRIXtípusát OO API-val burkolja aTranslate,Scale,Rotate,HorizontalFlip,VerticalFlip,CentralFlip,SkewésMultiplyműveletekhez. AMultiplya hat mátrixelemet pillanatképként rögzíti, mielőtt kiszámítaná az új sorértékeket, így elkerüli azt az alternatív Pascal-megvalósításnál előforduló hibát, amikor a korábbi elemek ugyanazon hívás közben felülíródnak, és hibás összetételt eredményeznek- Megszakítható progresszív renderelés - A
TPdf.RenderPageProgressivea PDFiumFPDF_RenderPageBitmap_Start+RenderPage_Continueciklusát vezérli, és iterációk között egyIPdfCancellationToken-t ellenőriz azIFSDK_PAUSEvisszahíváson keresztül, így a hosszú, nagy DPI-s renderelések féloldalnál megszakíthatók ahelyett, hogy a befejezésig blokkolnának.TPdfProgressiveStatusértékkéntprsDone,prsCancelledvagyprsFailedkerül visszaadásra- Nulla többletű renderelési út - A
RenderPage/RenderTile/RenderPageProgressivea PDFium kimenetét közvetlenül a célTBitmapDIB bufferébe írja egy belső puffer közbeiktatása helyett, így minden rendernél egy width × height × 4 bytes memóriamásolás megspórolható - ez nagy DPI mellett a legszembetűnőbb (bélyegkép-panelek, nyomtatási minőségű export, kötegelt export). Megmarad egy soronkénti visszaesési útvonal arra az esetre, ha a cél DIB nem burkolható biztonságosan- Gyengénlátó bitképalakítások - Az InvertPdfBitmap, GrayscalePdfBitmap és DuotonePdfBitmap a renderelt 32 bites TBitmap pixeleket helyben alakítják át invertált, szürkeárnyalatos vagy kétszínű alacsony látású nézetekké
- Élő gyengénlátó nézet - A
TPdfView.Optionstámogatja areInvertésreNightDuotoneopciókat, aNightDuotoneInkésNightDuotonePaperpedig a live éjszakai palettát vezérlik, mielőtt az átfedések kirajzolódnak
Rajzolási műveletek
- Útvonalrajzolás - Útvonalak létrehozása vonalakkal, Bezier-görbékkel és zárt alakzatokkal
- Objektumeltávolítás - Oldalobjektumok eltávolítása és az oldal tartalmának újragenerálása a TPdf vagy TPdfView segítségével
- Kitöltés és kontúr - Kitöltési mód, színek, átlátszóság és vonaljellemzők beállítása
- Keverési módok - Támogatás különféle PDF keverési módokhoz
- Vonalstílusok - Vonalvég, vonalcsatlakozás és vonalvastagság beállítása
Digitális aláírások
- Aláírásészlelés - Digitális aláírások felismerése és felsorolása PDF dokumentumokban
- Aláírásinformációk - Az aláírás tartalmának, bájttartományának, al-szűrőjének, okának és idejének elérése
- MDP jogosultságok - Dokumentummódosítás-észlelési és -megelőzési jogosultságok lekérdezése
Mellékletkezelés
- Mellékletelérés - Beágyazott fájlmellékletek olvasása, létrehozása, módosítása és törlése
- Mellékletnevek - Mellékletfájlnevek elérése
- Melléklettípusok - A beágyazott fájl MIME altípus értékeinek olvasása, amikor elérhetők
- Könyvjelzők - Dokumentum könyvjelzők közti navigáció hierarchikus támogatással a
Bookmarkstömb,BookmarkChildren,HasBookmarkChildrenésBookmarkFrombejáró segédek segítségével- Nevesített célpontok - Nevesített célpontok elérése index vagy név alapján a
Destination,DestinationByNameésDestinationCountsegítségével- Oldalcímkék - Oldalcímkék lekérdezése minden oldalhoz a
PageLabelrévén; hasznos, amikor a dokumentumok római számokat használnak az előzékhez- Webhivatkozások - Webhivatkozások felismerése és megnyitása oldalakon a
WebLink,WebLinkCountésTPdfView.WebLinkAtPossegítségével- Linkannotációk - Hivatkozásjegyzetek elérése művelet- és célpontinformációval a
LinkAnnotation,LinkAnnotationCountésTPdfView.LinkAnnotationAtPossegítségével- Biztonságos linkkattintás-kezelés - A TPdfView az automatikus goto / URI kezelés előtt kiváltja az
OnAnnotationLinkClick/OnWebLinkClickeseményeket, a launch műveletek pedig alapból le vannak tiltva. A linkkattintás-észlelés csak akkor fut, ha a gesztus kattintás és nem húzás, és egy friss MouseDown horgonyt használ, így a pán mozgatások változatlanul a meglévő görgetési útvonalon haladnak tovább
Renderelés
- Nagy minőségű renderelés - Oldalak renderelése eszközkontextusba, bitképre vagy csempére a
RenderPage/RenderTilesegítségével, közvetlen, zero-copy írással a cél DIB bufferbe- Megszakítható progresszív renderelés - A
RenderPageProgressivea PDFium progresszív ciklusát vezérli és iterációk között egyIPdfCancellationToken-t figyel,prsDone,prsCancelledvagyprsFailedvisszatéréssel. Megszakításkor a bitkép megtartja az addig elvégzett részleges munkát- Renderelési beállítások - LCD szövegoptimalizálás (
reLcd), annotációk (reAnnotations), szürkeárnyalatos és nyomtatási mód jelzők- Skia horgok - Az alacsony szintű
FPDF_RenderPageSkiaésFPDF_FFLDrawSkiakötései elérhetők, amikor a hívó külső SkCanvas-t ad meg (a mellékelt DLL exportjaitól függ)- Nyomtatási mód kiválasztás - EMF, csak szöveg, PostScript, pass-through, image-mask és Type 42 PDFium nyomtatási módok beállítása a
SetPdfPrintModeés aTPdfPrintModesegítségével- Aszinkron átfedés - A TPdfView opcionális betöltési átfedést jeleníthet meg, miközben az alkalmazás tulajdonában lévő munkaszálak külön TPdf példányokkal renderelnek
- Oldalforgatás - Támogatás a 0, 90, 180 és 270 fokos forgatáshoz (
ro0,ro90,ro180,ro270)- Átlátszóság-észlelés - A
Transparenttulajdonság jelzi, hogy az aktuális oldalon van-e bármilyen átlátszóságot használó objektum, beleértve a keverési módokat és a részleges alfát
Megtekintés (TPdfView)
- Megjelenítési módok -
dmSingleContinuous,dmTwoPageContinuousésdmTwoPageContinuousWithCover(a borítóoldal önállóan jelenik meg, majd a kétoldalas ívek folytatódnak). Az egységszintűComputeSpreadPagessegéd a kétoldalas lapkiosztás matematikáját teszi elérhetővé nézet létrehozása nélkül- Illesztési mód - A
FitModehatározza meg, hogyan illeszkedik az oldal a nézetablakba:pfmNone(kézi nagyítás),pfmActualSize(100%),pfmFitPage(az egész oldal belefér a nézetbe), éspfmFitWidth(az oldalszélesség illeszkedik a nézet szélességéhez). Az aktív illesztési mód Resize eseménykor és az aktuális oldal változásakor automatikusan újraalkalmazódik; a Zoom közvetlen beállítása megszakítja az aktív illesztési módot (a FitMode visszaállpfmNone-ra), követve a szokásos PDF nézet konvenciót- Nagyításvezérlés - Változó nagyítás a
PageZoom,PageWidthZoom,PageHeightZoomésActualSizeZoomoldalszintű segédekkel- Oldalszín - A
PageColorleválasztja a renderelt PDF oldal hátterét a környező vezérlőColortulajdonságáról. Az alapértelmezettclWhite, így a PDF oldalak papírfehérként jelennek meg, függetlenül a gazdaalkalmazás témájától. A sötét módú nézetek megtarthatják a görgetőterület sötét színét, miközben maga a PDF oldal fehér marad (vagy bármilyen más színt kap, amit az alkalmazás választ)- Interaktív szövegkijelölés - A felhasználó húzással kijelölhet szöveget PDF oldalakon, a hit-test pedig automatikusan vált a kijelölés és a pásztázás között: karakterre kattintva kijelölési húzás indul, üres területre kattintva pásztázás. A dupla kattintás a szót, a hármas kattintás a sort jelöli ki, a
Ctrl+Akijelöli az oldalt (két oldal a spread módban), aCtrl+CaCF_UNICODETEXTformátumba másol, aShift+arrowskiterjeszti a kijelölést, a szöveg fölé húzott kurzorcrIBeam-re vált, és az ablak szélére húzás automatikusan görgeti az oldalt. Új publikáltSelectionColorésOnSelectionChange; új publikusHasSelection,SelectedText,SelectionCharCount,ClearSelection,SelectAll,CopySelectionToClipboard. A spread megjelenítési módok mindkét látható oldalon kijelölnek, CR / LF összekapcsolással. Az alapértelmezett jobb gombos Copy felugró menü automatikusan csatolódik, ha a gazda nem rendelt sajátPopupMenu-t. Az 1.17.0-sAllowUserTextSelectionjelző szabályozza kioszkos gazdák számára- Koordinátaleképezés - Átváltás a néző eszközkoordinátái és a PDF oldalkoordináták között a
DeviceToPage/PageToDevicesegítségével, beleértve azokat a túlterheléseket is, amelyekTRect-et fogadnak ésTPdfRectangle-t adnak vissza- Szövegkijelölés és hit-teszt - A nézetpontok alatti karakterek feloldása a
CharacterIndexAtPossegítségével és a szövegkijelölési kiemelések megfestése aPaintSelectionrévén- Egér és billentyűzet - Teljes bemeneti eszköztámogatás egérhúzással történő görgetéssel, PgUp / PgDn / Ctrl+Kezdőlap / Ctrl+End gyorsbillentyűkkel, valamint egérgörgő fel / le oldalak közti navigációval. A Ctrl+görgő az alkalmazás nagyításának van fenntartva, és a navigációs kezelő kihagyja
- Felhasználói bevitel zárolása - Az
AllowUserPageChangevezérli a billentyűs oldalparancsokat, aChangePageOnMouseScrollingvezérli az egérgörgős oldalugrásokat, azAllowUserTextSelectionpedig az egér / billentyűzetes szövegkijelölési bemenetet. Mindhárom alapértéke True; False-ra állítva lezárhatók a kioszkok, előnézeti panelek vagy csak olvasható beágyazások öröklés nélkül- Aszinkron render átfedés - Az
AsyncRendering,LoadingTextésLoadingColoregy kis „Loading...” jelzést rajzolnak a renderelt oldal fölé, hogy az alkalmazások saját hosszú renderelései egységes vizuális visszajelzést kapjanak. Az alapértelmezések megőrzik a meglévő viselkedést. ATPdfmost példányonként sorba rendezi a render- és oldallebontási hívásokat; az alkalmazások továbbra is maguk kezelik a munkaszálakat, és nem módosíthatnak dokumentumot, miközben render fut- Biztonságos linkkattintás-kezelés - A
LinkOptionsegy publikált halmaz, amely a négy PDF linkművelet-típus automatikus viselkedését szabályozza:loAutoGoto(oldalugrás),loAutoOpenURI(ShellExecute),loAutoLaunch(ShellExecute) ésloAutoEmbeddedGoto(fenntartva). Az alapbeállítások csak aloAutoGotoésloAutoOpenURIopciókat engedélyezik; aloAutoLaunchésloAutoEmbeddedGotokikapcsolva maradnak, hogy egy tévedésből történő kattintás se indíthasson el tetszőleges programot. AzOnAnnotationLinkClickésOnWebLinkClickesemények bármely automatikus művelet előtt lefutnak, és lehetővé teszik, hogy az alkalmazás Handled-re állítsa az eseményt vagy átirányítsa azt- Űrlapkezelés - Interaktív űrlapszerkesztés a nézeten belül, plusz a v1.23.0 kijelölés / Undo / Redo segédek
- Vizuális stílus - A
PageShadowSize,PageShadowColorésPageBorderColoropcionális vetett árnyékot rajzolnak az oldal téglalapja alá és egy egyképpontos keretet köré; aSmoothScrollmost időzítővezérelt szegmensekben animálja a sor- és oldal-görgetős parancsokat, miközben a csúszka követése azonnali marad- Bélyegkép-navigáció - A
TPdfThumbnailView(FPdfThumbnailegység) egy-egy oldal bélyegképét rajzolja soronként egy görgethető oldalsávban, lebegő és kijelölési kiemeléssel, valamint kattintással történő ugrásos navigációval. A TPdfView mellé illesztésre tervezték. Tulajdonságok:CurrentPageIndex,ThumbnailWidth,ThumbnailHeight,TextColor,HoverColor,SelectionColor,BorderColor; esemény:OnPageClick
Tömörítés
- Automatikus tömörítés - Ha a
Compressedtulajdonság True (alapértelmezés), mentéskor minden PDF streamről gondoskodik, hogy FlateDecode tömörítésű legyen- Utófeldolgozás - A tömörítő motor átvizsgálja a mentett PDF adatokat, és a tömörítetlen stream-eket zlib maximális tömörítéssel tömöríti
- Kereszthivatkozás újraépítése - Automatikusan újraépíti az xref táblát, amikor a stream tömörítése bájttolódásokat okoz
- Nulla többlet - Ha minden stream már tömörített, az adatok módosítás nélkül haladnak át
Biztonság
- Jelszavas támogatás - Jelszóval védett PDF dokumentumok megnyitása
- Jogosultságok - Dokumentum- és felhasználói jogosultságok olvasása; a
SecurityAuditdemo a jogosultságokat, mellékleteket, dokumentum JavaScriptet, URI / Launch linkeket, aláírásokat, XFA-t és a V8 elérhetőséget egy csak olvasható kockázati felületté egyesíti TXT / JSON jelentésmentéssel és TXT másolási műveletekkel- Biztonság eltávolítása - Dokumentumok mentése biztonság eltávolításával (ha engedélyezett)
Nyomtatás
- Nyomtatási módok - Választható EMF, csak szöveg, PostScript Level 2 / 3, PostScript pass-through, EMF image-mask és Type 42 nyomtatási módok a globális
SetPdfPrintModefüggvényen keresztül- Nézetbeállítások - A dokumentum szerzői szándékának megjelenítése a
PrintCopies,PrintPageRanges(egy alapú oldaltartományok),PrintScalingésPrintPaperHandlingsegítségével; aSetPdfPrintPaperHandlingDevModea duplex jelzést a WindowsDEVMODE.dmDuplexmezőjére képezi le- N-up nyomtatás - A Delphi, C++Builder és Lazarus
PrintPreferencesdemók N-up lapösszeállítást mutatnak be (1 / 2 / 4 / 9 oldal laponként) páratlan / páros oldalszűréssel, szürkeárnyalatos rendereléssel, opcionális 1 pixeles cellakerettel, PDF szerzői nyomtatási beállításokkal és duplex szándék-leképezéssel aSetPdfPrintPaperHandlingDevModerévén
Szállított demók
A
Demo\Delphi,Demo\CBuilderésDemo\Lazarusfák futtatható mintaprojekteket szállítanak, amelyek a teljes API felületet lefedik mindhárom IDE családban. Kiemelések:
- PDFViewer / MultiPageViewer / SplitView - Végponttól végpontig tartó TPdfView használat: betöltés, navigáció, nagyítás, forgatás, kétoldalas ív, borító-tudatos elrendezések, valamint Delphi / C++Builder / Lazarus oldalszéli PDF összehasonlítás szinkronizált parancsokkal; a viewer demók gyakorlati sebességtesztek is többgigabájtos PDF-ekhez, ahol a 2.x GB-os dokumentumok szinte azonnal használható első nézetet érhetnek el, miközben az oldalrenderelés reszponzív marad
- ViewerInteractionLab - Delphi, C++Builder és Lazarus fókuszú TPdfView interakciós minták megjelenítési módokhoz, illesztési módokhoz, oldalszínekhez, forgatáshoz, keresési kiemeléshez, szövegkijelöléshez, kijelölt szöveg előnézethez, vágólapműveletekhez és DeviceToPage koordináta-visszajelzéshez
- SearchAndSelect - Delphi, Lazarus és C++Builder fókuszú munkafolyamat-minták minden oldalt érintő találatlistázáshoz, előző / következő találat navigációhoz, dupla kattintásos találatugráshoz,
HighlightSearchText-hez, kis- / nagybetű és egész szó kereséshez,AllowUserTextSelection-höz,SelectedText-hez,SelectAll-hoz,CopySelectionToClipboard-hez,ClearSelection-hez és spread megjelenítési módokhoz- PreflightReport - Delphi, Lazarus és C++Builder munkafolyamat-demók plusz egy Delphi konzolos társalkalmazás az újrahasználható
FPdfPreflightReportkörül, amely a PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R és PDF/VT ellenőrzési eredményeket státusz, prioritás, probléma-kategória, probléma-kategória darabszámok, következő művelet összefoglaló sorok, ajánlások, szöveg / Markdown / JSON / CSV előnézet, TXT / HTML / Markdown / JSON / CSV jelentések, szkriptelhető jelentésgenerálás, kötegelt lista- és könyvtárfeldolgozás jelentéskönyvtár-útválasztással, TXT / JSON / HTML összesítő táblák, CSV sorjegyzékek, opcionális jelentésmelléklet-beágyazás és CI-ellenőrző kilépési kódok formájában gyűjti össze- ContentExtractionLab - Delphi, Lazarus és C++Builder egységes tartalomjegyzék-munkafolyamat dokumentum-metaadatokhoz, oldal szövegéhez, oldalobjektumaihoz, képeihez, mellékleteihez, linkjeihez, annotációihoz, könyvjelzőihez és betű / karakter metrikáihoz TXT / JSON exporttal, minden / semmi kategóriakijelöléssel, forrás-PDF mentéssel és jelentésmásolási műveletekkel
- WatermarkStamp - Delphi, Lazarus és C++Builder újrahasználható Form XObject munkafolyamat középre igazított vízjelekhez, sarokbélyegzőkhöz és oldalszámcímkékhez egy többoldalas cél-PDF-en
- CreatePDF - Többoldalas PDF létrehozása a semmiből szöveggel, képekkel, útvonalakkal, táblázatokkal és vízjel-összeállítással; tartalmaz egy 'European Text' opciót ékezetes cseh / francia / német / spanyol / portugál / lengyel / török szöveg írásához a betűtípus-kiválasztás és a Unicode-kezelés ellenőrzésére
- ExtractText / ExtractImages / ContentExtractionLab - A kinyert szöveg (beleértve az oldalanként szétválasztott kimenetet) vagy a beágyazott képek mentése lemezre; vagy egy többkategóriás tartalomjegyzék-jelentés előállítása egyetlen menetben
- FormFill - AcroForm mezőmetaadatok olvasása, értékek írása, /AP megjelenések újragenerálása, majd az eredmény mentése szerkeszthető vagy lapított formában
- FontTulajdonságok - Indexelt karakter / betűmetaadatok vizsgálata TPdf és TPdfView használatával Delphi, C++Builder és Lazarus alatt
- MergePDF / SplitPDF - Több forrás-PDF összefűzése (fájlonkénti oldaltartomány-kijelöléssel, opcionális kimeneti útvonallal, futtatási naplóval, megszakítás gombbal és összefűzés-befejezési összegzéssel) vagy egy PDF szétbontása oldalankénti kimeneti fájlokra
- PDFtoJpg / BatchExport - Delphi, C++Builder és Lazarus egyszeri vagy kötegelt többfájlos PDF-JPG konverzió fájlszintű összesített előrehaladással, oldalszintű aktuális előrehaladással, DPI / minőség / jelszó bemenetekkel, valamint egy együttműködően megszakítható köteggel
IPdfCancellationTokenalapján- StandardsLab - Delphi, C++Builder és Lazarus munkafolyamat-minták PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R és PDF/VT ellenőrzéshez, problémajelentéshez és szabványorientált mentési kimenetekhez
- PrintPDF / PrintPreferences - Delphi, C++Builder és Lazarus szabványos PDF nyomtatás előnézettel, oldaltartományokkal, példányszámmal, összefűzéssel, előrehaladással és megszakítással (PrintPDF), valamint Delphi, C++Builder és Lazarus N-up lapösszeállítás páratlan / páros szűréssel és PDF szerzői nyomtatási beállításokkal (PrintPreferences)
- SecurityAudit - Delphi, C++Builder és Lazarus csak olvasható kockázati felület minták jogosultságokhoz, mellékletekhez, JavaScript műveletekhez, URI / Launch linkekhez, webes linkekhez, aláírásokhoz, XFA állapothoz, V8 / XFA segédelérhetőséghez és TXT / JSON auditjelentésekhez
- Attachment - PDF-ek létrehozása, beágyazott fájlmellékletek hozzáadása / listázása / kinyerése / törlése / mentése MIME altípus megjelenítéssel
- ImageToPDF - Delphi, C++Builder és Lazarus képtömeges konvertálása egy PDF-be, oldalanként egy kép, előnézettel és képenkénti előrehaladással
A Delphi, C++Builder és Lazarus regressziós csomagok 147 (Pas) / 123 (C++) esetet fednek le ugyanazokkal a fixture PDF-ekkel, így a viselkedés byte-szinten összehangolt marad mindhárom IDE családban
Platformtámogatás
- Delphi - Delphi XE5 (RAD Studio XE5) és Delphi 13.1 Florence (RAD Studio 13.1) között
- C++Builder - C++Builder XE5 (RAD Studio XE5) és C++Builder 13.1 Florence között
- Lazarus - Free Pascal / Lazarus támogatás
- Win32 / Win64 - Mind a 32 bites, mind a 64 bites Windows platformok