|
TppHotPDFDevice مهايئ ReportBuilder (
|
FastReport adapter QuickReport adapter DevExpress adapter |
|
فئة جهاز ReportBuilder تستخدم HotPDF كواجهة PDF backend بدلاً من ppPDFDevice الخاصة بـ ReportBuilder. وهي مخصصة للمشاريع التي تدمج HotPDF بالفعل وتريد backend PDF واحدًا عبر التطبيق كله
صيغة Delphi: type TppHotPDFDevice = class(TppGraphicsDevice) public class function DeviceName: String; override; procedure StartJob; override; procedure EndJob; override; procedure CancelJob; override; procedure SetOutputStream(AStream: TStream); property FileName: string; property Title, Author, Subject, Keywords: string; property PDFVersion: TPDFVersType; property Compressed: Boolean; property CompressionLevel: TPDFCompressionLevel; end;
الوصف ترث TppHotPDFDevice من TppGraphicsDevice، أي مستوى واحد فوق TppCustomScreenDevice / TppImageDevice، لذلك تدخل في سلسلة أجهزة ReportBuilder عند إسنادها إلى TppReport.PrinterDevice أو استخدامها كجهاز ناشر على TppPublisher. يتم الإبلاغ عن DeviceName كـ 'HotPDF'. ولأن تسجيل الأجهزة في ReportBuilder يتم عبر ppRptDeviceMap لا عبر RegisterComponents، فلا يوجد إدخال في لوحة مكونات IDE؛ ينشئ المستدعون TppHotPDFDevice مباشرة
كل صفحة تمر عبر TppGraphicsDevice.ReceivePage ترسم على TMetafileCanvas مؤقت، ينشأ في BeforeRenderPage وينهى في AfterRenderPage. ثم يمرر TMetafile الملتقط إلى مستورد ShowEnhancedMetafile ذي التحجيم التلقائي في HotPDF
1. 2. 3. RenderPage (الموروث) يجتاز DrawCommands ويوجهها عبر GraphicsContext إلى metafile canvas لدينا 4. AfterRenderPage ينهي metafile بتحرير canvas، ويضيف صفحة HotPDF جديدة بحجم mmWidth x mmHeight بعد تحويله إلى PDF points، ثم يشغل metafile عبر ShowEnhancedMetafile 5. EndJob يستدعي HotPDF.EndDoc؛ وإذا كان الإخراج Stream، ينسخ البايتات من الملف المؤقت المكتوب داخليًا
الوصف
Title / Author / Subject / Keywords - metadata المستند. عندما يكون Title فارغًا يعود الجهاز إلى FileName حتى يمتلك PDF دائمًا عنوانًا غير فارغ PDFVersion - مستوى مواصفة PDF الذي يجب أن يستهدفه المستند. القيمة الافتراضية pdf17
SetOutputStream(AStream) - يوجه بايتات PDF إلى AStream بدلاً من الكتابة إلى القرص. استدع قبل أن يطلق التقرير StartJob
يتم رسم كل صفحة تمر عبر
1. تقوم try 2. تقوم 3. تقوم 4. تقوم 5. تستدعي الخصائص سير العمل النموذجي finally Dev.Free; end;
القدرات المحفوظة محتوى الصفحة المتجه والنقطي المقدم بواسطة خط معالجة أمر الرسم القياسي لـ ReportBuilder؛ وسلاسل النصوص التي تم حلها بواسطة GDI؛ ويعطي التقاط ملف الميتا الافتراضي بدقة 200 DPI (قابل للتكوين عبر
قيود جسر ملف الميتا نظرًا لأنه يتم التقاط الصفحات كملفات ميتا محسنة، لا يتم نشر ميزات PDF الخاصة بـ ReportBuilder والتي تتطلب معلومات هيكلية (حقول AcroForm، والوجهات المسماة، والمخططات التفصيلية، وبوابات امتثال PDF/A أو PDF/X)؛ وتكون المخرجات عبارة عن إعادة إنتاج مرئية دقيقة لما يقدمه ReportBuilder، وليست ملف PDF مهيكل
ملاحظة التعبئة يعيش الجهاز في
انظر أيضًا: TfrxHotPDFExport, TQRHotPDFExportFilter, dxHotPDFExportReportLink, THPDFPage.ShowMetafile, Enhanced EMF/WMF Support |