TPDFlibViewer
Pregledovalnik
Opis
Ta stran opisuje kontrolnik TPDFlibViewer v PDFlibPas pod temo "Pregledovalnik". Imena API-jev, parametri, imena razredov, imena datotek in literali se ohranijo natančno tako, kot so prikazani v knjižnici Delphi.
TPDFlibViewer (enota Lib\PDFlibViewer.pas) je VCL kontrolnik za pomikanje, ki prikazuje strani PDF znotraj vaše aplikacije. Upodablja prek istega mehanizma, ki ga uporablja TPDFlib (GDI+, Cairo ali PDFium, sledeč SelectRenderer na priključeni instanci).
Ključni člani
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;Opombe
LoadFromFile odpre dokument prek lastne instance TPDFlib kontrolnika; AttachLibrary prikaže izbrani dokument instance, ki jo upravljate sami (klicatelj obdrži lastništvo). Načini povečave so fiksen odstotek (zmPercent prek SetZoomPercent), prilagoditev širini (zmFitWidth, privzeto) in prilagoditev strani (zmFitPage); načina prilagajanja se samodejno preračunata, ko se kontrolnik spremeni velikost. Navigacija se omeji na obseg strani dokumenta in sproži OnPageChange samo takrat, ko se vidna stran dejansko spremeni. SetDisplayMode preklaplja med prikazom posamezne strani (dmSinglePage, privzeto) in neprekinjenim navpičnim pomikanjem skozi celoten dokument (dmContinuous), kjer se upodobijo samo strani, vidne v vidnem polju, trenutna stran pa sledi položaju pomikanja. Upodobljene strani se hranijo v predpomnilniku bitnih slik, ki odstranjuje najmanj nedavno uporabljene elemente (128 MB privzeto, nastavljivo z SetCacheLimit), tako da pomikanje nazaj ne povzroči ponovnega upodabljanja. Miškino kolesce omogoča navpično pomikanje; tipke PageUp/PageDown, puščične tipke, Home in End so namenjene navigaciji. Sosednje strani se vnaprej upodobijo v niti v ozadju, tako da je listanje takojšnje. Klik na anotacijo povezave sproži OnLinkClick s številko strani in tipiziranim povzetkom dejanja (TPDFlibActionInfo: spletni naslov, cilj v dokumentu, poimenovano dejanje in več); LinkActionAtPagePoint neposredno izpostavi preverjanje zadetkov in sprejme koordinate v istem uporabniškem prostoru, kot ga poroča GetAnnotRectEx. Vlečenje z levim gumbom miške izbere besedilo (klik na povezavo pa sproži povezavo); Ctrl+C ali CopySelectedText kopira izbor, GetTextInRegion pa programsko izvede enako iskanje območja na podlagi blokov. Spremljevalni kontrolnik TPDFlibOutlineViewer prikazuje drevo zaznamkov dokumenta ob pregledovalniku: pokličite njegov AttachViewer z instanco pregledovalnika in klik na zaznamek bo krmaril na njegovo ciljno stran. TPDFlibSearchPanel se pritrdi na enak način: RunSearch navede vsak zadetek v dokumentu z njegovo stranjo in ujemajočim se besedilom, klik na zadetek pa skoči na to stran. TPDFlibThumbnailBar dopolnjuje družino z leno upodobljeno sličico vsake strani; klik na sličico krmari nanjo. Namestite paket za čas načrtovanja Package\PDFlibViewerPkg.dpk, da postavite kontrolnik iz strani palete losLab PDF med načrtovanjem.