توضیحات مؤلفه HotPDF

 

بالا  بعدی

HotPDF یک کتابخانه مؤلفه VCL برای Delphi و C++Builder است که سندهای PDF را بدون نیاز به DLL خارجی تولید می‌کند. نقطه ورودی اصلی کلاس THotPDF است که ایجاد سند، دسترسی به صفحه، فشرده‌سازی، فراداده، امنیت و جریان‌های خروجی را مدیریت می‌کند

 

گردش‌کارهای معمول شامل ترسیم متن و گرافیک برداری، جاسازی محتوای bitmap و metafile، واردکردن تصاویر TIFF و JPEG2000، پیوست‌کردن فایل‌ها، تنظیم ترجیحات نمایشگر، محافظت از سند نهایی با گذرواژه و مجوزها، و بارگذاری PDFهای رمزگذاری‌شدهٔ Standard با RC4-40 / RC4-128 همراه با گذرواژه برای خروجی سند بارگذاری‌شدهٔ رمزگشایی‌شده است

 

نکات برجسته فعلی

  • پشتیبانی تصویری گسترش‌یافته برای گردش‌کارهای TIFF، JPEG2000، JBIG2، WMF و EMF
  • پشتیبانی داخلی LZW، فشرده‌سازی Flate مبتنی بر zlib-ng در حالت سازگار با zlib، dispatch زمان اجرای SIMD در zlib-ng 64-bit، و رسیدگی استاندارد JPEG مبتنی بر libjpeg-turbo 3.1.90 با شتاب‌دهی اشیای NASM SIMD
  • پل مشترک زمان اجرای C در HPDFCLibs.pas برای اشیای OMF مربوط به Win32 bcc32c/bcc32، اشیای COFF64 در Win64، و اشیای COFF مربوط به zlib-ng در Win64x، همراه با تخصیص C هم‌تراز 32 بایت
  • ترجیحات گسترش‌یافته نمایشگر و چاپ، از جمله جهت سند، مقیاس چاپ، حالت duplex، مرزهای صفحه و رفتار بزرگ‌نمایی اولیه
  • بهبود در جاسازی فونت، خروجی متن Unicode و رندر راست‌به‌چپ
  • خروجی PDF/A Level A پایه‌های Tagged PDF را برای سازگاری بایگانی فعال می‌کند و در عین حال شناسایی PDF/UA-1 را به صورت یک opt-in صریح PDFUACompliance نگه می‌دارد
  • گردش‌کارهای PDF/A-1، PDF/A-2، PDF/A-3، PDF/X-1a، PDF/X-3، PDF/X-4 و PDF/UA-1 شامل دروازه‌های تولیدکننده آگاه از پروفایل، تولید فراداده، پشتیبانی OutputIntent در موارد لازم، و پوشش smoke برای PDF/A-2A / PDF/A-3A با اعتبارسنجی veraPDF هستند
  • برنامه‌های نمایشی به‌روزرسانی‌شده برای ViewerPreferences و اعتبارسنجی فونت جاسازی‌شده

جایگاه نسبت به استانداردها

  • پشتیبانی PDF/A از طریق PDFACompliance در دسترس است. HotPDF فراداده PDF/A، محدودیت‌های پروفایل، اعمال الزام جاسازی فونت، hookهای OutputIntent و پوشش smoke اعتبارسنجی را فراهم می‌کند؛ برنامه همچنان باید پروفایل‌های ICC معتبر، مقادیر عنوان / زبان، فونت‌ها و محتوای متناسب با پروفایل را فراهم کند
  • پشتیبانی PDF/UA از طریق PDFUACompliance و APIهای Tagged PDF در دسترس است. HotPDF wrapper سطح سند، machinery درخت ساختار، نگاشت نقش، کمک‌رویه‌های marked-content، wiring مربوط به ParentTree و کمک‌رویه‌های alternate-text / ActualText را فراهم می‌کند؛ برنامه همچنان مالک ساختار معنایی واقعی و ترتیب خواندن است
  • PDF/A Level A و PDF/UA-1 ادعاهای جداگانه‌ای هستند. Level A پایه Tagged PDF لازم برای انطباق بایگانی را فعال می‌کند، در حالی که هویت XMP مربوط به PDF/UA-1 فقط وقتی صادر می‌شود که PDFUACompliance صریحاً فعال باشد

یادداشت‌های ساخت و پلتفرم

  • ساخت‌های Win32، objectهای OMF تولیدشده توسط bcc32c برای zlib-ng و objectهای OMF تولیدشده توسط bcc32 برای JPEG/TIFF را که در Lib\thirdparty\Win32 نگه‌داری می‌شوند، link می‌کنند
  • ساخت‌های Win64، objectهای COFF64 نگه‌داری‌شده در Lib\thirdparty\Win64 را link می‌کنند؛ backendِ zlib-ng در حال حاضر objectهای COFF تولیدشده توسط bcc64x را که در Lib\thirdparty\Win64x نگه‌داری می‌شوند، link می‌کند
  • اعتبارسنجی بازسازی اشیای بومی از خروجی‌های پاک عبور می‌کند: 206 شیء برای Win32، 205 شیء برای Win64x و 206 شیء برای MSVC Win64
  • واحد HPDFOpenJpeg.pas فعلاً فقط به‌عنوان یک لایهٔ واسط و نقطهٔ گسترش عمل می‌کند؛ نباید آن را یک اتصال runtime کامل برای OpenJPEG بومی در نظر گرفت

عیب‌یابی

  • عیب‌یابی عمومی کتابخانه توسط withDEBUG در HotPDF.inc کنترل می‌شود و هنگام فعال بودن، HotPDF-Debug.log را می‌نویسد
  • ردیابی ادغام محتوای صفحه به‌صورت جداگانه توسط PAGECONTENT_DEBUG_FILE کنترل می‌شود و فقط وقتی صریحاً فعال باشد، PageContent_Debug.txt را می‌نویسد

اعتبارسنجی خودکار

  • مجموعهٔ بازآزمایی دلفی DUnitX از طریق Tests\Delphi\Run-HotPDFDelphiTests.bat در Win32 بیست آزمون و در Win64 هم بیست آزمون را با موفقیت می‌گذراند
  • مجموعهٔ بازآزمایی C++Builder مبتنی بر GoogleTest از طریق Tests\C++Builder\Run-HotPDFCBuilderTests.bat در Win32 هفده آزمون و در Win64x هم هفده آزمون را با موفقیت می‌گذراند
  • پوشش خودکار، فرادادهٔ تولیدشده، متن Unicode و RTL، annotationها، attachmentها، جای‌گذاری استاندارد تصویر JPEG، import تصویر و TIFF، فشرده‌سازی Flate مبتنی بر zlib-ng، خروجی barcode، خروجی memory-stream، page setup، رمزنگاری، hyperlinkها، paragraphها، گردش‌کارهای copy / merge / edit، tableها، chartها، خروجی عددی، metafileها و گزارش‌های ساخت‌یافته را تمرین می‌کند

HotPDF برای تولید گزارش، مستندات فنی، گردش‌کارهای تصویری و هر برنامه‌ای که به کنترل مستقیم و برنامه‌نویسی‌شدهٔ خروجی PDF نیاز دارد مناسب است