TPDFlibViewer

Megjelenítő

Leírás

Ez az oldal a TPDFlibViewer vezérlőt dokumentálja a PDFlibPas „Megjelenítő" témakörében. Az API-nevek, paraméterek, osztálynevek, fájlnevek és literálok pontosan úgy maradnak, ahogy a Delphi-könyvtárban szerepelnek

A TPDFlibViewer (egység: Lib\PDFlibViewer.pas) egy VCL görgethető vezérlő, amely PDF-oldalakat jelenít meg az alkalmazáson belül. Ugyanazon a motoron keresztül renderel, amelyet a TPDFlib is használ (GDI+, Cairo vagy PDFium, az összekapcsolt példányon a SelectRenderer beállításától függően)

Főbb tagok

Function LoadFromFile(Const FileName, Password: WideString): Integer;
Procedure AttachLibrary(ALib: TPDFlib);
Procedure CloseDocument;
Function PageCount: Integer;
Function GoToPage(NewPage: Integer): Integer;
Function NextPage: Integer;
Function PrevPage: Integer;
Procedure SetZoomPercent(Percent: Double);
Procedure SetZoomMode(Mode: TPDFlibViewerZoomMode);
Procedure SetDisplayMode(Mode: TPDFlibViewerDisplayMode);
Procedure SetCacheLimit(MegaBytes: Integer);
Procedure RefreshPage;
Function LinkActionAtPagePoint(APage: Integer; XPos, YPos: Double; Out Info: TPDFlibActionInfo): Integer;
Function GetTextInRegion(APage: Integer; XPos, YPos, RWidth, RHeight: Double): WideString;
Function CopySelectedText: Integer;
Property SelectedText: WideString;
Property Page: Integer;
Property DisplayMode: TPDFlibViewerDisplayMode;
Property OnPageChange: TPDFlibViewerPageChange;
Property OnLinkClick: TPDFlibViewerLinkClick;

Megjegyzések

A LoadFromFile a vezérlő saját TPDFlib példányán keresztül nyit meg egy dokumentumot; az AttachLibrary az Ön által kezelt példány kiválasztott dokumentumát jeleníti meg (a tulajdonjog a hívónál marad). A zoom módok: rögzített százalék (zmPercent a SetZoomPercent segítségével), szélességre illesztés (zmFitWidth, az alapértelmezés) és lapra illesztés (zmFitPage); az illesztési módok automatikusan újraszámítódnak, ha a vezérlő átméretezésre kerül. A navigáció a dokumentum oldaltartományához igazodik, és az OnPageChange csak akkor sül el, ha a látható oldal valóban megváltozik. A SetDisplayMode vált az egyes oldalas megjelenítés (dmSinglePage, az alapértelmezés) és a teljes dokumentumon átívelő folyamatos függőleges görgetés (dmContinuous) között, ahol csak a nézetablakban látható oldalak renderelődnek, és az aktuális oldal a görgetési pozíciót követi. A renderelt oldalakat egy legkevésbé-régen-használt bitmap-gyorsítótár tárolja (alapértelmezés: 128 MB, a SetCacheLimit segítségével módosítható), így a visszagörgetés nem igényel újrarenderelést. Az egérgörgő függőlegesen görget; a PageUp/PageDown, a nyílbillentyűk, a Home és az End navigál. A szomszédos oldalak háttérszálon előre renderelődnek, így az oldalváltás azonnali. Egy hivatkozás annotációra kattintva az OnLinkClick esemény elsül az oldalszámmal és a típusolt műveleti összefoglalóval (TPDFlibActionInfo: webcím, dokumentum célhely, nevezett művelet és egyebek); a LinkActionAtPagePoint közvetlenül elérhetővé teszi a találati tesztet, ugyanazokat a felhasználói tér koordinátákat fogadva, amelyeket a GetAnnotRectEx visszaad. A bal egérgombbal húzva szöveget lehet kijelölni (egy hivatkozásra kattintva a hivatkozás aktiválódik); a Ctrl+C vagy a CopySelectedText másolja a kijelölést, és a GetTextInRegion ugyanazt a blokkos régiókeresést végzi el programozottan. A kísérő TPDFlibOutlineViewer vezérlő a dokumentum könyvjelzőfáját jeleníti meg a megjelenítő mellett: hívja meg az AttachViewer metódusát a megjelenítő példányával, és egy könyvjelzőre kattintva a céloldalra navigál. A TPDFlibSearchPanel ugyanúgy csatlakoztatható: a RunSearch felsorolja a dokumentumban található összes találatot az oldalával és egyező szövegével, és egy találatra kattintva az adott oldalra ugrik. A TPDFlibThumbnailBar egészíti ki a szortimentet, amely minden oldal lustán renderelt miniatűrjét mutatja; egy bélyegképre kattintva az adott oldalra navigál. Telepítse a Package\PDFlibViewerPkg.dpk tervezési idejű csomagot, hogy a vezérlőt a losLab PDF palettaoldaláról lehessen elhelyezni tervezési időben