TPDFlibViewer

Viewer

الوصف

تصف هذه الصفحة عنصر تحكم TPDFlibViewer في PDFlibPas ضمن موضوع Viewer. تبقى أسماء API والمعلمات والفئات وأسماء الملفات والقيم الحرفية كما هي لتطابق مكتبة Delphi

TPDFlibViewer (الوحدة Lib\PDFlibViewer.pas) هو عنصر تحكم التمرير VCL يعرض صفحات PDF داخل تطبيقك. يتم العرض من خلال نفس المحرك الذي يستخدمه TPDFlib (GDI+، أو Cairo، أو PDFium، باتباع SelectRenderer في المثيل المرفق).

Key Members

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;

ملاحظات

تفتح LoadFromFile مستندًا من خلال مثيل TPDFlib الخاص بعنصر التحكم؛ تعرض AttachLibrary المستند المحدد لمثيل تديره بنفسك (يحتفظ المتصل بالملكية). أوضاع التكبير والتصغير هي نسبة مئوية ثابتة (zmPercent عبر SetZoomPercent)، وملاءمة العرض (zmFitWidth، الافتراضي) وملاءمة الصفحة (zmFitPage)؛ تعيد أوضاع الملاءمة الحساب تلقائيًا عند تغيير حجم عنصر التحكم. يقيد التنقل بنطاق صفحات المستند ويطلق OnPageChange فقط عندما تتغير الصفحة المرئية حقًا. يبدل SetDisplayMode بين عرض الصفحة الفردية (dmSinglePage، الافتراضي) والتمرير الرأسي المستمر عبر المستند بأكمله (dmContinuous)، حيث يتم عرض الصفحات المرئية في منفذ العرض فقط وتتبع الصفحة الحالية موضع التمرير. يتم الاحتفاظ بالصفحات المعروضة في ذاكرة تخزين مؤقت للصورة النقطية الأقل استخدامًا مؤخرًا (128 ميجابايت افتراضيًا، قابلة للتعديل باستخدام SetCacheLimit)، لذلك لا يعيد التمرير للخلف العرض. تقوم عجلة الماوس بالتمرير عموديًا؛ مفاتيح PageUp/PageDown ومفاتيح الأسهم و Home و End تتنقل. يتم العرض المسبق للصفحات المجاورة في سلسلة رسائل في الخلفية بحيث يكون الترحيل فوريًا. يؤدي النقر فوق تعليق توضيحي للارتباط إلى إطلاق OnLinkClick برقم الصفحة وملخص الإجراء المكتوب (TPDFlibActionInfo: عنوان الويب، ووجهة المستند، والإجراء المسمى والمزيد)؛ تعرض LinkActionAtPagePoint اختبار الضرب مباشرة، وتأخذ الإحداثيات في مساحة المستخدم نفسها التي تبلغ عنها GetAnnotRectEx. يحدد السحب باستخدام زر الماوس الأيسر النص (يؤدي النقر فوق ارتباط إلى إطلاق الارتباط بدلاً من ذلك)؛ ينسخ Ctrl+C أو CopySelectedText التحديد، وينفذ GetTextInRegion نفس بحث المنطقة المستند إلى الكتلة برمجيًا. يعرض عنصر التحكم المصاحب TPDFlibOutlineViewer شجرة إشارات المستند المرجعية بجانب العارض: اتصل بـ AttachViewer الخاص به مع مثيل العارض ويؤدي النقر فوق إشارة مرجعية إلى الانتقال إلى صفحة الوجهة الخاصة بها. يتم إرفاق TPDFlibSearchPanel بنفس الطريقة: تسرد RunSearch كل ضربة في المستند بصفحته والنص المطابق، ويؤدي النقر فوق نتيجة إلى الانتقال إلى تلك الصفحة. يكمل TPDFlibThumbnailBar العائلة بنسخة مصغرة معروضة ببطء لكل صفحة؛ يؤدي النقر فوق صورة مصغرة إلى الانتقال إليها. قم بتثبيت حزمة وقت التصميم Package\PDFlibViewerPkg.dpk لوضع عنصر التحكم من صفحة لوحة losLab PDF في وقت التصميم