TPDFlibViewer

Viewer

Mô tả

Trang này mô tả control TPDFlibViewer trong PDFlibPas thuộc chủ đề "Viewer". Tên API, tham số, tên lớp, tên tệp và giá trị chữ được giữ nguyên đúng như trong thư viện Delphi

TPDFlibViewer (unit Lib\PDFlibViewer.pas) là một control cuộn VCL hiển thị các trang PDF bên trong ứng dụng của bạn. Nó kết xuất thông qua cùng engine mà TPDFlib sử dụng (GDI+, Cairo hoặc PDFium, theo SelectRenderer trên instance được đính kèm).

Các thành viên chính

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;

Lưu ý

LoadFromFile mở tài liệu qua instance TPDFlib của chính control; AttachLibrary hiển thị tài liệu đang được chọn của một instance bạn tự quản lý (người gọi giữ quyền sở hữu). Các chế độ zoom gồm tỷ lệ phần trăm cố định (zmPercent qua SetZoomPercent), vừa chiều rộng (zmFitWidth, mặc định) và vừa trang (zmFitPage); các chế độ vừa tự tính lại khi control thay đổi kích thước. Điều hướng giới hạn trong phạm vi trang của tài liệu và chỉ kích hoạt OnPageChange khi trang hiển thị thực sự thay đổi. SetDisplayMode chuyển đổi giữa chế độ hiển thị đơn trang (dmSinglePage, mặc định) và cuộn dọc liên tục qua toàn bộ tài liệu (dmContinuous), trong đó chỉ các trang hiển thị trong viewport được kết xuất và trang hiện tại di chuyển theo vị trí cuộn. Các trang đã kết xuất được giữ trong bộ nhớ đệm bitmap theo thuật toán ít dùng gần đây nhất (mặc định 128 MB, có thể điều chỉnh bằng SetCacheLimit), nên cuộn lại không cần kết xuất lại. Con lăn chuột cuộn theo chiều dọc; PageUp/PageDown, phím mũi tên, Home và End điều hướng. Các trang lân cận được kết xuất trước trên thread nền nên chuyển trang là tức thì. Nhấp vào chú thích liên kết kích hoạt OnLinkClick với số trang và tóm tắt hành động được định kiểu (TPDFlibActionInfo: địa chỉ web, đích tài liệu, hành động đặt tên và nhiều hơn); LinkActionAtPagePoint cung cấp kiểm tra vị trí trực tiếp, nhận tọa độ trong cùng không gian người dùng mà GetAnnotRectEx báo cáo. Kéo bằng nút chuột trái để chọn văn bản (nhấp vào liên kết thì kích hoạt liên kết thay vì chọn); Ctrl+C hoặc CopySelectedText sao chép lựa chọn, và GetTextInRegion thực hiện tương tự tra cứu vùng theo khối theo cách lập trình. Control đi kèm TPDFlibOutlineViewer hiển thị cây đánh dấu của tài liệu bên cạnh viewer: gọi AttachViewer với instance viewer và nhấp vào bookmark sẽ điều hướng đến trang đích của nó. TPDFlibSearchPanel đính kèm theo cùng cách: RunSearch liệt kê mọi kết quả khớp trong tài liệu với trang và văn bản khớp của nó, và nhấp vào kết quả sẽ nhảy đến trang đó. TPDFlibThumbnailBar hoàn thiện bộ control với hình thu nhỏ được kết xuất lười biếng của mọi trang; nhấp vào hình thu nhỏ sẽ điều hướng đến trang đó. Cài đặt gói design-time Package\PDFlibViewerPkg.dpk để đặt control từ trang palette losLab PDF khi thiết kế.