TPDFlibViewer
Viewer
Beskrivelse
Denne siden beskriver TPDFlibViewer-kontrollen i PDFlibPas under emnet Visningsprogram. API-navn, parametere, klassenavn, filnavn og litteralverdier beholdes nøyaktig som de vises i Delphi-biblioteket.
TPDFlibViewer (enhet Lib\PDFlibViewer.pas) er en rullbar VCL-kontroll som viser PDF-sider inne i applikasjonen din. Den gjengir gjennom den samme motoren TPDFlib bruker (GDI+, Cairo eller PDFium, etter SelectRenderer på den vedlagte forekomsten).
Nøkkelmedlemmer
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;Merknader
LoadFromFile åpner et dokument gjennom kontrollens egen TPDFlib-forekomst; AttachLibrary viser det valgte dokumentet til en forekomst du administrerer selv (innringeren beholder eierskapet). Zoomemoduser er en fast prosentandel (zmPercent via SetZoomPercent), tilpass-til-bredde (zmFitWidth, standard) og tilpass-til-side (zmFitPage); tilpass-moduser beregnes automatisk på nytt når kontrollen endrer størrelse. Navigasjon klemmer til dokumentets sideområde og utløser OnPageChange bare når den synlige siden virkelig endres. SetDisplayMode bytter mellom visning av én enkelt side (dmSinglePage, standard) og en kontinuerlig vertikal rulling gjennom hele dokumentet (dmContinuous), der bare sidene som er synlige i visningsporten blir gjengitt, og gjeldende side følger rulleposisjonen. Gjengitte sider oppbevares i en hurtigbuffer for minst nylig brukte punktgrafikkbilder (128 MB som standard, justerbar med SetCacheLimit), slik at rulling bakover ikke gjengir på nytt. Musehjulet ruller vertikalt; PageUp/PageDown, piltastene, Home og End navigerer. Nærliggende sider forhåndsgjengis på en bakgrunnstråd slik at sideveksling er øyeblikkelig. Hvis du klikker på en lenkeannotasjon, utløses OnLinkClick med sidenummeret og det innskrevne handlingssammendraget (TPDFlibActionInfo: nettadresse, dokumentdestinasjon, navngitt handling og mer); LinkActionAtPagePoint eksponerer trefftesten direkte, og tar koordinater i det samme brukerrommet som GetAnnotRectEx rapporterer. Å dra med venstre museknapp velger tekst (et klikk på en lenke utløser i stedet lenken); Ctrl+C eller CopySelectedText kopierer valget, og GetTextInRegion utfører det samme blokkbaserte regionsoppslaget programmatisk. Ledsagerkontrollen TPDFlibOutlineViewer viser dokumentets bokmerketre ved siden av visningsprogrammet: kall dens AttachViewer med visningsforekomsten, og ved å klikke på et bokmerke navigerer du til mål-siden. TPDFlibSearchPanel festes på samme måte: RunSearch lister opp hvert treff i dokumentet med siden og samsvarende tekst, og ved å klikke på et treff hopper du til den siden. TPDFlibThumbnailBar fullfører familien med en latgjengitt miniatyr av hver side; å klikke på et miniatyrbilde navigerer til den. Installer design-tids-pakken Package\PDFlibViewerPkg.dpk for å plassere kontrollen fra losLab PDF-palettsiden ved designtid.