HotPDF Delphi Component Description

 

الأعلى  التالي

HotPDF هي مكتبة مكونات VCL لـ Delphi و C++Builder تنشئ مستندات PDF من دون الحاجة إلى PDF DLL خارجي. نقطة الدخول الرئيسة هي الفئة THotPDF، وهي تدير إنشاء المستند، والوصول إلى الصفحات، والضغط، والبيانات الوصفية، والأمان، وتدفقات الإخراج

 

تشمل مسارات العمل المعتادة رسم النص والرسوم المتجهة، وتضمين محتوى bitmap وmetafile، واستيراد صور TIFF وJPEG2000، وإرفاق الملفات، وضبط تفضيلات العارض، وحماية المستند النهائي بكلمات مرور وصلاحيات، وتحميل ملفات PDF المشفرة RC4-40 / RC4-128 Standard بكلمة مرور لإخراج مستند محمل غير مشفر

 

أبرز الإمكانات الحالية

  • دعم موسّع للصور لمسارات عمل TIFF وJPEG2000 وJBIG2 وWMF وEMF
  • دعم مدمج لـ LZW، وضغط Flate قائم على zlib-ng في النمط المتوافق مع zlib، وتوزيع SIMD وقت تشغيل لـ zlib-ng بعمق 64 بت، ومعالجة JPEG قياسية مدعومة بكائنات SIMD عبر libjpeg-turbo 3.1.90
  • جسر لـ C runtime مشترك في HPDFCLibs.pas لكائنات OMF الخاصة بـ Win32 عبر bcc32c/bcc32، وكائنات COFF64 لـ Win64، وكائنات COFF لـ zlib-ng Win64x، بما يشمل تخصيص C محاذى إلى 32 بايت
  • تفضيلات موسّعة للعارض والطباعة، تشمل اتجاه المستند، وتدرّج الطباعة، وثنائية الوجه (duplex)، وحدود الصفحات، والتكبير الابتدائي
  • تحسين تضمين الخطوط، وإخراج نص Unicode، وعرض النص من اليمين إلى اليسار
  • مخرجات PDF/A المستوى A تفعّل أساسيات Tagged PDF للتوافق الأرشيفي مع إبقاء تعريف PDF/UA-1 خيار تفعيل صريحًا عبر PDFUACompliance
  • تشمل مسارات عمل PDF/A-1 وPDF/A-2 وPDF/A-3 وPDF/X-1a وPDF/X-3 وPDF/X-4 وPDF/UA-1 بوابات إنتاج تراعي الملف التعريفي، وتوليد metadata، ودعم OutputIntent عند الحاجة، وتغطية smoke لـ PDF/A-2A / PDF/A-3A تم التحقق منها باستخدام veraPDF
  • تطبيقات تجريبية محدَّثة لـ ViewerPreferences وللتحقق من صحة الخطوط المضمّنة

خريطة القدرات الأساسية

  • حقول AcroForm وإجراءات النماذج: حقل نص ومربع اختيار وزر اختيار (radio) ومربع تحرير وسرد (combo) وقائمة وزر ضغط وحقل توقيع، مع SubmitForm وResetForm وإجراءات JavaScript وإجراءات على مستوى المستند
  • التعليقات التوضيحية والروابط والمرفقات: إخراج تعليقات نصية/روابط/مرفقات ملفات، وشجرة أسماء الملفات المضمّنة، وروابط إجراء URI وGoTo، وإخراج تفاعلي على مستوى الصفحة
  • الأمان والتواقيع: كلمات مرور وأذونات معالج الأمان القياسي حتى AES-256 مع أذونات النسخة 6، وحقول توقيع، وتوقيع CMS وPAdES/PFX، وتحميل شهادات PFX
  • المعايير: إخراج PDF/A وPDF/X وPDF/UA تراعي الملف التعريفي، مع بوابات إنتاج وmetadata وOutputIntent ومساعدات Tagged PDF واختبارات تحقق smoke على نموذج توافق واحد
  • طبقات المحتوى الاختياري: مجموعات الرؤية، وإظهار الصفحات المستوردة أو إخفاؤها، وموارد المجموعات، وتنقل الطبقات الذي يتحكم به العارض
  • الرسوميات: أنماط تبليط (tiling patterns) وتظليلات وموارد Form XObject قابلة لإعادة الاستخدام وأقنعة ناعمة ومجموعات شفافية ومساعدات لوحة رسم
  • الصور: JPEG وTIFF وصور أحادية البت بأسلوب فاكس CCITT وJPEG2000 وصور JBIG2Decode التي يكتبها AddImage ويُفكّها من المستندات المحمّلة
  • النص: خطوط Unicode من Type 0 مع جداول ToUnicode CMap، ومسارات عمل خطوط CJK، ونص RTL، ونص رأسي، وتجزئة CFF/OpenType الفرعية وتشكيل OpenType بـ GSUB/GPOS
  • الملفات الكبيرة: واجهة Direct File API ومعيار أداء للملفات الكبيرة وإعادة كتابة المستندات المحمّلة لاستبدال الكائنات وإعادة ترتيب الصفحات وسير عمل النسخ والدمج والتحرير
  • التدفقات: OutputStream وLoadFromStream وتوليد memory-stream لتدفقات يملكها المستدعاء وإخراج من جهة الخادم دون ملفات مؤقتة

Standards conformance positioning

  • يظهر دعم PDF/A من خلال PDFACompliance. يوفر HotPDF بيانات PDF/A الوصفية، وقيود الملف التعريفي، وفرض تضمين الخطوط، وخطافات OutputIntent، وتغطية تحقق smoke؛ ويبقى على التطبيق توفير ICC profiles صالحة، وقيم title/language، والخطوط، والمحتوى المناسب للملف التعريفي
  • يظهر دعم PDF/UA من خلال PDFUACompliance وواجهات Tagged PDF API. يوفر HotPDF غلاف مستوى المستند، وآلية structure-tree، وrole mapping، ومساعدات marked-content، وربط ParentTree، ومساعدات alternate-text / ActualText؛ ويبقى على التطبيق امتلاك البنية الدلالية الحقيقية وترتيب القراءة
  • PDF/A Level A وPDF/UA-1 ادعاءان منفصلان. يفعّل Level A أساس Tagged PDF المطلوب للتوافق الأرشيفي، بينما لا تصدر هوية PDF/UA-1 XMP إلا عند تفعيل PDFUACompliance صراحة

Build and platform notes

  • ترتبط بنيات Win32 بكائنات OMF لـ zlib-ng يولّدها bcc32c وكائنات OMF لـ JPEG/TIFF يولّدها bcc32 مخزنة في Lib\thirdparty\Win32
  • ترتبط بنيات Win64 بكائنات COFF64 مخزنة في Lib\thirdparty\Win64؛ وترتبط خلفية zlib-ng حاليًا بكائنات COFF التي يولّدها bcc64x والمخزنة في Lib\thirdparty\Win64x
  • يتجاوز تحقق إعادة بناء الكائنات الأصلية المخارج النظيفة: 206 كائنات Win32، و205 كائنات Win64x، و206 كائنات MSVC Win64
  • تعمل الوحدة HPDFOpenJpeg.pas حاليًا كطبقة واجهة ونقطة امتداد؛ ولا ينبغي اعتبارها ربط تشغيل OpenJPEG أصليًا كاملًا

Diagnostics

  • تُدار أدوات تشخيص المكتبة العامة عبر withDEBUG في HotPDF.inc، الذي يكتب HotPDF-Debug.log عند تفعيله
  • يتم التحكم في تتبع دمج محتوى الصفحة بشكل منفصل بواسطة PAGECONTENT_DEBUG_FILE، وهو يكتب PageContent_Debug.txt فقط عند تفعيله صراحة

Automated validation

  • تجتاز مجموعة اختبارات DUnitX Delphi الرجعية 20 اختبارًا على Win32 و20 اختبارًا على Win64 عبر Tests\Delphi\Run-HotPDFDelphiTests.bat
  • تجتاز مجموعة اختبارات GoogleTest C++Builder الرجعية 17 اختبارًا على Win32 و17 اختبارًا على Win64x عبر Tests\C++Builder\Run-HotPDFCBuilderTests.bat
  • تغطي الاختبارات الآلية metadata المولدة، ونصوص Unicode وRTL، والتعليقات، والمرفقات، ووضع صور JPEG القياسية، واستيراد الصور وTIFF، وضغط zlib-ng Flate، وإخراج barcode، وتدفقات الذاكرة، وإعداد الصفحات، والتشفير، والروابط، والفقرات، ومسارات copy/merge/edit، والجداول، والرسوم البيانية، والإخراج الرقمي، وmetafiles، والتقارير المهيكلة

يناسب HotPDF توليد التقارير، والوثائق التقنية، ومسارات عمل الصور، والتطبيقات الأخرى التي تحتاج إلى تحكم برمجي مباشر في إخراج PDF