TPDFlibViewer
Fremviser
Beskrivelse
Denne side beskriver TPDFlibViewer-kontrolelementet i PDFlibPas under emnet “Fremviser”. API-navne, parametre, klassenavne, filnavne og literaler bevares nøjagtigt som de fremgår af Delphi-biblioteket.
TPDFlibViewer (unit Lib\PDFlibViewer.pas) er et VCL-rullekontrolelement, der viser PDF-sider inde i din applikation. Det renderes via den samme motor, som TPDFlib bruger (GDI+, Cairo eller PDFium, i overensstemmelse med SelectRenderer på den tilknyttede instans).
Vigtige medlemmer
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;Bemærkninger
LoadFromFile åbner et dokument via kontrolelementets egen TPDFlib-instans; AttachLibrary viser det valgte dokument i en instans, du styrer selv (kalderen beholder ejerskabet). Zoomtilstande er en fast procentdel (zmPercent via SetZoomPercent), tilpas til bredde (zmFitWidth, standard) og tilpas til side (zmFitPage); tilpasningstilstande genberegnes automatisk, når kontrolelementet ændrer størrelse. Navigation begrænses til dokumentets sideinterval og udløser OnPageChange kun når den synlige side faktisk ændres. SetDisplayMode skifter mellem enkelt-side visning (dmSinglePage, standard) og en kontinuerlig lodret rulning gennem hele dokumentet (dmContinuous), hvor kun de sider, der er synlige i visningsvinduet, renderes, og den aktuelle side følger rulleposition. Renderede sider opbevares i en least-recently-used bitmap-cache (128 MB som standard, justerbar med SetCacheLimit), så tilbagerulning ikke forårsager ny rendering. Musehjulet ruller lodret; PageUp/PageDown, piletasterne, Home og End navigerer. Nabosider forudrenderes i en baggrundstråd, så sidevending er øjeblikkelig. Klik på en linkannotation udløser OnLinkClick med sidenummeret og det typede handlingsoversigt (TPDFlibActionInfo: webadresse, dokumentdestination, navngivet handling med mere); LinkActionAtPagePoint eksponerer hitdetektionen direkte med koordinater i det samme brugerrum, som GetAnnotRectEx rapporterer. Træk med venstre museknap vælger tekst (et klik på et link udløser linket i stedet); Ctrl+C eller CopySelectedText kopierer markeringen, og GetTextInRegion udfører det samme blokbaserede regionopslag programmatisk. Ledsagekontrollen TPDFlibOutlineViewer viser dokumentets bogmærketræ ved siden af fremviseren: kald dens AttachViewer med fremviserinstansen, og et klik på et bogmærke navigerer til dets destinationsside. TPDFlibSearchPanel tilknyttes på samme måde: RunSearch viser alle resultater i dokumentet med deres side og matchende tekst, og et klik på et resultat springer til den pågældende side. TPDFlibThumbnailBar fuldender familien med en dovent renderet miniature af hver side; et klik på en miniature navigerer til den. Installer designtidspakken Package\PDFlibViewerPkg.dpk for at placere kontrolelementet fra losLab PDF-paletten på designtidspunktet.