سجل التغييرات
تاريخ الإصدارات
تاريخ إصدارات مكتبة PDF Library for Delphi. المدخلات مرتبة من الأحدث إلى الأقدم؛ ويتبع كل إصدار نظام الترقيم الدلالي وفقاً لسياسة الإصدار في المشروع.
آخر إصدار
- أحدث إصدار: v3.555.0; تاريخ الإصدار: 2026-10-10
Version 3.555.0
تمت الإضافة
- يدعم Windows 11 on ARM بناءات مصدر أصلية لـ Free Pascal ARM64 وDelphi ARM64EC، مع مخرجات بناء منفصلة للمكتبة وملف DLL
تم التغيير
- يستخدم Windows ARM مزودات النظام لـ AES CBC/GCM وJPEG وضغطًا محمولًا ومكتبة OpenJPEG مشتركة مطابقة للمعمارية لأجل JPEG 2000
- يكشف ملف DLL الخاص بـ Windows ARM عن صادرات C ABI مسمّاة ومقابض مثيلات معتمة وموجبة دون اقتطاع المؤشرات ذات 64 بت
تم الإصلاح
- يستخدم XMP في Delphi ARM64EC واجهات MSXML واعية بمساحات الأسماء مع تحليل XML محدود لتفادي إخفاقات نداءات OLE ذات الربط المتأخر
Version 3.554.0
تمت الإضافة
- يمتد الدعم الأصلي بلا واجهة إلى Linux ARM64 وmacOS x64، مع بناءات FPC مطابقة للمعمارية ومكتبات dylib من Delphi لـ Intel macOS
- تدعم أدوات التحقق الأصلية Linux وmacOS على كلٍّ من x64 وARM64
تم الإصلاح
- تختار Intel macOS مواضع المزودات الأصلية الصحيحة لـ OpenSSL وCairo وFontconfig وOpenJPEG بدلًا من مسارات Apple silicon
- يحلّ الربط في Delphi لـ Intel macOS المدخلات المطلقة لمكتبات النظام والأُطر مقابل ذاكرة Windows SDK المؤقتة المحددة عند استخدام LLVM LLD
Version 3.553.1
تمت الإضافة
- يدعم Delphi على macOS ARM64 تحرير البيانات الوصفية XMP وجولاتها ذهابًا وإيابًا بشكل أصلي، بما يشمل الخصائص المخصصة ومعرفات المعايير والحفاظ على مساحات الأسماء غير المرتبطة
تم الإصلاح
- تختار عملية التوقيع الأصلية بـ PFX في Delphi على macOS والطوابع الزمنية RFC 3161 مزودَ OpenSSL الخاص بـ macOS؛ ويُتحقق من تواقيع PDF بـ RSA وEC وسلاسل الثقة الصريحة والطوابع الزمنية للتوقيع والمستند على ARM64
- تحافظ دورات التحميل والحفظ الأصلية لـ XMP على مغلف حزمة (packet) واحد بدلًا من تراكم تعليمات المعالجة
Version 3.553.0
تمت الإضافة
- يمكن لـ Delphi الآن بناء المكتبة الديناميكية بلا واجهة لـ macOS ARM64، بنقاط دخول C البالغة 880 نفسها المتوفرة في بناء Free Pascal الأصلي
- يستخدم الواجهة الخلفية لـ macOS في Delphi الخطوط الأصلية ورندرة Cairo وتشفير OpenSSL وملخصاته وzlib وlibcurl من النظام وOpenJPEG وترميز وفك ترميز JPEG عبر ImageIO
تم الإصلاح
- يستخدم وصول الملفات في macOS والبحث عن الموارد والبنى الثنائية ثابتة العرض وارتباطات المرمِّزات الأصلية تعريفات صحيحة للمنصة
- تستخدم الرندرة الخلفية على macOS حدث إيقاف مؤقت قابلًا للنقل
- يفكّ Delphi على macOS تشفير سلاسل PDF وتدفقات الكائنات المشفرة بشكل صحيح دون تحرير مخازن المدخلات المؤقتة أثناء فك الترميز
Version 3.552.2
تم الإصلاح
- أُعيد توافق مزودات التحقق من الفواتير وOCR مع مترجمات Delphi الأقدم، بما يشمل بناءات مكتبة الإصدار التجريبي لـ Win32 وWin64
Version 3.552.1
تم الإصلاح
- تكشف مخازن المكتبة الديناميكية المؤقتة على macOS بياناتها الفعلية الآن، وتحافظ على وحدات البايت الصفرية المضمَّنة، وتبلّغ عن عمليات التحرير الناجحة بشكل صحيح
- تبقى مقابض مثيلات المكتبة الديناميكية صالحة على الأهداف ذات 64 بت دون اقتطاع عناوين الكائنات أو إعادة استخدام المقابض المحرَّرة
- يحرر تفريغ تحميل المكتبة المثيلات والمخازن المؤقتة المعلقة
Version 3.552.0
تمت الإضافة
- توليد PDF بلا واجهة وتحميله وسير عمل النصوص ورندرة الصور النقطية عبر Cairo بشكل أصلي في Free Pascal على Linux x86_64 وmacOS arm64، مع خطوط النظام ومزودات PNG وJPEG وJPEG 2000 أصلية
- تشفير OpenSSL أصلي يغطي الملخصات وتوقيع PKCS12 والتحقق من CMS، مع مراسي ثقة صريحة للشهادات وأزمنة تحقق مفحوصة
- وصول مدمج لنطاقات HTTP عبر libcurl وسير عمل طوابع زمنية RFC 3161 على أهداف Free Pascal الأصلية، بما يشمل سمات الطابع الزمني للتوقيع والتحقق من الطابع الزمني للمستند
- يحافظ تحليل البيانات الوصفية XMP وكتابتُها الأصليان على الخصائص المعتمدة على مساحات الأسماء ويرفضان DTD وXML الضخم أو المتداخل بعمق قبل بناء DOM
تم الإصلاح
- تهيئ الرندرة النقطية الأصلية بالأشرطة تحويلَ الصفحة وتحافظ على تنعيم الحواف (antialiasing) الخاص بـ Cairo عند حدود الأشرطة
- لم تعد التعريفات المشتركة للطابع الزمني والتحقق والوسم تتطلب بناء PDFium اختياريًا
Version 3.551.0
تمت الإضافة
- يحافظ الاستبدال الدقيق لمحتوى Unicode على الأحرف المحيطة وتباعد TJ القائم ومراسي النص التالية، ويدعم الحذف وخطوط الاستبدال المتحقَّق منها، ويبلّغ عن التعيينات غير المدعومة قبل استبدال نص الصفحة المحدد
- يتبع الاستخراج المهيكل ترتيب القراءة الموسوم، ويحلّ الأدوار الدلالية ومساحات الأسماء، ويكشف الأعمدة وعناصر الصفحة الزخرفية (page furniture)، ويحتفظ بخلايا الجداول الفارغة والمدموجة والعابرة للصفحات في تصديرات JSON وCSV وMarkdown وDOCX
- تدعم محولات Tesseract OCR الاختيارية نتائج hOCR وTSV ودرجة ثقة الاتجاه وخطوط الأساس، مع حدود صريحة وتشخيص لكل مرحلة
- يمكن لطبقات نص OCR تخطي النص القائم أو استبدال الطبقات المملوكة سابقًا للمكتبة فقط، مع الحفاظ على بكسلات الصفحة والمحتوى المشترك
- تكشف عناصر تحكم Delphi وDLL وActiveX الجديدة خيارات التحليل المهيكل وإعداد OCR وتشخيص الاستبدال الدقيق
تم التغيير
- يستخدم JSON المهيكل إصدار المخطط 2 مع معرفات عُقد دلالية مستقرة ومصادر بترتيب القراءة ونطاقات جداول ودرجة ثقة للاستنتاج
- يرفض استبدال Unicode التعيينات الناقصة وعناقيد الحروف (glyph) الجزئية والمصادر غير المدعومة دون تخمين بايتات الخط
تم الإصلاح
- يطبّق تباعد TJ الرقمي الآن التحجيم الأفقي مرة واحدة في الرندرة وهندسة النص
- يعيد قياس الخط اختيار المورد الفعلي عند اشتراك المجموعات، ويعيد استخدام تحليل الخط المباشر داخل نطاق كل مورد
- تحافظ بصمات المحتوى على قيم تجزئتها مع تفعيل فحوص النطاق والتجاوز
Version 3.550.0
تم التغيير
- يحافظ تصدير SVG الآن على ترتيب رسم الصفحة ومحتوى Form المتداخل ومسارات القص الدقيقة وهندسة الشطب (stroke) المحوَّلة
تمت الإضافة
- يتولى الاحتياط النقطي الأصلي المحدود عمليات الرسم غير المدعومة حين تسمح إعدادات التصدير بلقطة للخلفية
- يبلّغ GetLastSVGExportDiagnostics عن البكسلات المحذوفة والتقريبات والاحتياط النقطي، بما يشمل مظاهر التعليقات المرئية خارج تصدير محتوى الصفحة
Version 3.549.0
تمت الإضافة
- يقبل مخطط XML للفواتير المرقّم بالإصدارات والتحققَ عبر Schematron مزودات اختيارية ويعيد اكتمال المراحل ومعرّفات القواعد ومسارات الحقول ودرجة الخطورة وتشخيصات المحرك
- يقرأ التحقق التجاري المضمّن للفواتير المرفق المحدد بفك ترميز محدود ويرفض أسماء الملفات المفقودة أو الملتبسة
- يمكن لـ Delphi وDLL وActiveX تشغيل التحقق عبر xmllint وSaxonJ بملفات قواعد صريحة وحدود زمنية وحدود للمخرجات
Version 3.548.0
تمت الإضافة
- تتحقق فحوص قارئ PDF/UA-2 من التعريف وإصدار PDF ومراجع مساحات الأسماء وتعيينات الأدوار وجذور المستند وآباء البنية عبر اختيار صريح أو تلقائي لملف التعريف
- تختار واجهات Delphi وDLL وActiveX هدف PDF/UA ضمن خط تحقق قابل لإعادة الاستخدام وتكشف تغطية تحقق مفحوصة وغير موثَّقة ومحدودة
تم التغيير
- تميّز تقارير التحقق والفحص المسبق PDF/UA-2 عن PDF/UA-1 بمعزل عنها، وتصرّح بأن اجتياز الفحوص المنفَّذة لا يمنح اعتماد وصول كاملًا
Version 3.547.0
تمت الإضافة
- مقارنة بصرية للصفحات المعروضة مع سماحية على مستوى القنوات ومناطق مُتجاهَلة ومناطق متغيّرة وعدّ البكسلات وأقنعة الفروق وطبقات تراكب
- تُحاذي المقارنة البصرية للمستند صور الصفحات المتطابقة حول الصفحات المضافة والمحذوفة، وتُبلغ عن أزواج الصفحات التي تغيّر محتواها أو مقاسها
- تُعيد المقارنة البصرية للملفات عبر Delphi وDLL وActiveX تقرير JSON مهيكلًا
Version 3.546.0
تمت الإضافة
- تفرّق تقارير تغطية تحقق Arlington بين الاجتياز الكامل والإخفاقات المعروفة ودعم القواعد الناقص وأخطاء العمليات عبر واجهات Delphi وDLL وActiveX
تم الإصلاح
- تُنتج تعبيرات النموذج غير المدعومة الآن تشخيصًا صريحًا بدلًا من أن تسهم بصمت في نتيجة تحقق ناجحة
Version 3.545.0
تمت الإضافة
- تستعرض أمثلة WorkflowWorkbench في DLL للغتين C# وVB.NET توليد تقارير متعددة الصفحات واستخراج النصوص وتقسيم الصفحات ودمجها ونقل البيانات الثنائية في الذاكرة والملكية الصريحة للموارد الأصلية
- يوفر DocumentInspectionWorkbench الآن جرد الصفحات وبوابات خطورة تشخيص قابلة للضبط عبر Delphi وC++Builder وLazarus، مع مدخلات مولَّدة لأول تشغيل مكتمل بذاته
تم التغيير
- ينشئ LinkDemo في DLL للغة C++ الآن مستند تنقّل كاملًا بروابط صفحات ومخططات تفصيلية (outlines)، ويقبل مسارات DLL والإخراج صراحة، ويتحقق من المستند المحفوظ، ويبلّغ عن الإخفاقات عبر رموز خروج العملية
- يتحقق WorkflowGallery من مستنده المحفوظ ومن متن استجابة HTTP عبر فحوص رحلة ذهاب وعودة، وينشر تقرير تحقق
- تتضمن الجولة السريعة في DocumentLab فحص المستند، وتحيل مقدمة الحِزم والمجموعات الأصلية إلى فهرس مخصص لسير عمل DLL
تم الإصلاح
- تهيّئ عملية فحص المستند في Delphi عدّادات كل ملف قبل التحليل، بما يشمل تقارير المدخلات التي يتعذر تحميلها؛ وتكتب Delphi وC++Builder أرقام JSON مستقلة عن الإعدادات الإقليمية
- يحرر المثال التشخيصي في DLL للغة C++ النسخ الأصلية قبل تفريغ المكتبة، بما يشمل مساره الناجح
Version 3.544.0
تمت الإضافة
- توفر تسعة مختبرات أصلية للمجالات اختيار السيناريوهات وجولات سريعة موجَّهة وسجلات لكل سيناريو وتجارب HTML دون اتصال تفتح تلقائيًا عند بدء المختبر بلا وسائط
تم التغيير
- تركّز مجموعات أمثلة Delphi وC++Builder وLazarus الآن على Showcase وHelloWorld وتسعة مختبرات، مع احتفاظ Delphi بقارئه التفاعلي
- تُدمج العروض التوضيحية المتخصصة والدروس المركزة كوحدات سيناريو محلية داخل كل مختبر، مع الحفاظ على عملياتها الأصلية دون مشاريع أمثلة منفصلة أو مجلد مشترك لمصادر العروض
- تنفّذ جولات المختبرات سيناريوهاتها الخاصة بمجلدات إخراج معزولة وحدود زمنية، فلم تعد تعتمد على ملفات تنفيذية لأمثلة شقيقة مبنية على حدة
- تُربط ملاحظات السيناريوهات من أدلة المجالات، وتُجمَّع تكاملات إطار التقارير الاختيارية في Delphi تحت ContentLab
- تُعلّم مصفوفات ترميز المسح في Lazarus مسارات الترميز العاجزة عن إكمال العينة المولَّدة بوسمها بالتخطي، ولا تنشر قياسات JBIG2 إلا حين يتوفر المرمِّز الخارجي المطلوب
تم الإصلاح
- تنشئ سيناريوهات التنقيح الآن مستندات PDF 1.7 بحيث يجتاز حذف المحتوى فحوص الإصدار المطلوبة
- تحافظ سيناريوهات التقاط الصفحات على صفحة مستند مؤقتة أثناء التقاط آخر صفحة محتوى، وتجنّب إخفاق الالتقاط مع المستندات ذات الصفحة الواحدة
- يقبل معرض الباركود في C++Builder الآن مقابض المستندات والصفحات غير الصفرية الناجحة بدلًا من رفض المقابض التي تزيد قيمتها عن الواحد
- يبلّغ سيناريو التنقل في Lazarus الآن عن إخفاقات كتابة PDF قبل نشر تقارير النجاح، بما يشمل مستنده المرفق ذا الهدف البعيد
Version 3.543.0
تم التغيير
- تُبرز مجموعة العروض التوضيحية الأصلية الآن الجولات الرئيسية وأدوات تجريب الميزات، مع جمع دروس API المركزة في مجلد Miscellaneous لكل منصة
تم الحذف
- حُذفت معايرة البيانات الوصفية في C++Builder Reader والملف التنفيذي ReportBridges المقصور على المتطلبات المسبقة، ومثال TextExtract المكرر في Lazarus، ومدخل AddWebLinkConsole الزائد في Delphi؛ استخدم بدلًا منها أمثلة العارض وجسر التقارير والفحص والاستخراج وAddWebLink الفعلية
تم الإصلاح
- يغلق LoggerDemo في C++Builder الآن كاتب السجل قبل قراءة سجل الجلسة المكتمل ويطبعه بترميز UTF-8، متجنّبًا أخطاء مشاركة الملفات وانهاك وحدة التحكم مع السجلات الطويلة بعد إنشاء PDF
Version 3.542.0
تم التغيير
- يضمّ Showcase وAdvancedWorkflowMatrix الآن وحدات تنفيذهما في كل مجلد أمثلة من Delphi وC++Builder وLazarus، فلم يعد نسخ مشروع يتطلب مجلدًا مشتركًا لوحدات العروض
- يحيل دليل مصادر Showcase إلى منشئه المحلي مع الاحتفاظ بالمستند المكوَّن من تسع صفحات والنماذج القابلة للتحرير والطبقات القابلة للتبديل والتصديرات دون اتصال
تم الإصلاح
- تكتب حزمة سير العمل في C++Builder قائمة سير العمل الكاملة وتقرير وحدة التحكم قبل الخروج
Version 3.541.0
تمت الإضافة
- يتضمن Showcase المكوَّن من تسع صفحات موجزَ مشروع قابلًا للتحرير ومخطط أرضية متعدد الطبقات، مع قيم نماذج محفوظة وملاحظات تصميم اختيارية
- يضمّ C++Builder الآن Showcase الرئيسي ذاته المتوفر في Delphi وLazarus
- تنشئ تشغيلات Showcase عبر وحدة التحكم صفحة تجربة دون اتصال تتضمن معاينات PNG كاملة الصفحة وPDF التفاعلي وتصديرات نص UTF-8
تم التغيير
- يفتح Showcase في Delphi بمعاينة موجَّهة وتحرير مباشر للنماذج وأداة تحكم في إظهار ملاحظات التصميم وحفظ PDF المعدَّل وإجراءات تصدير الصور والنصوص
- تتشارك مدخلات Showcase الأصلية الثلاثة منشئ المستند نفسه وتنفيذ التصدير دون اتصال
تم الإصلاح
- تتسع أقسام جداول Showcase وعينات التعليقات ورموز الباركود ضمن مناطقها المخصصة، وتبقى تسميات الصفحات مقروءة
- يكتب Showcase في Delphi إلى مجلد إخراج مملوك للمستخدم ويعالج إخفاقات المعاينة والتصدير والحفظ صراحة
Version 3.540.0
تم التغيير
- يتقاسم AdvancedWorkflowMatrix مُطلق سير عمل واحدًا عبر Delphi وC++Builder وLazarus، ويشغّل العروض التوضيحية المتخصصة بمخرجات معزولة، ويدعم الاختيار والحدود الزمنية، ويسجّل الملفات التنفيذية المفقودة وإخفاقات العمليات الأبناء في تقارير CSV وHTML
- يتقاسم TextExtract وExtractText في Lazarus جلسة استخراج واحدة للقراءة فقط، ويقبلان كلمات المرور، ويكتبان مخرجات UTF-8، ويحافظان على مدخل وحدة التحكم الأدنى وعلى مقارنة أنماط الاستخراج
- يُعد C# ActiveX HelloWorld نقطة انطلاق مركزة للإنشاء والحفظ مع خيار إخراج بلا واجهة وتنظيف COM صريح وتشخيص نشر واضح
تم الإصلاح
- يتجنب C# Table2PDF صفحة فارغة زائدة، ويستخدم معرفات الخطوط المُعادة، ويحدد موقع DLL بحسب معمارية العملية
- يتضمن بادئ Visual Basic لـ DLL ربطًا أصليًا يلزمه للبناء ويعالج تحميل DLL الخاص بكل معمارية
- يبلّغ دليل محرك التقارير في C++Builder عن التكامل المفقود ولم يعد يقدّم PDF مؤقتًا بوصفه نتيجة جسر حقيقية
- يفشل C++Builder Reader صراحةً حين يتعذر قراءة PDF المقدَّم بدلًا من استبداله بعينته المولَّدة
Version 3.539.53
تم الإصلاح
- يتوقف عرض TextPaging التوضيحي بخطأ حين تعذّر تحميل الخطوط المطلوبة أو حين يترك حد الصفحات جزءًا من النص دون معالجة؛ بهذا لا يمكن حفظ PDF ناقص ثم فتحه وكأنه نتيجة سليمة
Version 3.539.52
تم الإصلاح
- يتحقق العرض التوضيحي ActionNavigationMatrix الطرفي من كتابة ملفات PDF الرئيسية والمرافقة ومن تصدير FDF قبل إبلاغ النجاح، ويتوقف برمز خروج غير صفري عندما تفشل إحدى عمليات الإخراج
Version 3.539.51
تم الإصلاح
- تتجاهل عمليات البحث في أشجار الأسماء وأشجار الأرقام (name-tree وnumber-tree) الحدود المعكوسة بدل إخفاء مدخلات الأبناء الصالحة في ملفات PDF التالفة
Version 3.539.50
تم الإصلاح
- يستوعب فرز الأعداد الصحيحة المدى الإشاري كاملًا دون أن تفيض عملية المقارنة
- تُعيد القوائم المرتبة الفارغة للأعداد الصحيحة ومواضع الملفات صفرًا في استعلامات الوريث (successor)؛ ويتجنّب اختبار العضوية المتناثر للأعداد الصحيحة حجز كل مدى وسيط مع الحفاظ على ترتيب الإدراج والمدخلات المكررة
Version 3.539.49
تم الإصلاح
- يرفض استيراد PNG المقاطع (chunks) المبتورة والترويسات واللوحات التالفة وقيم interlace غير المدعومة والمقاطع الختامية المفقودة أو التالفة قبل اعتبار الصورة صالحة للاستخدام
- تُعيد عملية إعادة تحميل PNG تصفير بيانات الصورة والبيانات الوصفية السابقة مع الإبقاء على خيارات القارئ؛ وتتجاوز القراءات المقتصرة على البيانات الوصفية حمولة الصورة دون حجز ذاكرتها
Version 3.539.48
تم الإصلاح
- تحترم تدفقات الملفات الطول المطلوب عند تغيير الحجم، وتتوسع أسماء الملفات الطويلة إلى مسارات مطلقة كاملة
- يحفظ الإدراج في التدفقات الأطوال والمؤشرات بعرض 64 بت، ويرفض نقاط الإدراج خارج التدفق قبل تعديل البيانات، ويبلّغ عن قراءات أو كتابات ناقصة
- تُلحق أسماء الملفات المرقمة بالصفحات الرقم قبل امتداد الملف، مع الحفاظ على أسماء المجلدات ومعالجة الأسماء التي بلا امتداد
Version 3.539.47
تم الإصلاح
- يحافظ عرض نص HTML ومتابعته على أقواس الزاوية المهربة (escaped) وإملاءات الكيانات (entities) الحرفية بدل تفسير النص المفكوك مرتين
- يحافظ نطاق وكتل الشيفرة في Markdown على علامات & وإملاءات الكيانات في HTML المولّد وPDF المعروض؛ وتحفظ تصديرات مجموعات البيانات النص نفسه الحرفي في قيم الخلايا
Version 3.539.46
تم الإصلاح
- يتجاهل عرض Delphi التوضيحي ExtractImage الصور التي تعذّر تحديدها، ويحتسب الكتابات الناجحة، ويبلّغ عن استخراج ناقص بدل إظهار رسالة نجاح غير مشروطة
- ينشئ ExtractImage مجلد الإخراج ويزيل امتداد ملف الإدخال فقط عند تسمية الصور المستخرجة؛ ويتوقف ExtractAnnotAttach إذا أعاد التحميل أي نتيجة غير النجاح
Version 3.539.45
تم الإصلاح
- تتخطى استعلامات أشجار الأسماء وأشجار الأرقام العقد الأبناء الدائرية أو المتكررة، وتتابع مع الأشقاء الصالحين، وتعالج الأشجار المتداخلة بعمق دون فيض مكدس الاستدعاءات
- تتجاهل عدّ شجرة الأسماء المفاتيح غير الصالحة، ويحافظ البحث والحذف على إزاحة المدخل الكاملة في الأوراق التي تضم أكثر من 32,768 زوجًا من الاسم/القيمة
Version 3.539.44
تم الإصلاح
- تتجاهل استعلامات مربعات الصفحة (page box) والتقاطُها مربعات bleed وtrim وart غير القابلة للتوريد في عقد شجرة الصفحات الأم، وتعتمد بدلًا منها مربع صفحة الورقة أو مربع crop الفعلي له
- يبلّغ
HasPageBoxعن مربعي media وcrop المورّثين مباشرة باتساق مع المصفوفات غير المباشرة
Version 3.539.43
تم الإصلاح
- يبدأ استيراد EMF المتجهي بالقلم الأسود والفرشاة البيضاء الافتراضيين، فتبقى سجلات الرسم التي بلا تحديد كائن صريح مرئية
- تحافظ الخطوط المتعددة (polylines) بعرض 32 بت و16 بت على الأشكال المستقلة داخل أقواس المسار، وتؤجل الخطوط المتعددة بعرض 16 بت الرسم حتى يُرسم المسار وتحترم القلم المعدوم (null pen)
Version 3.539.42
تم الإصلاح
- يلتقط CapturePageEx، عند استخدامه بخيار مربع bleed أو trim أو art على صفحة لا تعرّف ذلك المربع، مربع crop كما هو موثّق بدل مربع media بالكامل؛ ويتبع المربع المعبّأ في الصفحة الافتراض نفسه من ISO 32000-1
Version 3.539.41
تم الإصلاح
- يرسم استيراد EMF سجلات PolyBezier بعرض 32 بت انطلاقًا من نقطتها الأولى بدل اعتبارها نقطة تحكم، فتطابق المنحنيات سجلات 16 بت
- تُرسم سجلات Polyline في EMF خطوطًا مفتوحة بالقلم وحده بدل أشكال مغلقة مع تعبئة
- تبدأ سجلات PolylineTo في EMF من الموضع الحالي ولم تعد تُغلق، ولم يعد السجل الذي تقع نقطتاه الأوليان على خط أفقي يطفئ القلم لكل شكل يُرسم بعده
- ترسم سجلات PolyPolyline بعرض 32 بت في EMF كل خط متعدد؛ وكانت السجلات ذات أكثر من خط متعدد تُتخطى والخطوط المفردة لا ترسم شيئًا
Version 3.539.40
تم الإصلاح
- تُعيد الدالتان ImportAnnotationsFromFDFString وImportAnnotationsFromFDF عدد التعليقات المضافة فعلًا كما في استيراد XFDF؛ ولم تعد المدخلات المتخطاة لأن صفحتها خارج المستند أو لغياب /Subtype لديها تُحتسب
Version 3.539.39
تم الإصلاح
- يرسم استيراد EMF سجلات PolyDraw كاملةً: لم تعد النقاط التي تُغلق شكلًا أثناء رسم خط أو منحنى تُهمَل، فيحتفظ الشكل المغلق بقطعه الأخير وتبقى المنحنيات اللاحقة متزامنة؛ ويحفظ سجل PolyDraw بعرض 16 بت الذي يضم عدة أشكال كلها، ويبدأ الشكل الذي لا يبدأ بنقلة (move) من الموضع الحالي
- يتخطى استيراد EMF سجلات Polyline وPolyBezier وPolygon وPolyDraw وPolyPolyline وPolyPolygon بعرض 16 بت التي تعلن نقاطًا أكثر مما تضم، بدل القراءة إلى ما بعد السجل، وهو ما كان يرسم خطوطًا شاردة من السجلات التالية أو قد يكسر التحويل
Version 3.539.38
تم الإصلاح
- تُفك ترميز مناطق halftone في JBIG2 التي تبدأ شبكتها يسار المنطقة أو أعلاها، أو التي تضع شبكتها المدوّرة خلايا بإحداثيات سالبة، بشكل صحيح: تُقصّ هذه الخلايا عند حد المنطقة بدل إهمالها أو تحريكها، ولم يعد أصل الشبكة يُسحب إلى ركن المنطقة، وتُتخطى الخلايا الواقعة خارجه كليًا تمامًا كما يحدد ITU-T T.88
Version 3.539.37
تم الإصلاح
- تُفك صور JBIG2 التي تتضمن منطقة halftone تتخطى خلايا الشبكة خارج المنطقة الآن بشكل صحيح حين تكون شبكة halftone غير مربعة؛ كانت قناع التخطي يُبنى بصفوف وأعمدة معكوسة، فتُفك الخلايا التي كان ينبغي تخطيها ويخرج باقي المنطقة مشوشًا
Version 3.539.36
تم الإصلاح
- تحصل الصفحة المنقولة بـ MovePage على نسخ خاصة بها من مربعات الصفحة والدوران والموارد التي ورثتها من عقدة Pages القديمة، فلم يعد استدعاء SetPageBox أو رسم نصوص وصور على الصفحة المنقولة يغيّر العقدة القديمة والصفحات التي لا تزال ترث منها
- يمنح SetPageBox الصفحة مربعًا خاصًا بها عندما يكون المربع الحالي كائنًا غير مباشر (indirect) تشارك فيه صفحات أخرى أو عقدة Pages، بدل إعادة تحجيم كل صفحة تشير إليه
- لم يترك CopyPageRanges صفحات المصدر المنسوخة تتقاسم مربعات صفحاتها مع عقدة Pages أو CropBox مع MediaBox، فلم يعد تغيير مربع في صفحة مصدر بعد النسخ يعيد تحجيم صفحاتها الشقيقة أو المربعين معًا
Version 3.539.35
تم الإصلاح
- يكتب
TransformPageElementجزأي التحجيم والدوران من المصفوفة التي يلفها حول مسار أو صورة بستة منازل عشرية بدلاً من أربعة، فلم تعد الدورانات الصغيرة ومعاملات التحجيم الدقيقة تنحرف انحرافًا ظاهرًا في الصفحات الكبيرة؛ أما جزء الإزاحة فيحافظ على أربعة منازل عشرية
Version 3.539.34
تم التغيير
- تعديلات الصفحة التي تعيد كتابة طبقة محتوى، بما في ذلك
ScalePageوTransformPageElementوDeletePageElementوRedactRegionوConvertTextToPathsوالبرامج الناتجة منParsePageContentLayerالمكتوبة مجددًا بـWritePageContentLayer، تحتفظ بالنص الأصلي لكل معامل رقمي لا تغيّره بدلاً من تقريب الطبقة كلها إلى أربع منازل عشرية - لدى
TPDFContentProgramخاصية جديدة باسمCanonicalNumbers؛ اضبطها قبل التحليل لإعادة كتابة كل رقم بصيغة قياسية كما يفعلNormalizeContentStreams
تم الإصلاح
- الرقم غير الصفري الأصغر من دقة الإخراج، مثل معامل تحجيم بقيمة 0.00001، يُكتب بأرقامه المعنوية بدلاً من 0، فلم يعد تطبيع المحتوى ولا محسّن المحتوى عند الحفظ ولا كائنات PDF الجديدة يحوّل تحويلًا دقيقًا جدًا إلى مصفوفة مفردة تُخفي المحتوى
Version 3.539.33
تم الإصلاح
- لم يعد
RecolorPageوRecolorDocumentيفشلان بخطأ تحويل على الأنظمة ذات الفاصلة العشرية عندما تحدد صفحة لونًا بقيمة عشرية مثل0.5 g - يقرأ
DrawSVGوDrawSVGFromFileوGetSVGWidthوGetSVGHeightأطوال SVG العشرية مثلwidth="100.5"على الأنظمة ذات الفاصلة العشرية بدلاً من الرجوع إلى الافتراضات، ويحافظExportPageSVGعلى ألوان التعبئة والحدود العشرية - يقبل
RenderPageRegionToFileوRenderPageToDCClipمستطيلات قص عشرية مثل10.5,20.5,50.5,40.5على كل الإعدادات المحلية؛ والسلسلة القصّية المشوهة الآن تفشل أو تصيّر دون قص بدلاً من إطلاق استثناء، والقيم الزائدة لم تعد تتجاوز المستطيل - يقرأ
AddPolygonAnnotationوAddPolyLineAnnotationوAddInkAnnotationإحداثيات الرؤوس العشرية على كل الإعدادات المحلية ويرفض قائمة الإحداثيات المشوهة - يقبل
SetOutputIntentMixingHintsقيم solidity مثل0.95على الأنظمة ذات الفاصلة العشرية، ويقارنCheckDocumentPolicyقيم الخصائص العشرية مثلDocument.Version >= 1.3مقارنة عددية
Version 3.539.32
تم الإصلاح
- يكتب
AddTagAttributeالقيم المكتوبة بنقطة عشرية مثل0.5أو2.5 3.5كأعداد PDF على الأنظمة ذات الفاصلة العشرية بدلاً من تحويلها إلى أسماء PDF؛ والقيم المكتوبة بالفاصل العشري للنظام ما زالت مقبولة - تنسّق
SetStructElemBBoxوSetStructElemSpaceBeforeوSetStructElemSpaceAfterوSetStructElemStartIndentوSetStructElemEndIndentوSetStructElemColorأعدادها باستقلال عن الإعدادات المحلية للنظام، ولا تكتبها أبدًا بالصورة الأسية - تجتاز العناصر النائبة PDF/VCR المنشأة عبر
BeginPDFVCRPlaceholderتحقق GTS_BBox قبل الحفظ على الأنظمة ذات الفاصلة العشرية
Version 3.539.31
تم الإصلاح
- يكتب
GetSimilarImageDeduplicationReportJSONقيمةmaxAcceptedMeanErrorكعدد JSON صالح على الأنظمة ذات الفاصلة العشرية بدلاً من0,333333333333333 - يكتب
GetObjectJSONوExportObjectJSONأعداد PDF مثل-.25و+3أو007.5بصيغة أعداد JSON، فتكون المخرجات JSON صالحًا ويقبلهاSetObjectJSONوImportObjectJSONمن جديد - تكتب تقارير JSON القيمة
nullللقيمة التي هي NaN أو لانهائية بدلاً من+InfأوNAN، أو الفشل باستثناء فاصلة عائمة:GetDocumentJSONلأعداد PDF المتفيضة، وGetAnnotationHitsJSONللإحداثيات غير المنتهية، وتقارير الباركود والتسوية (deskew) والنص المهيكل وPDF/VCR - تنسيق الأعداد لمخرجات محتوى PDF وSVG وHTML وCSV يكتب 0 عند NaN بدلاً من إطلاق عملية فاصلة عائمة غير صالحة
Version 3.539.30
تم الإصلاح
- ينشئ
ImportAnnotationsFromFDFوImportAnnotationsFromFDFStringالتعليقات المستوردة من جديد؛ فسابقًا كان كل إدخال يُحسب دون أن يُضاف أي منها لأن قيمة/Subtypeلم تكن تُقرأ قط - يقرأ استيراد تعليقات FDF
/Rectو/Pageو/Contentsو/Tو/Subjبأي ترتيب مفاتيح، ويبقي كل بحث داخل إدخال التعليق الخاص به، ويحلل الأعداد باستقلال عن الإعدادات المحلية للنظام، بما في ذلك الفواصل العشرية المكتوبة بإصدارات أقدم - يكتب
ExportAnnotationsToFDFوExportAnnotationsToFDFStringمستطيل/Rectالخاص بكل تعليق في فضاء المستخدم PDF، فيُستورد الملف المُصدَّر إلى الموضع نفسه بدلاً من إزاحة التعليق
Version 3.539.29
تم الإصلاح
- يكتب
ExportAnnotationsToXFDFوExportAnnotationsToXFDFStringقيم rect وopacity وwidth وdashes بفاصل عشري نقطي على كل الإعدادات المحلية للنظام، كما يتطلب XFDF - يقرأ
ImportAnnotationsFromXFDFوImportAnnotationsFromXFDFStringصيغة XFDF القياسية بنقطة عشرية على الأنظمة ذات الفاصلة العشرية بدلاً من الفشل بخطأ تحويل، والعدد المشوه الآن يتخطى تلك القيمة بدلاً من إجهاض الاستيراد - ملفات XFDF المكتوبة بإصدارات أقدم على الأنظمة ذات الفاصلة العشرية، مثل
rect="50,500 80,250 70,750 100,125"أوopacity="0,600"، تُستورد بقيمها المقصودة
Version 3.539.28
تم الإصلاح
- لم يعد محسّن تدفق المحتوى يحذف مشغّل
1 0 0 1 0 0 Tmالذي يعيد ضبط موضع النص بعدTdأوTDأوT*أو قيمةTmسابقة أو نص معروض، وهو ما كان يزيح الحروف التالية عند تحسين تدفقات المحتوى أثناء الحفظ؛ وقيمةTmالافتراضية (مصفوفة الوحدة) مباشرة بعدBT، أو التي تكرر قيمة افتراضية سابقة، ما زالت تُحذف
Version 3.539.27
تم الإصلاح
- يحافظ
MovePage، وCollateDocumentsExعندما يعيد ترتيب الصفحات، علىMediaBoxوCropBoxوRotateالتي ورثتها الصفحة من عقدةPagesالأصلية، فلم تعد الصفحة المنقولة تحت أصل آخر تغيّر حجمها أو قصّها أو اتجاهها؛ وكان فقط/Resourcesهو ما يُحمل سابقًا - يحافظ
BalancePageTreeعلى/Resourcesأو/MediaBoxأو/CropBoxأو/Rotateالموروثة التي هي كائن غير مباشر كمرجع إلى ذلك الكائن بدلاً من نسخها إلى كل صفحة
Version 3.539.26
تم الإصلاح
- محتوى الصفحة الذي تكتبه
AddPageMatrixوScalePageوDeskewPageوTransformPageElementوDeletePageElementوRedactRegionوConvertTextToPathsيستخدم دائمًا فاصلًا عشريًا نقطيًا وتدوينًا عاديًا، فلم تعد هذه الاستدعاءات على الأنظمة ذات الإعداد المحلي للفاصلة العشرية تنتج مشغّلات تالفة مثل0,5 0 0 0,5 0 0 cm، والقيم الصغيرة جدًا لا تُكتب أبدًا بالصورة الأسية - يكتب
ExportAnnotationsToFDFوExportAnnotationsToFDFStringمستطيلات التعليقات بفواصل عشرية نقطية مهما كانت الإعدادات المحلية للنظام - تكتب
RecolorPageوRecolorDocumentمعاملات لون محايدة تجاه الإعدادات المحلية لكل فاصل عشري، لا للفاصلة فقط - يرفض
AddPageMatrixوScalePageوRedactRegionالوسائط NaN أو اللانهائية بدلاً من كتابتها في الصفحة
Version 3.539.25
تم الإصلاح
- إصلاح مظهر حقول النموذج يكتب
/Typeو/Subtypeعلى تدفق المظهر بدلاً من إنشاء حالات مظهر/Nزائفة، وألوان الحدود CMYK لم تعد تقرأ متجاوزةً مكوناتها الأربعة، وحذف حقل نموذج لم يعد يخطئ في قراءة عدد الصفحات عبر قيم/Countغير المباشرة - إصلاح نمط خانة الاختيار يحتفظ بحالتي التصدير المخصصتين معاً عند عدم وجود حالة Off بدلاً من محوهما، وأبناء زر الاختيار الدائري يسجلون حالة التشغيل بنفس الترميز الذي تقارن به دوال ضبط القيمة
- تعليقات المرفقات الملفية بلا قاموس
/EFلم تعد تتسبب في انهيار، وتصدير تعليقات الصوت لم يعد يبدّل بايتات الصوت 8-بت، وشفافية تعليقات التوضيح توحّد مقياساً واحداً متسقاً، وSetAnnotRectيبلّغ عن النجاح من جديد - إعادة بناء مظهر التعليقات لم تعد تترك تدفقاً محرراً في جدول كائنات البنية عندما لا يملك المستند استدعاء كائن غير مباشر
- محسّن ثقوب المفتاح (peephole) لم يعد يحذف ضابطي لون تجاوزهما مشغّل لون آخر من نفس الجانب بينهما، ويواصل دمج التكرارات المتجاورة البسيطة
- استخراج النص يعامل مشغّل
"كتباعد كلمات وأحرف بدلاً من إفساد تباعد السطور، وFindInstructionsInRectلم يعد يبلّغ عن نطاقات متداخلة للمسارات متعددة الأجزاء الفرعية - استيراد EMF: يقرأ
PolyDrawأعلام نوع النقطة من الإزاحة الصحيحة، ويقرأPOLYTEXTOUTWدائماً نصاً بترميز UTF-16 ولم يعد يراكم الحروف بين السلاسل، وتخطيط الحروف الصغير في النص لم يعد يستبدل السلسلة كلها بحرف واحد، والتعبئات المتدرجة لم تعد تقسم على صفر مع المستطيلات المنحطة - استيراد EMF يقيّد كل حجم ترويسة صورة نقطية وارد من الملف، وعدد مستطيلات المنطقة، وعدد الأضلاع، ومؤشر رأس التدرج ضمن حدود السجل، ولم يعد يقطع مؤشرات السجل إلى 32 بت على Win64
- مناطق نصف التظليل في JBIG2 تضع الأنماط في اتجاه الشبكة الصحيح، واختبارات قناع التخطي تقارن بالفاصلة الثابتة، وسياقات الحساب الاحتفاظية تلتقط لقطة إحصاءات فك الترميز بدلاً من التعطل، وجداول الرموز بطول التشغيل تحمي رمز التكرار في الموضع الأول، وخطوط مرجع MMR تتوقف عند العلامة الحارسة، والرموز الخارجة جزئياً عن القماشة تُقصّ بدلاً من إزاحتها، والأعداد المشوهة تظهر كأخطاء فك ترميز بدلاً من أخطاء تشغيل غير ذات صلة
- فك ترميز CCITT يهيّئ عمليات البحث عن العناصر المتغيرة ويعالج طلبات البتات الأصغر من البتات المتبقية دون إزاحات سالبة؛ ومرمّز CCITT يغطي النطاق الكامل للوضع الرأسي ولم يعد يقرأ بايتاً واحداً بعد نهاية مخزن الصف
- تحميل TIFF يتحقق من حدود كل قراءة IFD، ويمنع فك صور اللوحة كتدرجات رمادية، ويكتب
StripByteCountsمرة واحدة، ويقيّد أرقام الصفحات المطلوبة؛ وإعادة ضغط JPEG الفاشلة لم تعد تبلّغ عن تدفق تالف كنجاح - مقارنة المستندات تدمج بيانات التدفق في بصمات الكائنات، وتطابق الكائنات المكررة واحداً بواحد، وترتّب مفاتيح القاموس، وتفصل عناصر المصفوفة، وتبلّغ عن فشل المقارنة بدلاً من حكم زائف بعدم وجود تعديلات
- مُنشئ اسم التصيير المتوازي لم يعد يقرأ متجاوزاً نمطاً من حرف واحد
- إصلاح المزيد من العروض التوضيحية: نتائج قائمة الملفات تُقرن الآن بالملف الصحيح، والعارض متعدد الوظائف يعيد المحاولة فعلياً بكلمة المرور المُدخلة، وأربعة عروض توضيحية لم تعد تضيف صفحة أولى فارغة، وعروض الملف المدمج وعمليات الصفحة التوضيحية تحل مسارات العينة والإخراج بجانب مدخلاتها، ومساعدات استراتيجية الصور تتحقق من نتائج المكتبة التي تُبنى عليها
- عنصر تحكم ActiveX يهيّئ نتيجة كل طريقة مدخل من نوع variant، فلم يعد variant مرفوض يُرجع بيانات عشوائية من المكدس
Version 3.539.24
تم الإصلاح
- رمز الطابع
&Tيوسّع الآن عنوان المستند بدلاً من المؤلف في الترويسات والتذييلات والطوابع - تعليقات PrinterMark تكتب نوع العلامة
/PNككائن اسم PDF كما يقتضيه المعيار ISO 32000-1 بدلاً من سلسلة نصية حرفية - استعلامات فهرس الحقل الفرعي لحقل نموذج مركب تُحرر حقلها الفرعي المؤقت بدلاً من تسريبه
- أشجار الصفحات المعاد توازنها ترث
MediaBoxوCropBoxوRotateمن العقد السلف بدلاً من وراثةResourcesفقط CreateDateوModifyDateفي XMP يحافظان على شكل ISO 8601 صالح عندما يحذف تاريخ PDF منطقته الزمنية، واستيراد XMP بلا غلافx:xmpmetaلم يعد يُسقط تحديثات البيانات الوصفية اللاحقة- الهروب الثماني لسلاسل PDF النصية يتوقف عند الرقم 7، فأصبح
\0689يُفكّ الآن إلى\06متبوعاً بالحرفين الحرفيين 89 كما يحدده المعيار - نشر QDF يبلّغ عن فشل الكتابة الأصلي بدلاً من إخفائه بخطأ إغلاق ملف
- إصدارات FPC تضغط وتوسّع تدفقات Flate الأكبر من قطعة واحدة كتدفق zlib واحد بدلاً من أعضاء منفصلة لكل قطعة يقصّها المستهلكون الآخرون
- عروض EditFormField التوضيحية تولّد نموذجها العينة عند أول تشغيل بدلاً من فشل العثور عليه، وعدة عروض توضيحية تبلّغ الآن عن فشل تحميل المستند بدلاً من حفظ PDF فارغ بصمت
تم التغيير
- فهرس بحث التوثيق يسرد صفحة نقاط البيع المُوطَّنة تحت عنوان كل لغة الخاص بها بدلاً من عنوان صيني واحد مشترك لكل الإعدادات المحلية
Version 3.539.23
مضاف
- يدعم فك ترميز JBIG2 الأصلي تنظيم الملف المستقل ذي الوصول العشوائي بأطوال أجزاء معروفة، بما في ذلك جداول هافمن مخصصة وصور التنقيح
تم الإصلاح
- الإدخال العشوائي الوصول يتحقق من ترتيب الترويسة، وترويسة نهاية الملف المطلوبة، وأطوال البيانات الإجمالية قبل فك الترميز، ويرفض البيانات المبتورة أو الزائدة دون الاحتفاظ بصورة نقطية قديمة
Version 3.539.22
مضاف
- يدعم فك ترميز JBIG2 الأصلي جداول هافمن مخصصة لقوائم الرموز ومناطق النص، مع أخطاء صريحة للجداول المشوهة وأطوال البادئات غير المدعومة
مصلح
- يستهلك فك ترميز تنقيح هافمن حجم الصورة النقطية المعلن ويحافظ على بكسلات الرموز الجزئية، مما يمنع تلف النص في صور JBIG2 المتأثرة
Version 3.539.21
تم الإصلاح
- فك ترميز Flate وLZW يحترم وسم خوارزمية PNG لكل صف عند المؤشرات 10 إلى 14 بدلاً من فك كل صف بالخوارزمية المذكورة في القاموس. وتدفقات الإسناد الترافقي المشروعة المضغوطة بـ Predictor 12 تُحمَّل من جديد، ولم تعد صفوف الصور تُفك في مواضع خاطئة، ويمكن للصفوف تبديل الخوارزمية داخل الصورة الواحدة
Version 3.539.20
تم الإصلاح
- أول تعديل على معلومات المستند أو المعرّف القياسي يلتقط XMP الأصلي قبل تهيئة كائن المحرر، فلم تعد خصائص المؤلف والمعرّف المخصص الموجودة تُكتب فوقها ببيانات وصفية افتراضية؛ وتغييرات معلومات المستند تصل إلى XMP أيضاً تحت Free Pascal على Windows، وXML بدون غلاف xpacket يُحفظ دون تغيير
Version 3.539.19
تم الإصلاح
- حفظ كائن عشري غير معدل يحافظ على الدقة التي حُلل بها بدلاً من تقريبها إلى دقة الإخراج الافتراضية، فلم تعد معاملات الألوان المعايرة مثل gamma ومصفوفة CalRGB تغير ألوان الصفحات عند الحفظ العادي؛ والأرقام المُنشأة أو المعدلة حديثاً تواصل استخدام الدقة المضبوطة
Version 3.539.18
تم الإصلاح
- تحديث معلومات المستند يستبدل قيمة الحقل الهدف فقط: فعندما يشير تاريخ الإنشاء وتاريخ التعديل إلى نفس السلسلة غير المباشرة، لم يعد تجديد تاريخ التعديل يعيد كتابة تاريخ الإنشاء
Version 3.539.17
تم التغيير
- كشف الإصدار والفحص المسبق عند الحفظ يتجنبان نسخ السلاسل المُدارة المتكررة أثناء جمع قواعد الميزات، ما يقلل حمل المسح على المستندات الكبيرة؛ وكشف الميزات ومتطلبات الإصدار والتشخيص الأول للميزة غير المتوافقة تعمل تماماً كما كانت
Version 3.539.16
تم الإصلاح
SaveQDFToFileوConvertFileToQDFلم يكتبا تدفقات محتوى Flate المضغوطة العادية كتدفقات فارغة تحت Free Pascal وLazarus؛ وفك الضغط من موضع بداية صريح يطبق الإزاحة الصحيحة القائمة على الواحد والطول الكامل للمدخل
Version 3.539.15
تم الإصلاح
- وحدة فك ترميز JBIG2 تقرأ مقاطع profile المحلية والعالمية بأمان وتحصل على أول bitmap عبر رقم الصفحة القياسي 1
- فك ترميز bitmap بصيغة MMR يعيد محاذاة موضع القراءة إلى حد المقطع المعلن بعد آخر بكسل، فلم يعد EOFB الختامي أو الحشو يُخلطان مع ترويسة المقطع التالي
- جداول Huffman المخصصة وتنظيم الوصول العشوائي وأطوال المقاطع المجهولة أو المبالغ فيها تفشل بشكل صريح؛ وملفات profile المبتورة ومراجع المقاطع غير القانونية توقف فك الترميز، و
TPLJBIG2Decoder.LastErrorيبلّغ عن السبب، والفشل يمسح bitmap القديمة - ينشر
RepairQDFFileالنتيجة عبر ملف مؤقت يُنشأ حصرياً في مجلد الهدف، ولا يستبدل الهدف إلا بعد كتابة الملف المؤقت ودفعه وإغلاقه؛ وعمليات الإصلاح الموضعي والإخراج فوق الملف تحتفظ بالملف القديم عند فشل الكتابة أو الدفع أو الاستبدال، وتُبلغ عن النتيجة 0 مع كود الخطأ 305 - عملية النشر تحفظ DACL الحالي للهدف قبل كتابة الملف المؤقت وتفشل بشكل صريح عندما يتعذر حفظ الأذونات أو كان الهدف مشفراً بـ EFS؛ والإدخال المقفل حصرياً أو غير القابل للقراءة يُبلغ عن كود الخطأ 401 بدلاً من إثارة استثناء القراءة، ونشر الملفات يدعم مسارات Windows الطويلة الممتدة وUnicode
Version 3.539.13
تم الإصلاح
- إصلاح ملف QDF لم يعد يُسقط محتوى التدفق الذي يحتوي جسمه على علامات
endstreamأوendobjكاملة السطر؛ يختار الإصلاح آخر زوج علامات نهاية كامل قبل ذيل الكائن المعروف - علامات الذيل الخاصة بالكائن والمتكررة داخل التدفق تفشل بها عملية الإصلاح قبل مسح التدفق الهدف، مع الحفاظ على البايتات والطول والموضع الأصلية
- يُكمل
RepairQDFFileعملية الإصلاح كاملة في الذاكرة ولا يفتح الهدف للكتابة إلا بعد النجاح، فلم يعد الإدخال المرفوض قادراً على اقتطاع ملف فُتح بـfmCreate - سلاسل مواصفات الملفات تحافظ على الترتيب الموثق:
/UFأولاً ثم/Fكبديل، ولا تعطي مفاتيح/Pathغير المعروفة أولوية اسمية
Version 3.539.10
تم الإصلاح
- فك ترميز LZW وسّع عرض الكود عند عتبة وحدة فك الترميز نفسها بدلاً من مشاركة عتبة المرمِّز، وبذلك تُفك التدفقات بشكل صحيح عبر جميع عروض الأكواد وإعادة ضبط القاموس المتكررة، وقد تم التحقق من ذلك مقابل Pillow وlibtiff وPDFium
- تحليل توقيع CMS ينقل حدود الأصل عبر ContentInfo وتغليف EXPLICIT وSignedData والمجموعات وحقول الهوية، فلم تعد البيانات الخارجة عن النطاق تُستخدم لعدّ الشهادات أو مطابقة الهوية، مع قبول الحشوة الصالحة بعد الكائن الخارجي كما كان
- تحديث تسميات الصفحات في مستند تستخدم PageLabels فيه شجرة أرقام
/Kidsيحول الإدخالات الموجودة إلى عقد أوراق في الجذر بدلاً من إضافة إدخال/Numsثانٍ متنافٍ قد يتجاهله القرّاء - مثال MergePDF في Lazarus يقرأ مدخلاته من وسيط سطر الأوامر الثاني ويعامل الإدخال الصريح المفرد كخطأ في المعاملات، ولم يعد يطبع رسالة نجاح قبل أن يفشل التوليد
Version 3.539.6
تم الإصلاح
- تتوقف عمليات مسح المخزن المؤقت عند إرجاع
TStream.Readللصفر بدلاً من التوقف عند قراءة ناقصة، كما أن التدفقات التي ترجع بضعة بايتات في كل مرة لم تعد تتخطى ذيل البيانات قيد المسح - ترميز OID يدمج القوسين الأولين في معرّف فرعي واحد بصيغة base-128، فتُرمَّز
2.999.3كـ06 03 88 37 03بدلاً من أن تتحول بصمت إلى1.15.3 - رسم معاينة داخل تدفق صورة مُعاد استخدامه يمسح المحتوى القديم أولاً، فلم تعد الصورة المصغّرة تحتفظ بذيل الصورة السابقة
- يحرر
CopyPageRangesنسخ المستند الخاصة به داخل كتلةfinally، ما يغطي فشل التحميل والاستثناءات والإكمال الطبيعي
Version 3.539.3
مُصلَح
- لم يعد رمز الخطأ 526 يعني شيئين مختلفين. انتقلت
PDFLIB_ERROR_TEXT_LOCATION_INVALIDوPDFLIB_ERROR_TEXT_LOCATION_STALEوPDFLIB_ERROR_TEXT_LOCATION_READ_ONLYإلى الرموز 535 و536 و537 التي لم تكن معيَّنة سابقًا، بحيث لا يرى المستدعون المتفرعون على 526 سوى فشل تصدير JSON المُوثَّق له؛ ولم يعد الرمزان 527 و528 يُستخدمان - يصف
PDFlibErrorMessageالرموز من 101 إلى 104 وفق ما يثيرها فعلاً: الرموز الأربعة تعود إلى معاملات التشفير لا إلى أخطاء التحليل التي زعمها جدول الرسائل، فلم يعد فشل قوة التشفير يبلّغ عن "Invalid PDF structure" - يعيد
PDFlibErrorMessageرسالة حقيقية لكل رمز ترفعه المكتبة: فشل الفتح عبر Byte-range وHTTP، وفتح الملفات عبر الشبكة، وحجم مفتاح التشفير الخام، وتصدير JSON، ورفض مقابض marked-content وclip-path، والرموز المعاد ترقيمها لمواقع النص، وأكواد امتثال embeddable-font وPDF/VCR وPDF/E، وأكواد الحقل المكرر وسكربتات النماذج كانت جميعها تعود إلى النص العام "<segment> error (NNN)" - تسرد صفحة مرجع
LastErrorCodeمجموعة الرموز كاملة، بما في ذلك رمز الحقل المكرر 705 الذي كان غائبًا سابقًا، ولم تعد تعرض إدخالي 527 و528 المتقاعدين
Version 3.539.2
مُصلَح
- أصبح ملف TIFF الذي يعلن دليله قيمًا أكثر مما يحتويه مرفوضًا بالكامل. كانت القيم تُهمَل مع بقاء العدد، فكانت القراءات التالية تقرأ أول عنصر من مصفوفة فارغة
- ملف PNG الذي يحمل ترويسته نوع لون أو عمق بت خارج التنسيق يُرفض بدلًا من فك ترميزه بلا قنوات لون، وهو ما كان يرسل مرشحات الصفوف إلى مخزن فارغ
- قطعة دقة PNG أقصر من تسعة بايتات المحددة لها لم تعد تقرأ بعد البيانات المعطاة
- الصور ثنائية البعد من نوع CCITT Group 3 وGroup 4 تُفك ترميزها في Free Pascal وLazarus؛ كان بحث خط المرجع يعيد مصفوفة لم تُنشأ أبدًا، وهذا المترجم يتركها فارغة
Version 3.539.1
مُصلَح
- يستبعد مخزن القرص للعارض الآن الصور النقطية المُصيَّرة عند كل ترقية للمكتبة. كانت علامة الإصدار المستخدمة في المقارنة تُدار بمعزل عن إصدار المكتبة وتأخرت، لذا أمكن إعادة استخدام مخزن صدر من إصدار قديم بعد التحديث
- تقرأ إصدارات Free Pascal وLazarus صور
BI_BITFIELDSالنقطية ذات 16 بت بشكل صحيح مجددًا: كانت أقنعة القنوات تُؤخذ من إزاحة خاطئة عند استخدام ملف لترويسة معلومات موسعة، فتختلط الألوان - لم تعد صفوف الصور النقطية تُقرأ خطأً في الإصدارات بدون جهاز داعم: كانت صفوف 1 و4 بت تُقاس بقسمة صحيحة فتفقد آخر بكسلات كل صف، وكان الحفظ يكتب كتلة البكسل منزاحة بايتًا واحدًا
- لم يعد التقاط رسم إلى metafile ينتج صورة فارغة عندما يكون الحجم غير معروف مسبقًا؛ يؤخذ الإطار المسجل الآن من الرسم نفسه كما في VCL
- قراءة صورة نقطية معلن حجم لوحتها الألوان أكبر من عمقها اللوني تُرفض بدلًا من اعتبارها موثوقة
- استعلامات حالة مهام الطابعة تحرر مقبض spooler المفتوح، لذا لم يعد استقصاء مهمة يسرّب مقبضًا في كل استدعاء
Docs\index.htmlهو مجددًا بوابة اللغات. كانت مزامنة مستندات قد استبدلته بنسخة من تنقل المرجع بالصينية المبسطة كانت روابطه تشير إلى دليل غير موجود
مُغيَّر
- تسرد حزمة Lazarus
PDFlibPasLaz.lpkالآن وحدات encoder LZW وBrainpool وEd448 وML-DSA وطابعة PDF وencoder JBIG2 الخارجي الاختيارية مع تعريفات metafile، بما يوافق مجموعة الوحدات في بناء سطر الأوامر build-Win64-Demo-Laz.cmdيحيل إلىbuild-Lazarus-Demo.cmd win64، فيضع كلا المدخلين الملفات التنفيذية للعرض فيbin\x86_64-win64بدلًا من دليل المصدر
Version 3.539.0
تمت الإضافة
- تدعم Free Pascal وLazarus الآن إنشاءات Windows 32 بت إلى جانب Win64، بما في ذلك إنشاء ملفات PDF وتحميلها وتشفيرها وصور JPEG 2000
- تقبل سكربتات بناء مكتبة Lazarus والإصدار التجريبي والعروض التوضيحية واختبارات وحدة التحكم
win32أوwin64، وتدعم المصرّفات المتقاطعة المستضافة على Win32 مع مجلدات إخراج منفصلة لكل بنية
تم التغيير
- يستخدم Win32 مُرمّز Pascal المضمّن لـ JBIG2 عند طلب مُرمّز خارجي؛ ويظل المُرمّز الخارجي المرتبط ساكنًا متاحًا على Win64
- تتضمن إنشاءات FPC الضغط عبر تطبيق Pascal المضمّن لـ zlib، ولم تعد تحمّل
zlib1.dllمن مسار بحث النظام
Version 3.538.0
تمت الإضافة
- يمكن لبنيات Free Pascal وLazarus الآن استخدام المرمِّز الخارجي لـ JBIG2: أضِف الوحدة الجديدة PDFlibJBIG2EncDLL إلى المشروع واحتفظ بـ
pdflibjbig2enc.dllبجانب الملف التنفيذي، وستحترمAddImageJBIG2FromStreamExوبقية نقاط دخول JBIG2 هناك طلب المرمِّز الخارجي تمامًا كما تفعل في Delphi. بدون الـDLL يستمر الطلب في التراجع إلى المرمِّز المدمج بلغة Pascal، فلا تتأثر المشاريع التي لا توزّعه - ملف
DLL\JBig2Enc\Win64\pdflibjbig2enc.dllجديد قابل لإعادة التوزيع مع سكربت البناء الذي ينتجه
Version 3.537.0
تمت الإضافة
- تحوّل بنيات Free Pascal وLazarus ملفات التعريف (metafile) إلى محتوى صفحة متجهي. تُنتج
ImportEMFFromFileوImportEMFFromStreamوصيغتاهما Ex وLoadFromCanvasDCوNewPageFromCanvasDCالآن هناك معاملات رسم PDF حقيقية مع خطوط مضمّنة، كما تفعل في Delphi، بدلًا من الإبلاغ بأن هذا النمط غير متاح. يبقى النص قابلًا للتحديد والبحث، والإخراج جزء يسير من حجم الاستيراد المُنقَّط
Version 3.536.7
تم الإصلاح
- يعيد تعداد الطابعات أسماء حقيقية على Free Pascal وLazarus. كانت كل طابعة تعود بحرفها الأول فقط، ما جعل اختيار الطابعة وملفات تعريف الطابعة المخصصة والطباعة نفسها ترفض كل طابعة مثبتة
- لم تعد
GetPrinterNamesتنهار في البنيات بدون VCL: فهي تستعلم الآن مباشرة من خدمة الإرسال (spooler)، كما كانتGetLatestPrinterNamesتفعل أصلًا
Version 3.536.6
تم الإصلاح
- يبلّغ تحويل ملف التعريف إلى محتوى صفحة متجهي الآن عن الفشل في البنيات غير القادرة على ذلك، بدلًا من إرجاع صورة محتواها فارغ. كانت
ImportEMFFromFileوImportEMFFromStreamوصيغتاهما Ex وLoadFromCanvasDCتعيد جميعها هناك معرّف صورة يبدو سليمًا، فتخرج الصفحة فارغة دون أي شيء يوضح السبب. لا يتأثر استيراد الملف نفسه كصورة، ويحمل الصورة ذاتها - لم يعد التقاط الـcanvas ولا استيراد ملفات التعريف ينهار عندما يتعذر تشغيل التحويل: كانت كلتا نقطتي الدخول تستخدمان الصورة الناتجة دون التحقق من وجودها
Version 3.536.5
تم الإصلاح
- يعمل استيراد ملفات التعريف المُنقَّط على Free Pascal وLazarus. لم تُرجع
ImportEMFFromFileوImportEMFFromStreamوصيغتاهما Ex شيئًا عند طلب التنقيط، بينما كانتLoadFromCanvasDCتنهار في النمط نفسه، لأن تدفق الرسم المسلَّم إلى محمّل الصور لم يكن من النوع الذي يستطيع قراءته هناك. لم تتأثر المسارات المتجهية
Version 3.536.4
تم الإصلاح
- يبلّغ التقاط ملفات التعريف على Free Pascal وLazarus مجددًا عن حجمه الفيزيائي، بحيث يستورد
LoadFromCanvasDCوبقية نقاط دخول التقاط الـcanvas الرسم بدلًا من الفشل عند إطار بحجم صفري - يبلّغ كائن الخط الخالي من VCL الآن عن قيمة
PixelsPerInchحقيقية ويُنسخ عندAssign. كان كلاهما عاطلًا، فكانت الشيفرة التي تأخذ دقة العرض الخاصة بها من خط تطلب canvas بحجم صفري، وكان تسليم خط مُجهَّز إلى canvas يحتفظ بصمت بالخط القديم - تُنشأ ملفات التعريف على Free Pascal افتراضيًا بالتنسيق المحسّن (enhanced) مطابقةً لبقية الأنظمة الأساسية؛ كانت تُحفظ سابقًا بالتخطيط القديم ذي 16 بت ما لم يضبط المستدعي الراية بنفسه
Version 3.536.3
تم الإصلاح
- تستورد بنيات Free Pascal وLazarus الآن صور BMP بعمق 4 و8 و16 بت. كانت
AddImageFromFileوAddImageFromStreamلا تعيدان أي صورة صامتتين لتلك الأعماق، بما في ذلك صيغةBI_BITFIELDSذات 16 بت التي تكتبها برامج الرسم، لأن قارئ الصور النقطية الخالي من VCL لم يكن يفهم سوى مدخلات 1 و24 و32 بت
Version 3.536.2
تم الإصلاح
- يعمل تصدير ملفات التعريف الكلاسيكي عبر GDI على Free Pascal وLazarus: كانت
RenderPageToMetafileFileوRenderPageToMetafileStreamترفعان خرقًا للوصول (access violation) لكل منmfEMFوmfWMF، لأن لوحة ملفات التعريف الخالية من VCL كانت بديلًا فارغًا بلا فرشاة ولا قلم ولا خط. يُسجَّل كلا التنسيقين الآن في ملف تعريف محسّن حقيقي ويُكتبان، معmfWMFبالترويسة القابلة للتموضع (placeable) التي يحتاجها ملف .wmf
Version 3.536.1
تم الإصلاح
- تكتب بنيات Free Pascal وLazarus الآن ملفات BMP صالحة بعمق 1 و4 و8 بت: كان بديل الصور النقطية الذي يحل محل نسخة VCL لا يُصدر أي جدول ألوان على الإطلاق، فتُرفض الصور النقطية المفهرسة بلوحة ألوان من كل قارئ وترسم على لوحة سوداء بالكامل
- يعمل استيراد الصور ثنائية المستوى (bi-level) على Free Pascal من جديد: تستطيع
AddImageCCITTFromFileوAddImageCCITTFromStreamوما يعادلها في JBIG2 الآن قراءة الصور النقطية أحادية البت المقدمة إليها، بدلًا من الفشل لأن ما كان يُفك ترميزه هو مدخلات BMP ذات 24 و32 بت فقط
Version 3.536.0
تمت الإضافة
- تشغّل بنيات Free Pascal وLazarus الآن مسارات المعالجة الدفعية المتوازية بدلًا من التراجع إلى الحلقات التسلسلية:
RenderPagesToFilesParallelودفعات التحسين خلف تحسين المستندات والرندرة المتوازية للمربعات تتوزع جميعها هناك على أنوية CPU، بما يطابق سلوك Delphi
تم التغيير
- تعمل المعالجة المتوازية للصفحات الآن على رندرة صفحتها الأولى على الخيط المستدعي قبل التوزيع، بحيث يُهيَّأ محرك الرندرة مرة واحدة بدلًا من أن يُهيَّأ على التوازي من كل خيط عمل
Version 3.535.0
تمت الإضافة
- تضم بنيات Free Pascal وLazarus الآن مرمِّز JPEG 2000: تُنتج
EncodeImageToJPXStreamوEncodeImageToJPXFileوAddImageJPXFromFileوAddImageJPXFromStreamوAddImageJPXFromStringهناك صور JPXDecode تمامًا كما تفعل في Delphi، سواء بنمط الفقدان أو بنمط عدم الفقدان - يحمّل الصور النقطية الخالي من VCL المستخدم في بنيات Free Pascal وmacOS وFireMonkey الآن تدفقات BMP غير مضغوطة بعمق 24 و32 بت ويبلّغ عن تنسيق ألفا
تم الإصلاح
- لم يعد فك ترميز الصور عبر الواجهة الخلفية للتصوير في Windows ينهار في بنيات Free Pascal؛ تُسلَّم التدفقات الآن إلى الواجهة الخلفية بصيغة تقبلها
- إسناد صورة نقطية إلى أخرى في البنيات الخالية من VCL ينسخ البكسلات بدلًا من ترك الصورة النقطية الهدف فارغة، وهو ما كان يُنتج صمتًا مخرجات فارغة في مسارات تحويل الصور
Version 3.534.1
تم الإصلاح
- يرفض فك ترميز TIFF المدمج الآن تخطيطات BigTIFF والتخطيطات المبلَّطة غير المدعومة بتشخيصات صريحة، ويتحقق من حدود الأبعاد المفكوكة وأحجام الشرائط قبل التخصيص
Version 3.534.0
تم التغيير
- يتحقق
CheckFileComplianceوالفحص المسبق لـ PDF/UA الآن من صحة عروض الخطوط البسيطة المضمّنة وعروض خطوط CID، وإقرارات/CharSetللنوع 1 و/CIDSetلـ CID الكاملة، وكائنات Form XObjects الحاملة للنص المستدعاة خارج المحتوى المُعلَّم، ومعاملات النص التي تُحلّ إلى.notdef
Version 3.533.0
تمت الإضافة
- يستطيع
TPDFlibPKCS11Clientاكتشاف مفاتيح ML-DSA الخالية من الشهادات المحددة صراحةً، والإبلاغ عن مجموعة معاملاتها، وتوقيع الرسائل الأصلية عبر آليةCKM_ML_DSAفي PKCS #11 3.2
Version 3.532.0
تم التغيير
- تُرمِّز السلاسل الكبيرة التي تستخدم سلسلة المرشِّحات الشائعة
/ASCII85Decodeو/FlateDecodeوتُفكّ ترميزها الآن عبر مسار معالجة محدود الذاكرة دون تجسيد التمثيل الوسيط
Version 3.531.0
تمت الإضافة
- تُنشئ الدوال
AddWebCaptureCommandوGetWebCaptureCommandCountوGetWebCaptureCommandوClearWebCaptureCommandsبيانات وصفية قياسية لأوامر Web Capture وفق/SpiderInfoفي فهرس المستند، وتعدادها وإزالتها دون تنفيذ أي جلب شبكي
Version 3.530.0
تمت الإضافة
- تُنفّذ الدوال
BPLoadCurveوBPKeyGenوBPSignFixedKوBPVerifyخوارزمية ECDSA فوق منحنيات الحقل الأولي الثلاثة في RFC 5639 وهي brainpoolP256r1 وbrainpoolP384r1 وbrainpoolP512r1 بلغة Pascal خالصة: حساب ذو 33 جزءاً بأساس 2^16 مشترك بين جميع عروض المنحنيات، واختزال بطيئي تسلسلي بالبتات، وضاعف وجمع على الطريقة اليعقوبية مع حواجز صريحة ضد الأسماء المستعارة، وعكس فيرمات، وقيمة nonce يوفرها المستدعي للتوقيع؛ ومتجهات الإجابات المعروفة المولَّدة بتنفيذ مستقل والتحقق المتقاطع منها في الاتجاهين تنجح على كل منحنى إلى جانب اختبارات انحدار لرحلة الذهاب والعودة ولرفض التلاعب
Version 3.529.0
تمت الإضافة
- تُنفّذ الدوال
Ed448PublicKeyFromSeedوEd448SignوEd448Verifyبروتوكول PureEdDSA من RFC 8032 على المنحنى edwards448 بلغة Pascal خالصة: حساب حقلي بـ 16 جزءاً بأساس 2^28 وفق حقل Goldilocks مع طيّ Solinas للقيمة 2^448 = 2^224 + 1، وجمع زمري بصيغة حاصل ضرب موحَّد بقوة لمنحنيات a = +1، واختزال بطيئي على مستوى الملخص بترديده على رتبة الزمرة لعددين SHAKE256 بطول 114 بايت، وتحقق بعامل مشترك 4؛ ومتجهات الإجابات المعروفة في القسم 7.4 من RFC 8032 تنجح بايتاً ببايت إلى جانب اختبارات انحدار لرحلة الذهاب والعودة ولرفض التلاعب وللتحقق من الطول
Version 3.528.0
تمت الإضافة
- تُنفّذ الدوال
MLDSA65KeyGenوMLDSA65SignوMLDSA65Verifyمعيار FIPS 204 بخوارزمية ML-DSA-65 مع مفاتيح عامة بطول 1952 بايت ومفاتيح سرية بطول 4032 بايت وتواقيع بطول 3309 بايت - تُنفّذ الدوال
MLDSA87KeyGenوMLDSA87SignوMLDSA87Verifyمعيار FIPS 204 بخوارزمية ML-DSA-87 مع مفاتيح عامة بطول 2592 بايت ومفاتيح سرية بطول 4896 بايت وتواقيع بطول 4627 بايت
Version 3.527.0
تمت الإضافة
- توفر الوحدة
PDFlibMLDSAتنفيذاً بلغة Pascal خالصة لخوارزمية ML-DSA-44 من معيار FIPS 204 مع توليد مفاتيح حتمي من بذرة، وتوقيع تحوطي أو حتمي، وأخذ عينات بالرفض محدود النطاق، والتحقق من التواقيع - تستخدم الدوال
MLDSA44KeyGenوMLDSA44SignوMLDSA44Verifyالأحجام القياسية للمفتاح العام 1312 بايت والمفتاح السري 2560 بايت والتوقيع 2420 بايت، وتدعم سياقات حتى 255 بايت، وقد تحققت مقابل متجه الإجابة المعروفة الرسمي
Version 3.526.0
تمت الإضافة
- يوفر سياق XOF المتدفق لخوارزمية SHAKE (
PLShakeXOFInit/PLShakeXOFAbsorb/PLShakeXOFFinalize/PLShakeXOFSqueeze) عصراً لأعداد بايتات عشوائية عبر تبدلات Keccak لكل من SHAKE128 (بمعدل 168) وSHAKE256 (بمعدل 136)، مع غلافPLShakeXOFلمرة واحدة؛ وتتحقق المخرجات العابرة للكتل بطول 200 بايت مقابل ملخصات الإسناد للنسختين
Version 3.525.0
تم التغيير
- تقبل الدالتان
SHAKE256ByteArrayوSHAKE256StreamRangeالآن مخرجات حتى معدل الإسفنج البالغ 136 بايت (كان 64 سابقاً)، ما يتيح ملخصات بعصر واحد عند طول تجزئة Ed448 البالغ 114 بايت؛ وتغطي اختبارات إجابة معروفة جديدة مخرجات بطول 114 بايت للرسالة الفارغة والرسالةabc
Version 3.524.0
تمت الإضافة
- صنّف
DownsampleImagesExكل صورة كثنائية اللون أو بتدرج رمادي أو ملوّنة وفق فضاء اللون المعلن عنها وعدد البتات لكل مكوّن، ويطبق ميزانية DPI وقيمة جودة JPEG لكل فئة في تمريرة واحدة؛ وتُعاد ترميز المسوحات ثنائية اللون دون فقدان، ويحفظ خيار «فقط إذا كانت أصغر» البايتات الأصلية عندما يكبّر إعادة الترميز الحجم
Version 3.523.0
تمت الإضافة
- ينسخ
CopyForeignObjectنسخاً عميقاً كائناً غير مباشر واحد مع مغلقة مراجعه الكاملة من مستند آخر محمَّل إلى المستند المحدد، مع إعادة ترقيم الكائنات بحيث تبقى المراجع المشتركة مشتركة في النسخة
Version 3.522.0
تمت الإضافة
- تدير الدوال
SetPagePieceInfoوGetPagePieceInfoوClearPagePieceInfoقواميس البيانات الخاصة على مستوى الصفحة (ISO 32000-2 14.5) مفهرسة باسم التطبيق - تسجّل الدالتان
AddNamedPageوGetNamedPageالصفحات بالاسم وتحلّها عبر شجرة الأسماء /Names /Pages في فهرس المستند
Version 3.521.0
تمت الإضافة
- تستخرج الدوال
GetImageListItemNativeDataToStringوGetImageListItemNativeFormatوSaveImageListItemNativeDataToFileتدفّق ترميز الترميز الخام الذي ما يزال مرمَّزاً لأي صورة مدرجة (JPEG أو JPEG 2000 أو JBIG2 أو CCITT أو Flate أو خام) دون فك ترميز، مع حفظ البايتات الأصلية لسير عمل التمرير المباشر
Version 3.520.0
تمت الإضافة
- تصنّف
AnalyzeModificationsكل تغيير منذ مراجعة محفوظة مقابل القائمة المسموحة لتحديثات LTA وتعبئة النماذج والتعليقات التوضيحية، وتعيد مستوى التعديل الإجمالي - تكشف الدوال
GetModificationLevelوGetModificationFindingCountوGetModificationFindingLevelوGetModificationFindingObjNumوGetModificationFindingDetailالنتائج المصنفة لآخر تحليل
Version 3.519.0
تمت الإضافة
- يجري
CompareWithمقارنة بنيوية بين المستند المحدد ومراجعة محفوظة، مصنفاً كل كائن غير مباشر كمضاف أو محذوف أو متغير عبر بصمات محتوى تتجاهل إزاحات أرقام الكائنات - تقرأ الدوال
GetCompareFindingCountوGetCompareFindingKindوGetCompareFindingObjNumوGetCompareFindingDetailنتائج آخر مقارنة، بما في ذلك فروق عدد الصفحات
Version 3.518.0
تمت الإضافة
- توفر الدالتان
SHAKE256ByteArrayوSHAKE256StreamRangeملخص الإخراج القابل للتوسيع SHAKE256 (ISO/TS 32001, RFC 8702) مع قراءات من مقطعين بنطاق بايتات ومخرجات من 1 إلى 64 بايت، بعد التحقق منهما مقابل اختبارات الإجابة المعروفة في NIST FIPS 202
تم التغيير
- يحمل نواة Keccak الآن بايت فاصل نطاقات بحيث تتشارك SHA-3 وSHAKE تنفيذاً واحداً للتبدل؛ وفي سياق ملف تعريف توقيع CMS تبقى SHAKE256 محجوزة كملخص داخلي لـ Ed448 وهي غائبة عمداً من منتقي الملخصات
Version 3.517.0
تمت الإضافة
- تربط الدالتان
AddPageAssociatedFileFromFileوAddPageAssociatedFileFromStringمواصفات ملفات مضمّنة بمصفوفة /AF الخاصة بصفحة واحدة (ISO 32000-2 14.13) بدلاً من فهرس المستند - تعدّد الدوال
GetPageAssociatedFileCountوGetPageAssociatedFileEmbeddedIndexوClearPageAssociatedFilesالملفات المرتبطة على مستوى الصفحة وتزيلها بعد دورات حفظ/تحميل كاملة - تكتب
SetOptionalContentConfigInfoبيانات وصفية للعرض (اسم التكوين والمنشئ ونمط قائمة لوحة الطبقات) على تكوين المحتوى الاختياري الافتراضي
Version 3.516.0
تمت الإضافة
- تشغّل الدالة
ApplyContentFilterChainوالصنفTPDFContentFilterChainمرشّحات محتوى على مستوى التعليمات فوق كل طبقة محتوى في الصفحة، مع سلاسل مرتّبة وتحكم بالإيقاف المبكر وتمرير بيانات المستخدم - تسلسل الدالتان
ExportDocumentJSONوGetDocumentJSONمخطط كائنات المستند الكامل، بما في ذلك قواميس السلاسل مع حمولات base64 والمقطع الختامي، في بنية JSON على نمط qPDF - تكتب الدوال
SetPDFDeclarationsوGetPDFDeclarationsURIوGetPDFDeclarationsRoleوGetPDFDeclarationsVersionوGetPDFDeclarationsCountوHasPDFDeclarationوClearPDFDeclarationsادعاءات امتثال PDF Declarations المقروءة آلياً وتقرأها وتزيلها - تشغّل الدوال
AuditPageTreeوAuditXRefStructureوAuditObjectReachabilityوAuditStreamLengthsوAuditFontEmbeddingوAuditColorSpacesست تمريرات تشخيص بنيوية مستقلة مع نتائج مصنفة بحسب الخطورة - تقرأ الدوال
GetAuditFindingCountوGetAuditFindingSeverityوGetAuditFindingItemوGetAuditFindingDetailنتائج آخر استدعاء تدقيق
Version 3.515.0
تمت الإضافة
- تنفّذ الدالة
ExecuteFormFieldScriptEventوالصنفTPDFlibFormScriptEventأحداث حقول Keystroke وFormat وValidate وCalculate محدودة النطاق مع خصائص Event وField وDocument مضبوطة - تضبط الدوال
SetFormScriptLimitsوGetFormScriptLimitsJSONوGetFormScriptDiagnosticsميزانيات المصدر والعملية والتداخل والسلاسل والوصول إلى الخصائص وتُبلغ عنها
تم التغيير
- تكشف بيئة تشغيل نصوص النماذج الآمنة الآن بيانات وصفية للقراءة فقط للحقول المصدر والهدف، والبحث عن حقول المستند وحالة تحديد Keystroke مع الاحتفاظ بتوافق القيم فقط
الأمان
- يرفض تنفيذ النصوص الآن أحداث قيم الأزرار وتعديل الكائنات والتحديدات خارج النطاق، ويطبق حدود موارد مستقلة على التنفيذ وتحليل التبعيات، ويبلّغ عن مواقع فشل محدودة للمحلل
Version 3.514.0
تمت الإضافة
- تنشئ
SetPDFEModeمستندات هندسية PDF/E-1 ببناء جملة PDF 1.6 مع تعريف Info وXMP متزامنين وبيانات وصفية لدورة الحياة ونية إخراج مضمّنة مُدارة الألوان - يوفر
GetPDFEDiagnosticsواختبار الامتثال 7 تحققاً من PDF/E-1 وقت الحفظ ومن الملف مباشرة وعبر المسار المشترك مع ميزانيات محدودة للكائنات والمحتوى والتكرار
تم التغيير
- تفرض عمليات حفظ PDF/E-1 الآن التعريف وبيانات دورة الحياة والتشفير المسموح واتساق نية الإخراج واستبعادات XFA وبوابات الإجراءات غير الآمنة، بينما يدقق الفحص المسبق إضافةً إلى ذلك فضاءات ألوان الأجهزة ومعاملات المحتوى والخطوط والتعليقات التوضيحية والنماذج والمحتوى الاختياري ومراجع الملفات الخارجية وحالات الرسومات وقيود سلاسل 3D
Version 3.513.0
تمت الإضافة
- تنشئ
SetPDFVCRModeوواجهات نطاق القوالب والعناصر النائبة قوالب استبدال PassThrough وفق PDF/VCR-1 فوق أساس PDF/X-4 - يوفر
GetPDFVCRDiagnosticsوGetPDFVCRManifestواختبار الامتثال 6 تحققاً وقت الحفظ ومن الملف مباشرة وعبر المسار المشترك، إضافة إلى استخراج حقول JSON والعناصر النائبة بعد التحقق
تم التغيير
- تفرض عمليات حفظ PDF/VCR الآن بيانات وصفية للتعريف، وجذر قالب مباشراً واحداً، وحقولاً معلنة فريدة، واختياراً صالحاً للصفحات، وعناصر نائبة للاستبدال عند الأوراق، وربطاً دقيقاً للصفحات وMCID عبر شجرة البنية الكاملة
Version 3.512.0
تمت الإضافة
- تنشئ
SetPDFRModeوواجهات صفحات PDF/R النقطية مستندات تبادل نقطية مقيَّدة من بيانات خام أو CCITT Group 4 أو JPEG دون إعادة ترميز المدخلات المضغوطة المدعومة - يوفر
GetPDFRDiagnosticsواختبار الامتثال 5 تحققاً من PDF/R في الذاكرة ومن الملف مباشرة وعبر المسار المشترك
تم التغيير
- تفرض عمليات حفظ PDF/R الآن علامة الإلزام والإصدار وملف تعريف التشفير، وكائنات الجيل صفر، والقواميس والمرشحات المقيَّدة، وسلسلة محتوى واحدة، ومعاملات نقطية فقط، وموارد شرائط مرتبة، واتساق اللون والدقة، وتغطية كاملة للصفحة
Version 3.511.0
تمت الإضافة
- تضيف
TPDFlibFormTextDirectionوSetTextDirectionوGetVisualCaretOrderوMoveVisualCaretاتجاه فقرة تلقائياً أو صريحاً وتنقلاً فيزيائياً آمناً للمقاطع لمؤشر الكتابة في تحرير النماذج متعددة الاتجاهات - تكشف
ResolvedTextDirectionوVisualCaretPositionاتجاه الفقرة الفعلي وتميز خانات المؤشر المنقسمة عند الحدود ثنائية الاتجاه
تم التغيير
- تطبق مقاطع النص المشكَّلة الآن إعادة ترتيب بصري بمستوى التضمين للمحتوى المختلط من اليسار إلى اليمين ومن اليمين إلى اليسار بينما تبقى قيم الحقول بالترتيب المنطقي UTF-16
Version 3.510.0
تمت الإضافة
- تؤجل
MinimumSlotHeightتركيب المكوّن الديناميكي قبل الاستنساخ أو الالتقاط عندما تكون المنطقة الحالية قصيرة جداً - يحفظ
MinimumFollowingHeightشظية أخيرة مع منطقة أولى يحددها المستدعي للمكوّن التالي دون تقييد الشظايا الوسيطة - تكشف
TPDFlibDynamicRetryReasonوLastRetryReasonوLastRequiredSlotHeightسبب تأجيل الإسناد والارتفاع المطلوب المعروف
تم التغيير
- تحافظ إعادة محاولات فضاء التدفق الآن على الشظايا المُودَعة وحالة المكوّن وفهارس التركيب ومحتوى الصفحة مع تجاهل المحاولة المنعزلة فقط
Version 3.509.0
تمت الإضافة
- تضيف
TPDFlibDynamicPaginationPolicyأنماط التقسيم والإبقاء المجمعة لمرة واحدة والوضع الصارم للإسناد الكامل مع نتيجة إعادة محاولة مميزة وحالة انتظار قابلة للرصد
تم التغيير
- تتجاهل محاولات المكوّنات الديناميكية المؤجلة الآن المحتوى الملتقط والحالة القابلة للتغيير ذرياً، بينما يقبل الإسناد الصارم تصغيراً نسبياً لكنه لا يقبل مخرجات جزئية أو مقصوصة أبداً
Version 3.508.0
تمت الإضافة
- تقبل
TPDFlibFormSession.DispatchInputEventأحداث مؤشر وعجلة ومفاتيح مسماة ونص مركّب نمطية ومستقلة عن المنصة، وتعيد حالات التركيز والتحويم والضغط والتحديد وتغير القيمة
تم التغيير
- تفرض معالجة إدخال النماذج الآن انتقالات مؤشر Widget مرتبة عبر
/Eو/Xو/Dو/U، وإلغاء الالتقاط، وتحريراً آمناً للمقاطع، وحركة مؤشر واعية بالأسطر، واختصارات تحديد وسجل قياسية، وتنشيط الأزرار والتنقل بعجلة الاختيار
تم الإصلاح
- يستعيد سجل Backspace وDelete الآن مؤشر الكتابة الظاهر للمستخدم قبل المفتاح بدلاً من تحديد المقاطع المؤقت المستخدم داخلياً للاستبدال الذري
Version 3.507.0
تمت الإضافة
- يوفر
TPDFlibFormSessionالآن تراجعاً وإعادة إنجازاً محدودتَي النطاق على مستوى الحقل مع استعلامات التوافر وأعداد الخطوات المحفوظة وسعة قابلة للضبط ومسح صريح للسجل
تم التغيير
- يخزّن سجل تحرير النماذج فروقات نصية مدمجة، ويستعيد القيم والتحديدات الموجهة دون إعادة إرسال الإجراءات أو الاستدعاءات الراجعة، ويتجاهل فروع الإعادة بعد تعديلات جديدة، ويُمسح عند حدود دورة حياة التحرير
Version 3.506.0
تمت الإضافة
- يوفر
TPDFlibFormSessionالآن استبدال تحديد قابل للنقض، وعمليات قص ولصق يوفرها المستدعي مع استدعاءات راجعة قابلة للتغيير لتحرير النص على المضيف وتطبيق/MaxLenآمناً للمقاطع
تم التغيير
- تشغّل عمليات إيداع جلسة النموذج الآن إجراءات التحقق والتنسيق المتاحة قبل تعديل الحقل، وتحفظ التعديلات المرفوضة ذرياً، وتبقي القيمة الخام المتحقق منها منفصلة عن مظهر Widget المنسّق
Version 3.505.0
تمت الإضافة
- أضيفت نطاقات تحديد نص موجَّهة لحقول النماذج بوحدات كود UTF-16 ونقاط يونيكود وعناقيد المقاطع الموسعة، مع الإبلاغ عن نقطة الارتكاز ومؤشر الكتابة وتحويل حدود مخزّن مؤقتاً
Version 3.504.0
تمت الإضافة
- أضيف إسناد ديناميكي للمكوّنات واعٍ بالتجاوز مع سياسات رفض وقص وتصغير نسبي، ومحاذاة مستقلة، والإبلاغ عن الصفحة النهائية والهندسة والتحويل
Version 3.503.0
تمت الإضافة
- يؤلّف
TPDFlibDynamicComponentSessionبكسل شظية صفحة واحدة ذات حالة في كل مرة مع سياق الصفحة والإبلاغ عن الحجم المستخدم وحالة الإكمال ولقطات إعادة الضبط والحالة المودَعة - تبطل
ReleaseCapturedPageمقبض التقاط Form XObject بعد إسناده النهائي مع الحفاظ على مراجع موارد الصفحة والاستدعاءات القائمة
تم التغيير
- ترسم محاولات المكوّن الديناميكي الآن على حالة مستنسخة داخل Form XObject معزول وتودع فقط بعد إسناد متحقق منه؛ وتستعيد الاستدعاءات الراجعة المرفوضة والهندسة غير الصالحة والاستثناءات الصفحة المحددة وتبقي محتوى الوجهة وحالة المكوّن دون تغيير
Version 3.502.0
تمت الإضافة
- يوفر
TPDFlibFormSessionالآن مستطيلات Widget لـ CropBox البصري المدوَّر، واختبار الإصابة للطبقة العليا، وتركيزاً قائماً على النقطة، وتنقلاً في التركيز بلوحة المفاتيح أماماً أو خلفاً
تم التغيير
- تطبق تسلسلات Tab ترتيب صفحة
/Tabsبصف أو عمود أو بنية أو مصفوفة تعليقات أو ترتيب Widget وفق PDF 2.0 مع اتجاه ViewerPreferences وترتيب مستقر عبر الصفحات واجتياز محدود لشجرة البنية - يتحقق
SetTabOrderModeالآن من صحة جميع الأنماط الخمسة القياسية ويختار PDF 2.0 تلقائياً للوضعينAوW
Version 3.501.0
تمت الإضافة
- يُسند
ApplyRepeatedPageFragmentForm XObject ملتقطاً واحداً عبر نطاق صفحات كأدوات Pagination أو Layout أو Page أو Background وفق PDF 2.0 مصنفة، مع مشاركة سلسلة المحتوى والموارد بين كل إسناد
تم الإصلاح
- تستخدم قواميس خصائص الأدوات الآن معامل المحتوى المُعلَّم
BDCالمطلوب في مسارات الواجهة العامة وتخطيط الجداول، وتختار أنواع وأsubtype الأدوات وفق PDF 2.0 إصدار ميزة الإخراج المطلوب
Version 3.500.0
تمت الإضافة
- يتحكم
SetTextFlowPaginationLinesبشكل مستقل بالحد الأدنى من الأسطر اليتيمة المحتفظ بها أسفل صندوق النص وأسطر الأرامل المحفوظة للصندوق أو العمود التالي
تم التغيير
- تنقل ترقيم تدفق النص الآن الأسطر الختامية المطلوبة فقط إلى الأمام بمدى استباق محدود، بينما يترك التقسيم المستحيل التدفق دون تغيير للإسناد في منطقة أكبر
Version 3.499.0
تمت الإضافة
- يوفر
TPDFlibFormSessionتركيز AcroForm وتحرير نص واختيار مستقلين عن المنصة، وتحديداً UTF-16 صفري الأساس، وحالة إيداع وإلغاء مع استدعاءات راجعة مصنفة لأحداث تركيز Widget وblur
تم التغيير
- تفرض قيم الجلسة المودَعة الآن حدود النص وتعيد توليد المظهر المتغير وحساب المغلقة المتأثرين فقط قبل الإبلاغ عن تغير القيمة
Version 3.498.0
تمت الإضافة
- تتتبع
GetDirtyFormAppearanceCountوRegenerateDirtyFormAppearancesمراجع كائنات Widget المتغيرة في AcroForm وتعيد توليد مغلقة الحساب الحالية للجلسة منزوعة التكرار فقط
تم التغيير
- يجتاز
RegenerateFormAppearancesالحقول الهرمية مرة واحدة من جذورها، ويبلّغ عن العدد الفعلي لإعادة توليد Widget الناجحة ويحفظ الأشكال الفاشلة لإعادة المحاولة - يبلّغ
UpdateAppearanceStreamالآن بدقة عن فشل التوليد ويبقي Widgets غير الناجحة معلقة مع تفعيلNeedAppearances
Version 3.497.0
تمت الإضافة
- تكتب
SetOutputIntentMixingHintsمتانة الأحبار وترتيب الطباعة الفيزيائي وفق PDF 2.0 مع رفض القيم غير الصالحة والأسماء المكررة والترتيب المفقود والألوان الممثلة أصلاً ببيانات طيفية - تضمّن
SetOutputIntentSpectralDataسلاسل توصيف ألوان تنقيطية CxF/X-4 محدودة النطاق، وتعيد استخدام البيانات المتطابقة عبر الإسنادات المتكررة والعابرة للألوان، وتتطلب مطابقةSpotInkCharacterisationواحدة بالضبط؛ وتزيلClearOutputIntentColorantDataقاموسي بيانات الألوان الوصفية معاً
تم التغيير
- تُبلغ
GetEffectivePageOutputIntentJSONالآن عن متانة المزج وترتيب الطباعة والألوان الطيفية وصلاحية الطيف بعد فك الترميز للمستندات المؤلَّفة والمُعاد تحميلها - يدقق الفحص المسبق لـ PDF/X الآن مدخلات OutputIntent
MixingHintsوSpectralData، بما في ذلكDotGainالمحظور ونطاقات المتانة وأنواع ترتيب الطباعة وتعارضات الألوان وفك ترميز السلاسل ومطابقات الحبر التنقيطي CxF الفريدة
Version 3.496.0
تمت الإضافة
- تفتح
DAOpenFileWithEncryptionKeyوDAOpenFromStreamWithEncryptionKeyمستندات مشفرة من مفتاح تشفير ملف سداسي عشري مصرَّح به دون اشتقاق كلمة مرور، مع تصديرات ملف DLL مطابقة وحالة تحقق صريحة
الأمان
- مدخل الملف بمفتاح خام للقراءة فقط من المصدر دائماً، ويفرض أطوال مفاتيح دقيقة خاصة بالمراجعة ومتحققَي
/Uأو/Permsالمتاحين، ويرفض عدم التطابق حتى عند تفعيل استرداد المتحقق المفقود، ويمسح مادة المفتاح المحفوظة عند إغلاق المقبض
Version 3.495.0
تمت الإضافة
- تختار
SetXRefLoadPolicyوGetXRefLoadPolicyالتحميل الصارم أو المتوافق أو الاستردادي لمدخلات المستند المحدد وللوصول المباشر وتُبلغ عنها
تم التغيير
- يتطلب التحميل الصارم الآن ترويسات دقيقة وعلامات ختامية وإزاحات معلنة ومدخلات جدول ثابتة العرض وبيانات وصفية لسلسلة المراجع المتقاطعة وكل قسم
/Prevأو/XRefStmمرتبط - يحتفظ التحميل المتوافق بإصلاحات مضبوطة للإزاحات والبنية دون الدخول في إعادة بناء خام، بينما يستطيع التحميل الاستردادي إعادة بناء الكائنات العليا والمضغوطة وتوليد مقطع ختامي مفقود
- تُبلغ تشخيصات المراجع المتقاطعة الآن عن السياسة المختارة وقرارات المحلل المرتبة وأعلام التوافق لكل قسم، بما في ذلك السلاسل الجانبية الهجينة المرفوضة وأدلة استرداد الوصول المباشر
Version 3.494.0
تم التغيير
- تشتق عمليات الحفظ الحتمية الكاملة غير المشفرة دون بذرة صريحة الآن مدخلَي
/IDفي المقطع الختامي الأولي من أول 16 بايت من ملخص SHA-256 متدفق فوق ترويسة المستند المتسلسلة وجسمه - يستثني ملخص المحتوى معرّفات المقاطع الختامية السابقة وبيانات المراجع المتقاطعة والمقاطع الختامية المعتمدة على الإزاحات، مع توحيد معرّفات الموارد المولَّدة ومعرّفات UUID لحالات XMP بحيث تتحكم تغييرات الصفحة والمورد والمرفق والبيانات الوصفية في النتيجة
- تبقى أسماء الموارد الداخلية ووسوم المجموعات الجزئية للخطوط المضمّنة مستقرة أثناء تفعيل الوضع الحتمي، بما في ذلك الإخراج الذي يحزم القواميس في سلاسل كائنات مضغوطة؛ وتحتفظ عمليات الحفظ الافتراضية بمعرّفات عشوائية
Version 3.493.0
تمت الإضافة
- تفتح
LoadFromMappedFileوDAOpenMappedFileملفات PDF المحلية عبر مشاهدات معيَّنة للقراءة فقط محدودة النطاق، مع خيار إلزام التعيين أو السماح بالرجوع إلى سلسلة ملف محمولة - تُبلغ
GetMappedFileInfoوDAGetMappedFileInfoعن حالة التعيين النشطة وأحجام الملف والنافذة والعرض الحالي وحجم القراءة ونشاط إعادة التعيين
تم التغيير
- تحتفظ المصادر المعيَّنة بنافذة واحدة متوافقة مع التخصيص وتعيد تعيينها عبر القراءات المؤجلة الكبيرة للكائنات أو السلاسل، مقيِّدة استخدام فضاء العناوين باستقلال عن حجم الملف
- تتشارك المصادر المحلية المعيَّنة والمدعومة بالاستدعاء الراجع الآن قراءات مطلقة لشرائح الكائنات مستقلة عن المؤشر، بينما تحتفظ واجهات تحميل الملفات القائمة بسلوكها السابق
Version 3.492.0
تمت الإضافة
- تكشف
GetPageThumbnailDataToStreamوGetPageThumbnailDataToStringحمولات الصور المصغرة للصفحة مرمَّزة أو مفكوكة الترميز بالمرشح، بينما تزيلDeletePageThumbnailبيانات الصفحة الوصفية دون تغيير الصفحة المحددة
تم التغيير
- تتطلب استعلامات وجود الصور المصغرة وبياناتها الوصفية الآن سلسلة صور؛ وتبقى المدخلات التالفة غير السلسلة قابلة للإزالة بدلاً من الإبلاغ عنها كصور مصغرة صالحة للاستخدام
- يُنسخ الإخراج الخام في دفعات محدودة ويعيد الإخراج المفكوك استخدام مسار مرشحات التدفق، مع الحفاظ على ترميزات الصور النهائية مثل DCT وJPX للمستدعين المحتاجين حمولات أصلية
Version 3.491.0
تمت الإضافة
- تضيف
InsertPageElementClipPathوReplacePageElementClipPathوDeletePageElementClipPathقصاً محلياً لعنصر صفحة محدد أو تعدل مكوّناً مصدراً ملتقطاً بقاعدتي تعبئة غير الصفر والزوجي-الفردي
تم التغيير
- يحفظ مكوّنات القص الآن طبقتها المصدر ونطاق تعليماتها وعمق تداخلها وبصمتها المعيارية بحيث تُميَّز المصادر القابلة للتحرير عن الحدود الأولية ومحيطات النصوص والنماذج المتداخلة والمسارات التالفة وكائنات المسارات العابرة للطبقات
- يستخدم القص المحلي نطاقات حالة رسومات متوازنة، بما يشمل إعادة بناء صالحة لكائنات النص، بينما يحفظ حذف قص من مسار يرسم أيضاً الشطب أو التعبئة الأصليين
Version 3.490.0
تمت الإضافة
- تعدل
SetPageElementMarkedContentTextPropertyوSetPageElementMarkedContentPropertySourceوDeletePageElementMarkedContentPropertyنص يونيكود وكائنات PDF متسلسلة وخصائص قائمة على إطار محتوى معلَّم معدود محدد
تم التغيير
- تُحرَّر موارد الخصائص المسماة عبر نسخ عند الكتابة محلي للصفحة، وتُرقّى قوائم الخصائص المضمنة تلقائياً عندما تتطلب قيمة غير مباشرة مورداً، ويضغط حذف الخاصية الأخيرة
BDCإلىBMC - يتحقق تحرير المحتوى المعلَّم من التعليمة المصدر الملتقطة ولقطة الخصائص المحلولة قبل الكتابة، ثم يبطل جميع مقابض عناصر الصفحة بعد التغيير الناجح
Version 3.489.0
تمت الإضافة
- تخلف
GetTextBlockCharContentLocationوDAGetTextBlockCharContentLocationكل موضع UTF-16 مستخرج إلى طبقة المحتوى والسلسلة والتعليمة والمعامل وعنصر مصفوفةTJونطاق بايتات المصدر المرمَّزة - تجري
ReplaceTextBlockCharSourceBytesاستبدالاً محلياً محمياً بالبصمة للبايتات المرمَّزة بخط معيَّن مع الحفاظ على السلاسل المجاورة وقيم التباعد الحرفي
تم التغيير
- تُصنَّف المواضع المولَّدة و
/ActualTextوالنماذج المتداخلة والمحوَّلة الترميز والعابرة للطبقات صراحةً كمواضع للقراءة فقط، بينما تحفظ توسعات المحارف المركبة نطاقها المشترك في المحرف المصدر - يستخدم بحث نطاق المحتوى البحث الثنائي وتحتفظ القوائم المستخرجة ببصمتين مستقلتين للطبقة لرفض التعديلات القديمة قبل تحليل أو إعادة كتابة محتوى الصفحة
Version 3.488.0
تمت الإضافة
- يستورد
ImportPageAsFormXObjectصفحة من أي مستند مفتوح كمقبض صفحة ملتقطة قابل لإعادة الاستخدام دون تغيير أيٍّ من شجرتي الصفحات
تم التغيير
- ينسخ استيراد الصفحة إلى نموذج محتوى الصفحة المفكوك فقط، ومغلقة الموارد الموروثة المستقلة، ومدخلات المجموعة والبيانات الوصفية ومعلومات القطعة المتوافقة مع النموذج، باستثناء التعليقات التوضيحية والصور المصغرة والبنية الخاصة بالصفحة فقط
- تستخدم صناديق الصفحات المحددة قواعد الرجوع القياسية، ويُوحَّد الدوران الرباعي الموروث في مصفوفة النموذج، وتتشارك الإسنادات المتكررة سلسلة محتوى مضغوطة واحدة
Version 3.487.0
تمت الإضافة
- تكشف مقابض عناصر الصفحة الآن مكدس المحتوى المعلَّم النشط من الخارج إلى الداخل، والوسوم، وقيم
/MCIDالمتحقق منها، ومعاملات الخصائص الأصلية، وكل مدخل من القواميس المحلولة المباشرة أو المدعومة بالمورد
تم التغيير
- يحل تتبع حالة المحتوى موارد
/Propertiesالمسماة مرة واحدة لكل نطاق موارد ويحفظ أطر المحتوى المعلَّم غير القابلة للتغيير دون إعادة تحليل محتوى الصفحة للاستعلامات المتكررة - يُتتبع تداخل المحتوى المعلَّم باستقلال عن
q/Qويُقيَّد بكل سلسلة محتوى صفحة أو نموذج بحيث لا تستطيع التسلسلات غير المغلقة التالفة التسرب إلى سلسلة أخرى
Version 3.486.0
تمت الإضافة
- تكشف مقابض عناصر الصفحة الآن كل مكوّن من تقاطع القص الفعال لها، بما يشمل أوامر النقل والخط والمنحنى التكعيبي والإغلاق المحوَّلة، وقاعدتي تعبئة غير الصفر والزوجي-الفردي، وحدود المكوّنات، وتشخيصات المنطقة المجمعة
تم التغيير
- يحفظ تتبع حالة المحتوى سلاسل القص غير القابلة للتغيير عبر حدود الصفحات واستعادة
q/Qوحدود النماذج مع مشاركة المكوّنات غير المتغيرة بين اللقطات - يجمع تعداد عناصر الصفحة أهداف تعديل المسار وحالات الرسومات في تمريرة المحتوى نفسها، متجنباً التحليل الإضافي السابق لطبقة المسار
Version 3.485.0
تمت الإضافة
- تكشف
GetTextBlockCharUnicodeFlagsوDAGetTextBlockCharUnicodeFlagsتشخيصات تعيين يونيكود لكل محرف: الرجوع، والخريطة المفقودة، والكود غير المعيَّن، والخريطة غير الصالحة، والاستبدال
تم التغيير
- يحفظ استخراج النص أصل تعيين يونيكود بجوار كل وحدة كود UTF-16 ويتحقق من أزواج البدائل قبل قبول مخرجات
ToUnicode - تستخدم التعيينات غير الصالحة أو الجزئية الآن رجوعاً مستقلاً لترميز الخط وتُصدر U+FFFD عندما لا يوجد رجوع ذو معنى
تم الإصلاح
- تعيد خرائط يونيكود المطابقة الآن وحدة كود واحدة معيَّنة بدلاً من اعتبار قيمة كود المصدر عدداً للمخرجات
Version 3.484.0
تمت الإضافة
- تكشف كتل النص للمستند المحدد وللوصول المباشر الآن زوايا خط الأساس ونقاط الأصل ومصفوفات الخلايا والأرباعي معدلة النزول والصناديق المحاذية للمحاور لكل محرف
- تضيف
GetTextBlockCharBoxنظيراً للمستند المحدد لاستعلام الصندوق القائم في الوصول المباشر
تم التغيير
- يحفظ استخراج النص متجهات خط الأساس والتقدم وارتفاع الخلية مرة واحدة لكل محرف بحيث تحفظ استعلامات الهندسة الدوران والقص والخطوط الأساسية المعكوسة بزمن ثابت
- يشتق
DAGetTextBlockCharBoxنتيجته الآن مباشرة من هندسة المحارف المحفوظة بدلاً من المرور على كل عرض سابق
تم الإصلاح
- تطبق عروض المحارف للمستند المحدد ونسخ كتل النص مقياس الإحداثيات المهيأ مرة واحدة بالضبط الآن
Version 3.483.0
تمت الإضافة
- تكشف
GetTextBlockCharSourceFlagsوDAGetTextBlockCharSourceFlagsبتياً أصلَ المحارف المولَّدة والواصلات واستبدالات/ActualTextالمُرضاة
تم التغيير
- يحفظ استخراج كتل النص الآن أعلام مصدر المحارف بجوار مصفوفتي النص والتقدم القائمتين، بما يشمل المسافات المستنتجة من الفجوات الحرفية الكبيرة، دون إعادة تحليل محتوى الصفحة للاستعلامات المتكررة
Version 3.482.0
تمت الإضافة
- تعيد
GetXRefDiagnosticsوDAGetXRefDiagnosticsتقارير JSON لأنواع المراجع المتقاطعة الفعلية والمواضع البايتية وحدود المقطع الختامي وأعداد المدخلات وكل جدول أو سلسلة في سلسلة المراجعات
تم التغيير
- تبقى روابط المراجع الهجينة ومحاولات إعادة الترويسة المنزاحة وقرارات استرداد المستندات القابلة للتحرير مرئية الآن كأدلة تشخيصية مميزة، بما يشمل مسح الكائنات الخام واسترداد الكائنات المضغوطة والمقاطع الختامية المولَّدة
Version 3.481.0
تمت الإضافة
- يستطيع المستندات ذات نطاق البايتات المدعومة بالاستدعاء الراجع والوصول المباشر جدولة مهام جلب مسبق خلفية لتبعيات الصفحات أو النماذج أو الكائنات بأربع أولويات جدولة وإلغاء وانتظار وتشخيص تقدم JSON
- يكرر الجلب المسبق للتبعيات اكتشاف النطاقات المفقودة حتى تجهز الهدف، مع حدود قابلة للضبط لبايتات المصدر والقراءة الاستباقية وتمريرات التخطيط
تم التغيير
- تملك كل سلسلة نطاق بايتات الآن عاملاً FIFO مرتباً بالأولوية يتشارك ذاكرة النطاقات المحدودة مع استخدام حالة محلل معزولة، مما يتيح استمرار عمل المستند في المقدمة دون مشاركة قارئ قابل للتغيير
- لا يجري الإلغاء المجدول أي قراءات من المصدر، ويُفحص الإلغاء الجاري قبل كل دفعة، ويستنزف تدمير السلسلة العمل المعلق قبل تحرير مصدره
Version 3.480.0
تمت الإضافة
- تقبل
LoadFromRangeSourceاستدعاءً راجعاً اختيارياً للتوافر لا يجلب البيانات للمخازن التدريجية، مع استعلامات للمستند المحدد وللوصول المباشر عن جهوزية الصفحات والنماذج والكائنات غير المباشرة - تعيد تقارير التوافر نطاقات البايتات المطلوبة والمفقودة مدمجة واكتمال التبعيات وعدّادات اجتياز الكائنات بصيغة JSON
تم التغيير
- تستطيع سلاسل نطاق البايتات اختبار التغطية المخزنة والمتوفرة من المصدر دون قراءة بايتات أو تحريك مؤشر السلسلة أو تغيير إحصاءات الذاكرة المؤقتة
- يتبع توافر الصفحة مسار شجرة الصفحات الهدف والتبعيات المعالَجة القابلة للوصول فقط، وتُبلَّغ النطاقات غير المتوفرة دون استدعاء دالة القراءة الراجعة
Version 3.479.0
تمت الإضافة
- يوفر
TByteRangeStream.ReadAtقراءات مطلقة مستقلة عن المؤشر مع مشاركة الدفعة الواحدة بين العمليات المتزامنة ودمجاً محدوداً للطلبات المتجاورة ونافذة تجميع قابلة للضبط - تُبلغ تشخيصات ذاكرة النطاقات الآن عن الطلبات المعلقة ونافذة التجميع النشطة والطلبات المخدومة بالدمج والقراءات الفيزيائية التي غطت دفعات متعددة
تم التغيير
- تستخدم القراءات المؤجلة من المستندات المدعومة بالاستدعاء الراجع والمدعومة بعناوين URL الآن إزاحات مطلقة، وتسلسل استدعاءات المصدر الراجعة، وتمزج الدفعات المتجاورة المتزامنة في قراءات مصدر محدودة بـ 16 MiB
- يمنع مسح ذاكرة النطاقات أثناء جلب جارٍ الآن اكتمالاً قديماً من إعادة ملء الذاكرة أو عدّادات ما بعد المسح بينما ما تزال العمليات المنتظرة تتلقى بايتاتها
Version 3.478.0
تمت الإضافة
- يحتفظ سلاسل نطاق البايتات الآن بدفعات محاذاة ضمن ميزانية بايتات صريحة بسياسة الأقل استخداماً مؤخراً، وتُبلغ عن عدد النوافذ والبايتات المحفوظة والإصابات والخطأ والإخلاءات وقراءات المصدر وبايتات المصدر والقراءات المتكررة
- تقبل
LoadFromRangeSourceوDAOpenFromURLفي Delphi ميزانية ذاكرة أولية، مع واجهات جديدة للمستند المحدد وللوصول المباشر لفحص الذاكرة النشطة وتغيير حجمها ومسحها
تم التغيير
- يبقى تسخين الصفحة الأولى للمستندات المخططة ضمن ميزانية البايتات المحفوظة المهيأة
Version 3.477.0
تمت الإضافة
- يحمّل
LoadFromRangeSourceمستنداً كاملاً قابلاً للتحرير عبر استدعاء راجع يوفره المستدعي لقراءة نطاقات بايتات عشوائية، مما يتيح لمدخلات HTTP وقواعد البيانات ومخازن الكائنات والمخصصة أن تبقى بعيدة بينما يجلب المحلل النطاقات اللازمة للتحميل والعمليات المؤجلة فقط - يتلقى عقد
TPDFlibRangeReadEventالجديد إزاحات مطلقة ومخازن وجهة وأعداداً محدودة، مع بقاء مزود الاستدعاء الراجع ملكاً للمستدعي طوال عمر المستند المحمَّل
Version 3.476.0
تمت الإضافة
- أضيف تأليف PDF/VT-3 فوق أسس PDF/X-6 وPDF/X-6p وPDF/X-6n مع بيانات وصفية للتعريف متزامنة وتغطية إلزامية لأجزاء المستند وفحص مسبق مخصص
تم التغيير
- تُصدر هرميات أجزاء المستند الآن كتل أبناء قياسية من 8192 مدخلاً وتتحقق منها مع قيود أشد على أسماء وأنواع XML
Version 3.475.0
تم التغيير
- تُبلغ
TPDFlibContentGraphicsState.BlackPointCompensationالآن عن حالةDefaultأوONأوOFFالفعلية عبر محتوى الصفحة واستعادة حالة الرسومات وكائنات Form XObjects المعدودة تكرارياً - يرفض الفحص المسبق لـ PDF/X-6 الآن مدخلات
UseBlackPtCompالتي يقع نوعها أو قيمتها خارج نموذج تعويض النقطة السوداء في PDF 2.0
Version 3.474.0
تم التغيير
- يتحقق الفحص المسبق لـ PDF/X-6 الآن من أعلام التعليقات القابلة للطباعة والأشكال العادية الحتمية وحالات مظهر الأزرار وحقول AcroForm والتوقيع واستبعادات الأشكال المولَّدة من العارض وموضع الإجراءات الآمن وسلاسلها
- يسمح تأليف PDF/X-6 بلغة JavaScript فقط على تعليقات Link المنشَّطة مباشرة، ويحد الإجراءات المسماة بالتنقل بين الصفحات، ويرفض مسارات الإجراءات غير الآمنة وعلى مستوى المستند والصفحة وحقل النموذج قبل تعديلها للمستند
Version 3.473.0
تمت الإضافة
- تقبل
SetPDFXModeالآن الوضع 5 لتبادل ألوان العملية في PDF/X-6p والوضع 6 لتبادل الألوان المتعددة في PDF/X-6n، وكلاهما يستخدم PDF 2.0 ومراجع ملفات تعريف إخراج خارجية - تنشئ واجهتا
SetOutputIntentProfileReferenceوAddOutputIntentProfileReferenceURLالجديدتان قواميس/DestOutputProfileRefعلى مستوى المستند أو الصفحة، وتشتقان مجموع تحقق ICC والإصدار وتوقيع فضاء اللون، وتتحققان من بيانات جهاز الإخراج والألوان الوصفية، وتحفظان موضع استرجاع واحد أو أكثر وفق RFC 3986 دون تضمين بايتات ملف التعريف
تم التغيير
- يتعرف الفحص المسبق لـ PDF/X على معرّفات XMP لـ PDF/X-6p وPDF/X-6n ويتحقق من نوع ملف التعريف الخارجي وأطوال البيانات الوصفية وتواقيع ألوان العملية أو الألوان المتعددة وجداول الألوان ومواصفات ملفات URL
- تُبلغ
GetEffectivePageOutputIntentJSONالآن عن بيانات وصفية لملف التعريف المُشار إليه تشملprofileCSوprofileNameوiccVersionوcheckSumوprofileURLsوcolorantsبعد التأليف أو التحميل ذهاباً وإياباً
Version 3.472.0
تمت الإضافة
- تنشئ واجهات
SetPageOutputIntentوClearPageOutputIntentsوGetEffectivePageOutputIntentJSONالجديدة نوايا إخراج على مستوى الصفحة وفق PDF 2.0 وتزيلها وتفحصها، بما يشمل الرجوع الفعال على مستوى المستند
تم التغيير
- يقبل الفحص المسبق لـ PDF/X-6 الآن نوايا الإخراج على مستوى الصفحة ويمنحها الأولوية على نية المستند ويتحقق من أن كل صفحة تحل إلى ملف تعريف Gray أو RGB أو CMYK مضمّن
Version 3.471.0
تمت الإضافة
- يؤلّف
SetPDFXMode(4)مستندات تبادل كاملة وفق PDF/X-6 ببناء جملة PDF 2.0 وتعريف XMP لـ PDF/X-6 ونية إخراج مضمّنة مُدارة الألوان
تم التغيير
- يتعرف الفحص المسبق لـ PDF/X على PDF/X-6 ويتطلب بناء جملة PDF 2.0 ويتحقق من أن نية الإخراج تحمل إعلان ملف تعريف ICC مضمّن بنمط Gray أو RGB أو CMYK
Version 3.470.0
مضاف
- أصبح تخطيط HTML يدعم اتجاه Flexbox والالتفاف والنمو والتقلّص والأساس والفجوات والتوزيع على المحور الرئيسي والمحاذاة على المحور المتقاطع
- أصبح تخطيط HTML يدعم مسارات CSS Grid الصريحة والتحجيم الكسري والمسارات المتكررة والامتدادات والإدراج التلقائي بالصفوف أو الأعمدة والفجوات ومحاذاة العناصر
- تدعم مقاطع HTML الحواشي السفلية المرقّمة التي تحجز أسفل الإطار وتُعيد تدفق نص المتن وتحافظ على الترقيم عبر امتداد الصفحات
تم التغيير
- يشمل قياس HTML وإعادة التشغيل المخزّنة مؤقتًا هندسة Flexbox وGrid والحواشي السفلية مع الاحتفاظ بحدود الحاويات والمسارات المقيَّدة
تم الإصلاح
- أصبح مسح قواميس PDF دفعة واحدة وإعادة تسمية المفاتيح يُبطلان فهارس المفاتيح المخزّنة مؤقتًا، ما يمنع عمليات بحث قديمة أثناء ضغط الذاكرة والمعالجة المتكررة للمستندات
Version 3.469.1
تم الإصلاح
- يحافظ استيراد EMF وتحويل Canvas DC الآن على نص Unicode وتعيينات المحارف لخطوط TrueType المضمّنة وغير المضمّنة
- تُلحق
NewPageFromCanvasDCكل صفحة مطلوبة، بينما تُثبِّتTPDFlibPrinterكل لوحة رسم مرة واحدة بالضبط دون فقدان صفحات أو تكرارها
Version 3.469.0
مضاف
- تُلحق
SetImageSoftMaskExأقنعة صور ناعمة بتدرّج رمادي مع ألوان matte اختيارية - تنشئ
NewSoftMaskGraphicsStateحالات رسومية ألفا وإضاءة ودالة نقل وإعادة ضبط قابلة لإعادة الاستخدام من كائنات Form XObject المُلتقَطة - تستبدل
FlattenTransparencyالصفحات المحددة بمحتوى ثابت معتم بدقة ولون خلفية من اختيارك، لإصدارات PDF الأقدم وسير عمل الأرشفة
تم التغيير
- تعالج عملية تسطيح الشفافية صفحة واحدة في كل مرة، وتُطبِّع الدوران المرئي، وتحافظ على التعليقات التوضيحية التفاعلية بشكل اختياري، وتدعم التقدّم والإلغاء، وتزيل موارد الشفافية التي لا يمكن الوصول إليها افتراضيًا
Version 3.468.0
مضاف
- يمكن استيراد مدخلات الصور بصيغ AVIF وHEIF وHEIC وJPEG XL عبر واجهات برمجة الصور القائمة أو عبر الأساليب المخصّصة
AddModernImageFromFileوAddModernImageFromStreamوAddModernImageFromString - توفر
SetModernImageCodecLibraryوModernImageCodecAvailableواستدعاء فكّ ترميز عكسي خيارًا قابلًا للنشر لاختيار برامج الترميز داخل العملية نفسها دون ملفات تحويل مؤقتة
تم التغيير
- يحافظ فكّ ترميز الصور الحديثة على اتجاه المصدر وقناة ألفا وملفات تعريف ICC وعمق قناة يصل إلى 16 بت قبل إعادة استخدام مسار معالجة صور PNG الأصلي
تم الإصلاح
- يقرأ التحقق من استخدام مفاتيح بذرة التوقيع الآن سياق الشهادة الأصلي بمحاذاة مؤشرات صحيحة على Win64
Version 3.467.0
مضاف
- تُدمج
DeduplicateSimilarImagesكائنات XObject للصور المتشابهة إدراكيًا بعتبات قابلة للتهيئة لتجزئة الفرق ومتوسط خطأ القناة وأقصى خطأ في القناة، مع دعم التشغيل التجريبي وجمعٍ اختياري للكائنات اليتيمة - يُبلغ كلٌ من
GetSimilarImageDeduplicationReportJSONوTPDFlibImageSimilarityDedupStatsعن تغطية فكّ الترميز وعمل المرشّحات المفهرَسة والأخطاء المقبولة والمراجع المعاد توجيهها والوفر المقدَّر في الحِمل المُرمَّز
تم التغيير
- يتطلب تطابق الصور التقريبي قواميس صور دلالية متطابقة، ويؤكّد عيّنات لونية مفكوكة الترميز بمقاس 64 × 64، ويستخدم فهرس تجزئة ثماني النطاقات لتجنّب المقارنات الثنائية الشاملة
Version 3.466.0
مضاف
- تُرمّز
EncodeImageToJPXStreamوEncodeImageToJPXFileمدخلات الصور النقطية بصيغة JPEG 2000 قابلة للتهيئة بضغط فقدان أو عكسي دون فقدان داخل حاوية JP2 قياسية - تضيف
AddImageJPXFromFileوAddImageJPXFromStreamوAddImageJPXFromStringمدخلات الصور النقطية المُرمَّزة مباشرةً ككائنات XObject لصورJPXDecode
تم التغيير
- يتحقق إنشاء صور JPEG 2000 من خياري الجودة وانعدام الفقد، ويعيد مواضع تدفقات الإدخال المملوكة للمُستدعي، ويزيل المخرجات الجزئية عند الفشل، ويطلب PDF 1.5 تلقائيًا، ويحتفظ ببوابة توافق PDF/A-1 القائمة
Version 3.465.0
مضاف
- تُصيِّر
RenderPageTileToStreamوRenderPageTileToFileمناطق بكسلات جهاز عشوائية مع تداخل مقصوص وخلفيات بيضاء أو بمفتاح شفاف أو مخصّصة - تُنتج
RenderPageTilesToFilesوRenderPageTiledToStreamوRenderPageTiledToFileشبكات بلاطات متوازية أو تخيط حدودها الأساسية الدقيقة في صورة صفحة واحدة خالية من الدرزات - توفر
SetRenderSurfaceCacheLimitوGetRenderSurfaceCacheInfoوClearRenderSurfaceCacheذاكرة تخزين مؤقت LRU اختيارية التفعيل وآمنة للخيوط بميزانيات مستقلة للإدخالات والبايتات لأسطح البلاطات المركّبة بالكامل
تم التغيير
- يسخّن التصيير المتوازي أحادي الصفحة الآن قائمة عرض واحدة مشتركة قبل توزيع عمليات العمل، فتُحلَّل تدفقات المحتوى مرة واحدة فقط، بينما تحتفظ المجمعات غير المدعومة بمسار تسلسلي حتمي
Version 3.464.0
مضاف
- تُنتج
GetXFARenderedPageCountوعائلة الأساليبRenderXFAPageToStreamوRenderXFAPageToStringوRenderXFAPageToFileصفحات نقطية ثابتة من قوالب XFA ومجموعات البيانات المرتبطة وفواصل الصفحات الصريحة دون تغيير المستند المصدر - تحوّل
ConvertXFAToAcroFormعناصر تحكم النص وكلمة المرور والاختيار ومربع التأشير والزر الفاعل والتوقيع المدعومة إلى حقول قابلة للتحرير مع الحفاظ على الأسماء والقيم والخيارات والإشارات والصفحات والحدود
تم التغيير
- يزوّد ضغط Flate الكبير دفعة واحدة الآن الواجهة الخلفية الأصلية بذيل إدخال محمي، ما يمنع تحققات Adler غير الصالحة في مخرجات PNG عالية الدقة مع الاحتفاظ بالمخرجات المضغوطة
Version 3.463.0
مضاف
- تُصدِّر
RenderPageLayerToStreamوRenderPageLayerToStringوRenderPageLayerToFileمحتوى الصفحة الأساسي أو التعليقات التوضيحية أو حقول النماذج أو جميع الكائنات التفاعلية كطبقات PNG قابلة للتركيب بشكل مستقل - تدمج
FlattenFormFieldTaggedوFlattenFormFieldsTaggedOnPageRangeمظاهر الحقول في محتوى صفحة ثابت مع الاحتفاظ بدلالات بنيةFormالمُيسَّرة للوصول أو إنشائها
تم التغيير
- يتخطى التصيير التفاعلي وحده مفسِّر المحتوى الأساسي، ويستخدم تمريرة واحدة لمظاهر التعليقات التوضيحية، ويكتب خلفية شفافة دون تغيير إعدادات المُصيِّر الدائمة
- يحوّل التسطيح الموسوم اقتران
OBJRالخاص بعنصر Widget في ParentTree إلى محتوى موسومMCRعلى مستوى الصفحة، ويحافظ على النص البديل والفعلي الموجود، ويترك الحقول سليمة حين يتعذّر إثبات اقتران آمن
Version 3.462.0
مضاف
- يعثر
HitTestAnnotationوGetAnnotationHitsJSONعلى التعليق التوضيحي الأعلى أو على جميع التعليقات عند نقطة على الصفحة باستخدام هندسة واعية بالأنواع الفرعية وخيارات التسامح والظهور ومربعات الإحاطة - يعيد
MoveAnnotationZOrderترتيب مراجع التعليقات التوضيحية القائمة في موضعها، بينما تختزلSimplifyInkAnnotationsنقاط خطوط Ink بانحراف هندسي محدود مع إحصاءات مفصّلة
تم التغيير
- يختبر تفاعل التعليقات التوضيحية الآن الرباعيات الموسومة والمسارات المتجهة وهندسة القطع الناقص والمناطق المملوءة بعد استبعاد مستطيل سريع، بينما تُعاد بناء مظاهر Ink المتغيّرة تلقائيًا ما لم يُؤجَّل ذلك صراحةً
Version 3.461.0
مضاف
- يعيد
RepairAnnotationAppearancesبناء المظاهر الاعتيادية المفقودة أو المتقادمة أو غير الصالحة أو المتباينة مع الحالة أو غير المرئية عبر كل صفحة، ويعيد إحصاءات للمشكلات ولفئات التعليقات التوضيحية - يُبلِّغ
GetAnnotationAppearanceAuditJSONعن مشكلات المظهر لكل تعليق توضيحي مع عدّادات إجمالية دون أي تغيير في المستند
تم التغيير
- تستخدم عملية توليد مظاهر التوسيم والأشكال والمسارات والنص الحر والأيقونات الآن ماسح مستند بتمريرة واحدة وبناة مخرجات تزايدية وبصمات مصدر مضغوطة لكشف التقادم كشفًا حتميًا
Version 3.460.0
مضاف
- ينفّذ
ExecuteFormFieldScriptمجموعة فرعية محلية محدودة النطاق من إجراءات التحقق من صحة النماذج والحساب والتنسيق دون كشف أي قدرات وصول إلى الملفات أو الشبكة أو العمليات أو واجهة المستخدم أو الشيفرة الديناميكية - تؤدي
RecalculateFormFieldsحسابًا تزايديًا كاملًا أو محصورًا بالتبعيات، بينما يُبلِّغGetFormCalculationGraphJSONعن تبعيات الحقول ومواضعها في ترتيب الحساب والدورات الحلقية
تم التغيير
- تقيّم إعادة حساب النماذج القيم في لقطة خاصة، وترتّب الحقول الجاهزة وفق ترتيب حساب AcroForm، وترفض دورات التبعية قبل أي تعديل، ولا تُثبِّت القيم إلا بعد اكتمال الرسم البياني المحدد
Version 3.459.0
مضاف
- يضيف
MergeDocumentExسياسات صريحة لمعالجة حقول النماذج المكررة: رفض الدمج، أو الإبقاء على الاسم المشترك مع مزامنة القيم، أو إسناد لواحق رقمية حتمية
تم التغيير
- يجري التحقق من رفض الحقول المكررة قبل تغيير أرقام الكائنات أو أشجار الصفحات أو مصفوفات النماذج، بحيث يبقى المستندان الهدف والمصدر قابلين لإعادة الاستخدام بعد دمج مرفوض
Version 3.458.0
مضاف
- تتشكّل نصوص
DrawOpenTypeTextوGetOpenTypeTextWidthوGetOpenTypeGlyphRunوتُقاس وتُرسم وتُفحص مباشرةً من مقبض خط TrueType أو OpenType قائم دون الحاجة إلى اسم وجه مثبَّت - تُضمَّن وحدات تشكيل وتقليص OpenType أصلية محمولة لويندوز 32 بت و64 بت، مع مصادر Linux وmacOS قابلة للبناء ومتغيّر بيئة يتيح مسارات نشر مخصّصة
تم التغيير
- يفضّل رسم النصوص المعقّدة الآن التشكيل من بايتات الخط عبر GSUB وGPOS، بما يشمل الاستبدالات والتقنين والوصل وإلحاق العلامات، بينما يغطّي مسار احتياطي محدود بلغة Pascal وصل العربية وأشكال بحث تخطيط OpenType الشائعة حين تكون الوحدة الأصلية غير متاحة
- يحتفظ تقليص الخطوط بعد التشكيل الآن بمعرّفات المحارف ويغلق على تبعيات التخطيط والخطوط المتغيّرة وخطوط الألوان، بما يشمل بيانات COLR/CPAL وfvar/gvar/HVAR
Version 3.457.0
مضاف
- تنشئ
CreateOpenTypeFontVariationخطوط CFF ساكنة قابلة لإعادة الاستخدام من إحداثيات محاور خط CFF2 متغيّر مطلوبة
تم التغيير
- يختار استيراد OpenType CFF2 الآن نسخة ساكنة افتراضية للرسم والتضمين الفوريين مع الاحتفاظ بالبرنامج المتغيّر لإنشاء نسخ لاحقة
- تقيّم عملية إنشاء نسخة من CFF2 مخازن التغيير و
vsindexوblendعبر الإجراءات الفرعية المحلية والعامة الموسّعة، وتطبّق تغيّرات المقاييس الأفقية والعامة، وتُصدر خط OpenType بصيغة CFF1 محدود الحجم صحيح المجموع الاختباري لمساري تضمين وتقليص CFF القائمين
Version 3.456.0
مضاف
- أُضيفت إدخالات WOFF2 لنقاط إدخال ملفات TrueType وOpenType والمجموعات على Windows 10 الإصدار 1703 أو أحدث، بما يشمل مخططات TrueType المتحوّلة ومقاييسها وخطوط CFF وأوجه المجموعات
تم التغيير
- تُفكّ حاويات خطوط الويك مرة واحدة في الذاكرة، وتُستخدم أفضل cmap متاحة لـ Unicode في تعيين المحارف، ويُضمَّن أو يُصدَّر ملف sfnt الناتج بدلًا من الحاوية المضغوطة
Version 3.455.0
مضاف
- يكشف
GetFontVariationAxesعن كل محور من محاور خط TrueType المتغيّر مع اسمه المترجم ونطاق التصميم وقيمته الافتراضية وحالته المخفية، بينما تنشئCreateTrueTypeFontVariationخطًا ساكنًا قابلًا لإعادة الاستخدام من إحداثيات المحاور المطلوبة
تم التغيير
- تطبّق عملية إنشاء نسخة من خط TrueType متغيّر بيانات
avarوgvarوHVARوMVAR، وتسطّح المخططات المركّبة، وتعيد بناء المقاييس الأفقية والعامة، وتزيل جداول التغيير والتلميح المتقادمة، وتُصدر ملف sfnt صحيح المجموع الاختباري للرسم والتضمين والتقليص وفحص المحارف - يستطيع
SaveFontToFileتصدير برامج TrueType المحتفظ بها في الذاكرة مباشرةً، بما يشمل نسخ الخطوط المتغيّرة المنشأة حديثًا قبل حفظ أي ملف PDF
Version 3.454.0
مضاف
- يكشف
GetFontColorGlyphوGetFontColorGlyphByIndexعن مخططات رسم COLR بالإصدارين v0 وv1 ولوحات CPAL ومستندات SVG-in-OT وضربات الصور النقطية المضمّنة للفحص والتصيير المباشرين من التطبيق
تم التغيير
- يستخدم فحص جداول خطوط الألوان وصولًا كسولًا محدودًا إلى sfnt ويشارك في ميزانية بايتات ذاكرة الخطوط المشتركة، تجنّبًا للتحليل المتحمّس للمخططات في خطوط الألوان الكبيرة
Version 3.453.0
مضاف
- توفر
SetFontCacheLimitوGetFontCacheInfoوClearFontCacheميزانية بايتات مشتركة وإزاحة وفق الأقل استخدامًا مؤخرًا وإحصاءات الإصابة والخطأ والإشغال لموارد أوجه الخطوط المحتفظ بها ومرشحات النصوص المتشكّلة وبرامج المخططات المُحلَّلة - يعيّن
GetFontGlyphIndexنقاط ترميز Unicode الكاملة عبر جدولي TrueType cmap بالتنسيقين 4 و12، بينما يعيدGetFontGlyphOutlineمسارات بسيطة ومركّبة محوّلة مع مقاييس التقدّم الخام والامتداد الجانبي الأيسر وصندوق الإحاطة والوحدات لكل em
تم التغيير
- تعيد قياسات النصوص المتشكّلة واستدعاءات الرسم المتكررة استخدام مرشحات متشكّلة منسوخة بعمق ضمن ميزانية الذاكرة المؤقتة المشتركة، ويعيد فحص المحارف المتكرر استخدام برنامج الخط المُحلَّل بدلًا من إعادة تحليله لكل محرف
- تحتفظ برامج الخطوط الثنائية المحمّلة من السلاسل النصية وحاويات WOFF بتدفق بايتات خام مملوك، ما يمنع إعادة ترميز النص ومراجع التدفقات منتهية الصلاحية أثناء الوصول المؤجَّل إلى الجداول
Version 3.452.0
مضاف
- يتيح
soCanonicalEquivalentلعمليات بحث النص والبحث الدفعي وسير عمل الاستبدال مطابقة النصوص المتكافئة قانونيًا بصيغتي NFC وNFD مع الإبلاغ عن الإزاحات والأطوال في النص المستخرج الأصلي - يحصر
soGraphemeClustersالمطابقات في حدود عناقيد الحروف الممتدة ويجعل البدل?يستهلك عنقودًا واحدًا كاملًا، حمايةً للأزواج البديلة وتتابعات الدمج وتتابعات emoji بـ ZWJ والأعلام والمقاطع الهندية المركّبة
تم التغيير
- تستخدم عملية تسوية Unicode وتقسيم العناقيد جداول Unicode 15.1 مولّدة مضغوطة على كل نظام أساسي مدعوم دون الاعتماد على خدمة نصوص من نظام التشغيل
Version 3.451.0
مضاف
- يستبدل
ExternalizeInlineImagesالصور المضمّنة المدعومة المتكررة عبر نطاق صفحات محدد بـ Image XObject واحد مشترك متى انخفض الحجم التسلسلي المقدَّر
تم التغيير
- تحافظ عملية إخراج الصور المضمّنة على أقنعة الصور والاستيفاء ومصفوفات فك الترميز والمرشّحات ومعاملات فك الترميز، وتضغط بالضغط Flate فرصيًا الحمولات غير المفلترة حين يكون ذلك أصغر حجمًا
- تحافظ التجميع الدقيق بـ SHA-256 وأسماء الموارد الحتمية وإزالة الصفحات المكررة والإبلاغ عن التقدّم والإلغاء التعاوني على نتائج تحسين محدودة النطاق وقابلة للتكرار
- تبقى مدخلات القواميس المضمّنة غير المعروفة وفضاءات الألوان غير الخاصة بالجهاز مطابقة بايتًا ببايت بدلًا من ترقيتها دون دلالات كاملة
Version 3.450.0
مضاف
- توحّد
NormalizeContentStreamsالرموز الفضائية والرقمية عبر نطاق صفحات محدد مع الحفاظ على المعاملات وقيم السلاسل النصية وحمولات الصور المضمّنة
تم التغيير
- يُصدر ضغط المحتوى الآن رموزًا قياسية حتى حين لا يجد تحسين النوافذ الصغيرة أي تعليمات زائدة
تم الإصلاح
- تحافظ الأعداد الحقيقية في PDF ذات إشارة الزائد الصريحة في مقدّمتها على قيمتها أثناء التحليل والتسوية
- لا تحتفظ بيانات التدفقات المستبدلة بعد الآن بمعاملات فك ترميز متقادمة من مسار المرشّحات السابق
Version 3.449.0
مضاف
- توفر
SetTempFileQuotaوGetTempFileQuotaوCompactDocumentMemoryتخزينًا محدود النطاق للكائنات مدعومًا بالقرص مع تراجع تلقائي إلى الذاكرة
تم التغيير
- تستخدم بيانات الكائنات المؤقتة الآن بحثًا مفهرسًا واعيًا بالتوليد وتبقى متاحة بعد إغلاق مقبض كتابة ملف التخزين المؤقت
Version 3.448.0
مضاف
- تتيح
SetRecoveryModeوGetRecoveryModeاختيار الوضع الصارم أو الإصلاح المبني على المقطع الختامي أو الاسترداد بأقصى جهد قبل تحميل مدخلات PDF التالفة
تم التغيير
- يكتب
SaveToStreamالآن مباشرةً إلى أهداف كتابية غير قابلة للتموضع مع الإبقاء على مسار التسلسل المُجزَّأ القائم - يبقى الاسترداد بأقصى جهد هو الوضع الافتراضي، بينما يعطّل الوضع الصارم إعادة البناء الخام ويتطلب وضع الإصلاح مقطعًا ختاميًا باقيًا بدلًا من تركيبه
Version 3.447.0
مضاف
- تضبط
SetOptimizationWorkersوGetOptimizationWorkersدفعات عمال محدودة النطاق لتحسين الصور وإعادة ضغط تدفقات Flate، مع اختيار تلقائي للمعالجات افتراضيًا ووضع توافق تسلسلي - تُبلِّغ
OptimizeImagesوRecompressStreamsوMergeFileListوMergeFileListFastوMergeFileListStrictالآن عن تقدّم مُتتبَّع وتحترم الإلغاء التعاوني عبرAbort
تم التغيير
- تعمل إعادة ضغط Flate وتحويل ترميز الصور مكتفية ذاتيًا في دفعات متوازية محدودة بينما تبقى تعديلات المستند حتمية أحادية الخيط
- يحتفظ تحسين الصور الآن ببيانات الصور النقطية المفكوكة لإعادة الترميز، ويتخطى صور أقنعة القوالب ومفاتيح الألوان، ويزيل معاملات فك الترميز المتقادمة عند تطبيق بدائل JPEG
- لا تبقي عمليات دمج قوائم الملفات الكبيرة إلا القرّاء النشطين للمصادر مفتوحة، وتُبلِّغ عن التقدّم بحسب المدخلات وعدد الكائنات، وتزيل المخرجات غير المكتملة عند الإلغاء أو الفشل
تم الإصلاح
- تُبلِّغ عمليات دمج الملفات المتعددة الآن عن اكتمال ناجح عند دمج أكثر من مصدر واحد
- يحتفظ تخفيض دقة الصور وتحسينها الآن بالصورة النقطية المفكوكة التي تتطلبها مسارات إعادة الترميز الخاصة بها
Version 3.446.0
تم التغيير
- يقيّد التحميل الزائد ثنائي المعاملات لـ
SetDisplayListCacheLimitذاكرة قوائم العرض المحتفظ بها إلى جانب عدد المدخلات، بينما يحافظ التحميل الزائد القائم على ميزانية البايتات المضبوطة - تفضّل إزالة قوائم العرض الآن المحتوى المعاد استخدامه بكثرة ذا القيمة الأعلى لإعادة البناء لكل بايت محتفظ به، وتتجاوز القوائم المتضخمة فرديًا الاحتفاظ دون حجب التصيير
- تثبِّت عمليات الالتقاط وإعادة التشغيل النشطة قوائمها، ولا ترى عمليات البحث المتزامنة تسجيلات مبنية جزئيًا أبدًا، وتُهمَل عمليات الالتقاط الملغاة أو الفاشلة
- يُبلِّغ
GetDisplayListCacheInfoوGetResourceUsageStatisticsJSONعن البايتات المحتفظ بها والحدود وتكلفة إعادة التشغيل المقدَّرة وعمليات الإزالة والتجاوز وعمليات الالتقاط المرفوضة وتنازع البناء
تم الإصلاح
- يُحرِّر تشغيل قوائم العرض الآن سلاسل المعاملات المستبدلة بدلًا من الاحتفاظ بتخصيص واحد من كل معامل سابق
Version 3.445.0
تم التغيير
- يضيف التحميل الزائد ثلاثي المعاملات لـ
SetMemoryBudgetميزانية بايتات مفكوكة لذاكرة تدفقات الكائنات المضغوطة لكل مستند - تستخدم مدخلات ذاكرة تدفقات الكائنات الآن إزالة وفق الأقل استخدامًا مؤخرًا بحسب عدد المدخلات وحجم الحمولة المفكوكة معًا، بينما تتجاوز المدخلات المتضخمة التخزين المؤقت دون حجب الوصول إلى الكائنات
- تنطبق ميزانيات الذاكرة المضبوطة قبل التحميل الآن على المستندات القائمة والمستقبلية ويمكن الاستعلام عنها عبر
GetMemoryBudget - يُبلِّغ
GetResourceUsageStatisticsJSONالآن عن بايتات ذاكرة تدفقات الكائنات الحالية وحدود البايتات وعدد عمليات الإزالة
Version 3.444.0
مضاف
- يقيّد التحميل الزائد ثلاثي المعاملات لـ
SetParserLimitsأخطاء المحلّل المتحمَّلة ويوقف الاسترداد الحتمي بالحالةpdsErrorLimitعند استنفاد الميزانية - يرفض
SetStreamDecodeLimitsسلاسل المرشّحات الطويلة جدًا قبل تخصيص المُفكِّكات ويفرض ميزانية بايتات مفكوكة تراكمية عبر التدفقات في عملية واحدة مُتتبَّعة - تتشارك مسارات فك الترميز المتدفقة وفي الذاكرة في المحاسبة نفسها على المرشّحات والبايتات، بما يشمل فك ترميز تدفقات الكائنات أثناء تحميل المستند
- يُبلِّغ
GetResourceUsageStatisticsJSONعن تقديرات ذاكرة البنية والتدفقات وعدّادات الصور والخطوط وذُرى البايتات المفكوكة وحالات الفشل وإصابات وأخطاء ذاكرة الكائنات وتدفقات الكائنات وقوائم العرض المؤقتة - يعيد
ResetResourceUsageStatisticsضبط العدّادات التشخيصية دون التخلّص من المستندات المحمّلة أو الذاكرات المؤقتة القابلة لإعادة الاستخدام
Version 3.443.0
مضاف
- تضبط
SetParserLimitsوGetParserLimitsوتفحص الحدود الصارمة لكائنات PDF المتداخلة وعدد المدخلات في أي مصفوفة أو قاموس يُحلَّل مباشرةً - تُطبَّق حدود المحلّل قبل أن تستهلك مسارات تحميل الملفات والتدفقات والسلاسل النصية وسجل التحرير وQDF وفحوص السلامة الكائنات، بينما يحتفظ الافتراضي بحد التداخل القائم وبحجم الحاويات غير المقيَّد
- يرفض
TPDFStructure.DecodeMaxContainerItemsالمصفوفات والقواميس المتضخمة بالحالة المميزةpdsContainerLimitويحفظ موضع الفشل - ينعش
RegenerateFormAppearancesكل حقل AcroForm من المستوى الأعلى والحقول التابعة له في مسار واحد، ويحافظ اختياريًا على المظاهر الصالحة للاستخدام ويمسحNeedAppearances
Version 3.442.0
مضاف
- يقبل
CheckFileComplianceاختبار التوافق 3 لـ PDF/X ويدقّق مستندًا مكتملًا في مواجهة قواعد تبادل الطباعة ISO 15930: تحديد نسخة pdfxid، ومستوى الصياغة بحسب الجزء، وقصد إخراج GTS_PDFX واحد بالضبط مع ملف تعريف مضمّن ومعرّف شرط، وحالة الالتقاط المعلنة، وهندسة TrimBox وBleedBox لكل صفحة، وبرامج الخطوط المضمّنة، وأنواع التعليقات التوضيحية المحظورة، وJavaScript على مستوى المستند، والملفات المضمّنة، والتشفير، ومرشّحات LZWDecode - تظهر المشكلات كسطور مسبوقة بالبادئة PDFX عبر مقبض قائمة السلاسل النصية نفسه الذي تستخدمه مدقّقات PDF/A وPDF/UA
Version 3.441.0
مضاف
- تختار
SetPDFXModeوضع توافق PDF/X (1 = PDF/X-1a:2003، 2 = PDF/X-3:2003، 3 = PDF/X-4) يفرض قواعد تبادل الطباعة ISO 15930 وقت التأليف ويكتب تحديد نسخة pdfxid في XMP - يثبّت الوضع قصد إخراج GTS_PDFX (الافتراضي طباعة CMYK)، ويعلن حالة /Trapped، ويستند بإصدار الحفظ إلى الجزء (PDF 1.4 لـ X-1a / X-3، وPDF 1.6 لـ X-4)
- بوابات التأليف: يُرفض فضاءا DeviceRGB وICCBased تحت X-1a (يتطلب X-3 / X-4 قصد إخراج RGB لـ DeviceRGB)، وتُرفض الشفافية والمحتوى الاختياري خارج X-4، وتُرفض JavaScript ومرفقات الملفات والتشفير وصور LZWDecode والخطوط غير المضمّنة في كل وضع
- تصحيحات وقت الحفظ: تتلقى كل صفحة TrimBox (افتراضيًا MediaBox)، وتُوحَّد أعلام Print للتعليقات التوضيحية وNeedAppearances لنموذج AcroForm ويُعلَن /Trapped
- يُبلِّغ
GetInformation(203)عن وضع PDF/X النشط
Version 3.440.0
مضاف
- يكتب
AddWatermarkAnnotationFromImageIDتعليقًا توضيحيًا بنوع /Subtype /Watermark مع مصفوفة التخزين /FixedPrint /Matrix بحيث يُحجّم الطباعُ المظهرَ مع الصفحة (ISO 32000-1 12.5.6.17) - يكتب
AddPrinterMarkAnnotationFromImageIDتعليقًا توضيحيًا بنوع /Subtype /PrinterMark يحمل اسم علامة الطابعة /PN (ISO 32000-1 12.5.6.18) - ترسم
SetFillColorICCBasedوSetLineColorICCBasedعبر فضاءات ألوان /ICCBased على مستوى المحتوى مدعومة بملف تعريف ICC مضمّن، مع قراءة عدد المكوّنات من ترويسة الملف وتشارك الملفات المتطابقة موردًا واحدًا
Version 3.439.0
مضاف
- تُستورد حاويات خطوط الويب WOFF 1.0 بشفافية عبر كل نقاط إدخال TrueType (
AddTrueTypeFontFromFileوواجهات التدفق)؛ تُنفَّخ الجداول من تدفقات zlib ويُعاد بناء دليل sfnt المسطَّح قبل التحليل - تضمّن المستندات برنامج sfnt المفكوك في FontFile2 لا حاوية WOFF أبدًا، ما يبقي الخطوط المضمّنة صالحة لكل العارضين
Version 3.438.0
مضاف
- يمتد فرض قيم البذور إلى
LegalAttestationومدخلاتIssuerالمقبولة للشهادات وأنماطKeyUsageالموضعية (ISO 32000-2 الجدولان 237 و238)، مع واجهات تأليف مطابقة: قيم الإقرار القانوني فيSetSignatureFieldSeedValueوAddSignatureFieldSeedIssuerوSetSignatureFieldSeedKeyUsage - يعلن
SetSignProcessLegalAttestationإقرار الموقِّع الذي يجري التحقق منه في مواجهة قيد LegalAttestation مطلوب وقت التوقيع - تدير
TPDFlibPKCS11Client.InitializeUserPINوChangeUserPINأرقام PIN للرموز عبر جلسة قراءة/كتابة مخصّصة مع تسجيل دخول مسؤول الأمن لتنفيذC_InitPIN
Version 3.437.0
مضاف
- يوقّع
SetSignProcessRSAPSSPaddingتواقيع RSA المنفصلة بحشو RSASSA-PSS، مُصدرًا مجموعة معاملات RFC 4055 الكاملة (MGF1 مع هضم التوقيع، وطول الملح مساوٍ للهضم) داخل معرّف خوارزمية توقيع CMS - تدور التواقيع المحشوّة بـ PSS دورة كاملة عبر مدقّق المكتبة، الذي يحلّل الآن معاملات RFC 4055 (الترميزان الصريح والضمني) ويتحقق منها عبر CNG بطول الملح المعلن
Version 3.436.0
تم الإصلاح
- يفكّ استخراج النص الآن ترميز أسماء محارف AGL الإضافية (صيغتا
uniXXXXوuXXXXXX) الواردة في مصفوفات /Differences لخطوط لا تحمل خريطة ToUnicode - ترجع خانات الترميز التي لا يُحلَّل اسم محرفها إلى شيء الآن إلى الترميز الأساسي للخط بدلًا من إظهار نقاط الترميز الخام أو محارف الاستبدال أثناء الاستخراج
- تفكّ خطوط TrueType الرمزية المضمّنة بلا خريطة ToUnicode الآن الترميز عبر جداول cmap لبرنامج الخط المضمّن، مستردةً Unicode الحقيقي خلف كل رمز محرف
Version 3.435.0
مضاف
- يضمّن
AddTrueTypeCollectionFontFromFileأي وجه من مجموعة TrueType (.ttc) بفهرس يبدأ من الصفر؛ كان السلوك السابق يأخذ الوجه الأول دائمًا - يقرأ
GetJPEGFileOrientationوسم اتجاه EXIF (1..8، والقيمة 0 عند غيابه) لملف JPEG، ويستخرجGetJPEGFileICCProfileToFileملف تعريف ICC من APP2 دون استيراد الصورة
Version 3.434.0
مضاف
- تعيّن خيارات التصيير 11..15 أعلام جودة PDFium: تشغيل/إيقاف تصيير نص LCD، وعدم تنعيم النص، وعدم تنعيم الصورة، وعدم تنعيم المسار، وفرض التنصيف؛ تحافظ الإعدادات الافتراضية على المخرجات التاريخية وتتجاهل الواجهتان الخلفيتان GDI+/Cairo هذه الأعلام
- يقيّد
SetDisplayListCacheLimitذاكرة قوائم عرض تدفقات المحتوى المُحلَّلة مرة واحدة؛ تُزيل الحدودية الموجبة المدخلات الأقل حداثةً في الإنشاء قبل الإدراج، ويعيد الصفر السلوك غير المقيَّد
Version 3.433.0
مضاف
- يقبل اختيار هضم الطابع الزمني للتوقيع عائلة SHA-3 (الرموز 5..7 في
SetPAdESSignatureTimeStampDigestAlgorithm)، بما يطابق خيارات هضم الموقِّع - تضبط
SetTimeStampRetryCountما يصل إلى 10 محاولات TSA إضافية (0..10) بعد إخفاقات النقل أو ردود 5xx مع تراجع خطي بين المحاولات - يكتسب
TPDFlibCertificateInfoالحقولFriendlyNameوThumbprintSHA1وThumbprintSHA256المقروءة من خصائص سياق الشهادة أثناءEnumCertificates - يكتسب تقرير التحقق التاريخي AdES الحقل
BaselineProfile: القيمة 0 للحقول الفرعية غير الخاصة بـ PAdES، ثم 1=B-B و2=B-T و3=B-LT و4=B-LTA المشتقة من الطابع الزمني وأدلة DSS
Version 3.432.0
مضاف
- تقبل سلاسل نطاقات الصفحات الكلمات المفتاحية
oddوalso evenوfirstوlast، وكذلك كحدود للنطاق (3-last)، في كل واجهة API تقبل نطاقًا - يعكس
ReversePagesترتيب صفحات المستند المحمّل - تدمج
FlattenAnnotsOnPageRangeكل تعليقات توضيحية في نطاق ما ضمن محتوى الصفحة في استدعاء واحد - يُبلِّغ
GetPageContentBoxعن حدود اتحاد جميع عناصر النص والصورة والمسار، وتضبطAutoCropPagesصناديق CropBox لكل صفحة على ذلك الصندوق مضافًا إليه هامش - يختم
AddBatesNumberingأرقامًا متتابعة مملوءة بالأصفار مع بادئة ولاحقة في تسع مواضع على نمط لوحة المفاتيح - يكتب
ExtractDocumentRevisionحالة المستند عند أي مراجعة تزايدي سابقة إلى ملف جديد عبر بتر سلسلة المراجعات - يقطع
SplitDocumentByOutlineالمستند عند مدخلات مخططه التفصيلي حتى مستوى معيّن إلى ملف واحد لكل قسم - يقارن
ComparePageTextsWithمستندين صفحة بصفحة على النص المستخرج ويُبلِّغ عن عدد الصفحات المختلفة وأول عدم تطابق - يكتسب
SanitizeDocumentالخيارSANITIZE_XMP_PACKET(القيمة 32) الذي يزيل تدفق بيانات XMP الوصفية بأكمله وكل قاموس/PieceInfo
Version 3.431.0
مضاف
- يُسقط خيار الاستخراج 19 (
SetTextExtractionOptionsوالصيغة ذات الوصول المباشر) النص ذا وضع التصيير 3، مثل طبقات OCR، من المخرجات المستخرجة دون المساس بالمحتوى المرئي - يستبدل خيار الاستخراج 20 محارف تتابعات المحتوى الموسوم
/Spanبقيمة/ActualTextالخاصة بها أثناء الاستخراج (ISO 32000-1 §14.9.4)، مع مراعاة قواميس الخصائص المضمّنة وموارد الخصائص المسماة معًا - يستنتج
DAGetTextBlockCharBoxصناديق محاذاة المحاور لكل محرف من رباعيات الكتل وتقدّماتها، لاستخدامها في مستطيلات التظليل وحسابات مناطق النقر على المحارف المفردة - يسلسل
ExportFormValuesToJSONقيم حقول AcroForm إلى مصفوفة JSON مع تهريب سليم للمحارف الخاصة، وبإمكانية تخطي الحقول الفارغة اختياريًا - يعدّ
GetPageTextStatisticsالمحارف والكلمات المفصولة بمسافات والكتل لأي صفحة - يقرأ
GetXMPPropertyالقيم البسيطة من حزمة XMP للمستند (بالنزول عبر أغلفةrdf:Alt/rdf:Bag/rdf:Seqوحلّ كيانات XML)، وينسخSynchronizeXMPToInfoبيانات XMP الوصفية إلى قاموس Info - تُبلِّغ جردات الخطوط عن أحجام البرامج المضمّنة: يكتسب
TPDFlibDocumentFontالحقلFontFileBytesويكتسب سجل التشخيص الحقل المجموعEmbeddedBytes
Version 3.430.0
مضاف
- اكتسب بحث النص أربعة خيارات جديدة:
soDiacriticInsensitiveيطابق الاستعلامات عبر طيّ Unicode بنسبة 1:1 بحيث تجد الحروف المجردة نظيراتها المشدَّدة (Latin-1 وLatin Extended-A واليونانية والسيريلية، مع بقاء حساسية حالة الأحرف مراعيةً عند الدمج معsoCaseSensitive)، وsoWildcardsيفسّر*و?في الاستعلام بدلالات الأبعد يسارًا والأطول المتوافقة معsoWholeWord، وsoAcrossLinesيطابق العبارات الممتدة عبر فواصل الأسطر والكتل بضم كتل كل صفحة المستخرجة، وsoPreserveStyleيجعلSearchAndReplaceTextيعيد رسم البدائل بحجم نص الكتلة المستبدَلة ولونها بدلًا من الإعدادات الحالية للمستدعي - تُبلِّغ نتائج البحث الآن عن موضع المطابقة وطولها داخل نص الكتلة (
MatchStartوMatchLength) إضافةً إلى نوافذ سياق اختيارية (ContextBeforeوContextAfter) تتحكم بها الخاصية الجديدةSearchContextChars - تحوّل
AddTextMarkupFromSearchHitsوHighlightTextSearchHitsنتائج البحث، أو النتائج المحتفظ بها في جلسةBeginTextSearchجاريةً، إلى تعليقات توضيحية موسومة من أنواع Highlight / Underline / Squiggly / StrikeOut على صفحاتها - تستخدم نصابتا البحث الحرفية المكوّنة من أربعة محارف فأكثر الآن جدول تخطي Boyer-Moore-Horspool مع تجميع محافظ للمحارف العريضة، ما يسرّع عمليات البحث الدفعي على الصفحات الطويلة
تم الإصلاح
كانت خطوط TrueType المضمّنة المكتوبة بترميز WinAnsi أساسي ومصفوفة Differences تُنتج CMap /ToUnicodeلا يسرد إلا مدخلات Differences، فكانت القرّاء المعتمدون عليه تفكّ كل رمز WinAnsi مشدود آخر كخردلة: أعاد الاستخراج محارف بديلة، وكان جمع الكتل قد يتوقف عند السطر المتأثر، وأفلت البحث الحساس للتشكيل من تلك المستندات. يغطّي مولّد CMap الآن الترميز الأساسي بأكمله مع تجاوزات Differences، على دفعات ملتزمة بالمواصفة بـ 100 مدخلة لكل قسم- كانت مسك دفاتر دمج الكلمات في قمع النص تُدرج تقدّمًا وهميًا عند إلحاق مرشحات بلا فاصل، فتُزيح كل إزاحة لاحقة لكل محرف بمقدار واحد وتُفسد البيانات المشتقة مثل المستطيلات الفرعية لنتائج البحث والمسافات المستنتَجة من الفجوات
Version 3.429.0
تم الإصلاح
- كان التقليص عبر
AddTrueTypeSubsettedFontيُنتج مستندات يظهر نصها فارغًا في كل عارض: كان تدفق تعيين CID-to-GID يُستبدل بصمت بمدخلة/Identityمُرمّزة بشكل ثابت، فكانت معرّفات CID المشتقة من Unicode تشير إلى مخططات المحارف الخاطئة. أصبح التدفق الآن هو المرجع الحاسم وتبقى/Identityاحتياطًا فقط حين يتعذّر استنتاج أي تعيين؛ وتُعرض المستندات المقلَّصة بخطوط CJK ومجموعات المحارف المحدَّثة تلقائيًا بشكل صحيح من جديد - كانت تعبئات التظليل المحوري والقطري تُعرض سوداء مصمتة على مُصيِّر GDI+ الداخلي: ترفض
GdipCreateLineBrushالوضعWrapModeClamp(وضع خاص بفرش النسيج حصرًا)، وكان فشل إنشاء الفرشاة يهبط إلى البديل الأسود المصمت. تُنشأ فرش التدرّج الآن بـWrapModeTileوتُعرض تعبئات التظليل مطابقةً للواجهة الخلفية Cairo وللعارضات الخارجية - كان إنشاء نسخة من
TPDFlibيثيرEIntOverflowعند تصريف المكتبة مع تفعيل فحص الفيض (أعلام الإصدار في نصوص بناء العرض التوضيحي لسطر الأوامر): تجزئة أسماء FNV-1a وتراكم حالة MD5 وعدّادات بتات MD5 حسابات معيارية بطبيعتها التصميمية وتعمل الآن مع تعطيل فحوص الفيض موضعيًا. لم يعد خرج الإصدار المرفقbuild-Win32-Demo/build-Win64-Demoينهار عند بدء التشغيل
Version 3.428.1
مضاف
- عرض توضيحي رئيسي جديد
Showcase(Demo\Delphi\Showcase): يبني عند بدء التشغيل مستندًا من سبع صفحات — غلاف متدرّج، ورسوميات متجهة بالتظليل والأنماط، وتنسيق خطوط TrueType مضمّنة، وجداول منسّقة، ومعرض رموز شريطية، وروابط تفاعلية مع تعليقات مراجعة وإشارات مرجعية، وصفحة ملخّص — ويعاينه مباشرةً داخل عنصرTPDFlibViewerالمضمّن - يعمل العرض التوضيحي Showcase أيضًا بلا واجهة (
Showcase.exe <output.pdf>) مع وسيطrenderاختياري يصدّر كل صفحة بصيغة PNG، بحيث يمكن ممارسة مسار المستند الكامل من نصوص البناء
تم الإصلاح
- لم يعد تحليل تدفقات المحتوى يُسيء قراءة معامل لون الحد
RG: كان الاستباق المسبق للمرجع غير المباشر في مُفكِّك الكائنات يستهلك0 0 0 RGكرقم مع المرجع الوهمي0 0 R، ما كان يُفسد ألوان الحد بعد تحسين المحتوى ويُنتج أخطاء صياغة للمعاملات في العارضات الصارمة - لم يعد مُحسِّن المحتوى ذو النوافذ الصغيرة يُسقط معيّن
cs(فضاء اللون) مكررًا يلي أي معامل لون: المعاملاتrg/g/kتعيد ضبط فضاء اللون ضمنيًا، لذا احتفظت تعبئات الأنماط (scn) بعد تغييرات لون النص بـ/Pattern csالخاص بها وتُعرض بشكل صحيح من جديد
Version 3.428.0
مضاف
- تسعة عشر عرضًا توضيحيًا جديدًا للوحدة الطرفية بـ Free Pascal / Lazarus تحت
Demo\Lazarus: OutlineBuilder وWatermarkDemo وNamedDestinations وEmbeddedFiles وXmpMetadata وTextBlockExtraction وAnnotationInspector وBarcodeGallery وTaggedPDF وSearchReplace وRedaction وLinearizeDemo وPatternShowcase وDocumentProperties وSecurityPermissionMatrix وPageStitch وOutputStream وMergePDF وPdfToImage - طبقة توافق
IOUtils(TPath / TDirectory / TFile) لبناءات FPC تُبقي العروض المنقولة متطابقة المصدر مع نظيراتها في Delphi
تم التغيير
- يُجسِّد بديل الرسوميات NOVCL تحت Windows الآن كائنات GDI حقيقية: يخصص TBitmap قسم DIB هابطًا، ويمتلك TCanvas وحدة DC للذاكرة ويعيد اختيار كائنات GDI للفرشاة والقلم والخط عند تغيّر الخصائص، ويعيد TBrush / TPen / TFont بناء مقابضها عند تغيّر الألوان أو الأنماط أو خصائص الخط
- ينتج تصيير الصفحات تحت FPC الآن مخرجات بكسل مطابقة لبناء Delphi (تنقيط GDI+ عبر وحدة DC البديلة)، وهو ما يستعيد أيضًا تصدير
PdfToImageبصيغتي JPEG وBMP
تم الإصلاح
- كان إنشاء PDF مشفّرًا تحت FPC يُفسد قيم السلاسل الثنائية (إعادة قراءة
/IDالختامي، و/Uللتشفير)، فيفشل الخرج في اجتياز التحقق عند إعادة التحميل؛ لم تعد بناءات FPC تمرر-FcUTF8الذي كان وسم ترميز ansistring الخاص به يجعل سَلسَلةAnsiString + AnsiCharتستبدل بكل بايت يتجاوز $7F علامة استفهام
Version 3.427.0
مضاف
- دعم Free Pascal / Lazarus: تُصرَّف المكتبة الآن تحت FPC 3.2 (Win64) من المصادر نفسها التي تُبنى منها إصدارات Delphi، مع نصوص بناء جديدة
build-Lazarus-Libوbuild-Lazarus-Lib-TRIALوbuild-Lazarus-Testsوbuild-Win64-Demo-LazوحزمةPDFlibPasLaz - يمرّ ضغط Flate وفكّه تحت FPC عبر مكتبة zlib الثابتة المرفقة مع FPC؛ يرتبط تشفير AES بنفس كائت الوحدة المستخدم في بناءات Delphi؛ وتُفكّ صور JPEG عبر الواجهة الخلفية GDI+
- تغطّي حزمة اختبارات وحدة طرفية بـ FPCUnit (
Tests\Lazarus) دورات إنشاء المستند وحفظه وتحميله، وضغط/فك Deflate، وAES، واستخراج النص، ويُضمَّن عرضان توضيحيان للوحدة الطرفية بلحظة Lazarus (HelloWorldوTextExtract) تحتDemo\Lazarus
تم التغيير
- أُزيلت بادئات نطاق الوحدات (
System.SysUtilsوWinapi.Windows...) عبر مصادر المكتبة لتُحَلَّ الوحدات نفسها تحت المُصرِّفين؛ وتمرّ بناءات سطر الأوامر لمكتبة Delphi الآن بقائمة نطاقات الوحدات صراحةً - صُحِّح خطآن مطبعيان في توجيهي
NO_VCL/NOVCLفي المُصيِّر وتصدير صور Cairo النقطية لم يظهرا إلا بعد تصريف إعداد NOVCL لـ Windows فعليًا
Version 3.426.0
مضاف
- يستطيع تصيير الصفحات الآن محاكاة الطباعة الفوقية للأحبار المعيارية والمسماة عبر واجهات Delphi وDLL وActiveX قابلة للتهيئة
تم التغيير
- تحافظ حالات الرسوميات الموسّعة الآن على الدلالات التراكمية لـ
/OPو/opو/OPMبينما تحتفظ التركيب البكسلي المحدود بقنوات الحبر المتداخلة على مُصيِّرَي GDI+ وCairo
Version 3.425.0
مضاف
- يحافظ استخراج الصور الآن على مقاطع صفحات JBIG2 ومقاطعه العامة في ملفات مستقلة ويُبقي حمولات فاكس CCITT داخل أغلفة TIFF مستقلة
- يجمّع بيان تخديم الصور للاستقرار فقط التكرارات المُرمَّزة المطابقة تمامًا حسب البصمة وهوية الكائن واستخدام الصفحات والبايتات القابلة للاسترجاع عبر عملاء Delphi وDLL وActiveX
تم التغيير
- تحدّد قوائم صور الصفحات الآن حمولات JPX وJBIG2 الأصلية دون فرض توسيع الصور النقطية، بما يشمل تدفقات الصور المتوصل إليها عبر كائنات Form XObject المتداخلة
Version 3.424.0
مضاف
- تنشئ واجهات الملفات المرتبطة على مستوى المستند الآن عضوية
/AFفي الفهرس وتُعدّدها وتعيّنها وتضيفها وتزيلها عبر عملاء Delphi وDLL وActiveX - يمكن لتعليقات RichMedia التوضيحية الآن إعادة استخدام ملف مضمّن أو مرتبط قائم، بما يُبقي حمولة وسائط واحدة مشتركة بين لوحة المرفقات ومخطط أصول التعليق التوضيحي
تم التغيير
- يقبل إنشاء الملفات المرتبطة ملفات وتدفقات Delphi وسلاسل ثنائية وصِيَر DLL ومصفوفات بايتات ActiveX مع الحفاظ على المجاميع الاختبارية والأوصاف وبيانات علاقات الارتباط وبايتات الصفر الثنائية
- إزالة ملف مضمّن تزيل الآن أيضًا مراجع الملفات المرتبطة المطابقة في الفهرس بحيث لا يمكن للمستندات المحمّلة الاحتفاظ بمدخلات
/AFمعلّقة
Version 3.423.0
مضاف
- تبني واجهات المحتوى الاختياري الآن تسميات لوحة الطبقات المتداخلة وفروع المجموعات عبر عملاء Delphi وDLL وActiveX
- تضيف واجهات إنشاء مجموعات الاختيار وعضويتها وإزالتها وفحصها عناصر تحكم طبقات متعارضة حصريًا لسير عمل CAD والخرائط
تم التغيير
- تُبلِّغ تحديثات الطبقات المقفلة الآن عن النجاح، وتستخدم الإعدادات البديلة معرّفاتها الصحيحة أحادية الأساس، وتُجتاز التراتبيات المعطوبة للطبقات بحماية محدودة من الدورات
- حذف مجموعة محتوى اختياري يزيل مراجعها من بنى ترتيب الطبقات وحالتها وقفلها واختيارها وحالتها التلقائية في كل إعداد
Version 3.422.0
مضاف
- تضمّن واجهات التعليقات التوضيحية ثلاثية الأبعاد PRC نماذج من ملفات وتدفقات وسلاسل ذاكرة وصِيَر DLL ومصفوفات بايتات ActiveX مع عروض افتراضية مسماة وسياسات تفعيل صريحة
- تدعم تعليقات PRC مستندات الهندسة PDF/A-4e مع ترقية المخرجات العادية تلقائيًا إلى PDF 2.0
تم التغيير
- تشمل تعليقات PRC وU3D التوضيحية الآن عرضًا ثلاثي الأبعاد كاملًا وقواميس التفعيل وإيقاف التفعيل وأعلام الطباعة للتعليقات وأسماء بديلة ومظهرًا اعتياديًا
- يرفض تضمين U3D القديم ملفات PDF/A التي لا تجيز التعليقات التوضيحية ثلاثية الأبعاد ويقبل PDF/A-4e
Version 3.421.0
مضاف
- تضيف واجهات أجزاء المستند
/DPartRootالخاص بـ PDF 2.0 و/DPartsالهرمي وأوراق نطاقات الصفحات ومستويات السجلات وأسماء المستويات وبيانات/DPMالوصفية المُتحقَّق منها عبر عملاء Delphi وDLL وActiveX - تكشف واجهات الفحص ودورة الحياة عن التحقق من التراتبية وعدّادات الأجزاء المتوصل إليها والبحث عن الجزء من الصفحة ودورات بيانات التعريف الوصفية وإزالة التراتبية الكاملة
تم التغيير
- تستخدم مجموعات الأبناء الكبيرة كتل مصفوفات محدودة بينما يفحص التحقق روابط الآباء والدورات وعمق الأوراق المنتظم والتغطية الكاملة المرتّبة للصفحات وروابط الصفحات العكسية ورموز أسماء XML ومخططات البيانات الوصفية المحدودة
- ينشئ إنشاء تراتبية أجزاء المستند ترقيةً للمخرجات إلى PDF 2.0 ويشارك في كشف ميزات المستندات المحمّلة وقفل إصدار الحفظ
Version 3.420.0
مضاف
- يضيف
DrawHTMLStoryتدفق HTML منسّقًا عالي المستوى عبر أعمدة متساوية العرض وصفحات مولَّدة تلقائيًا عبر عملاء Delphi وDLL وActiveX - تعيد حدود الصفحات المحدودة سلسلة متابعة قابلة لإعادة الاستخدام تحافظ على تتالي أوراق الأنماط النشط وحالة الأنماط المتداخلة والكتل المهيكلة والجداول والروابط وتعيينات الخطوط وارتباطات الصور
تم التغيير
- ترث صفحات المقالة المولَّدة الأبعاد الفعلية لصفحة البدء المحددة ويعيد كل عمود استخدام خطط التخطيط المُخزَّنة للقياس وإعادة التشغيل
- يرفض تخطيط المقالة الهندسات غير الصالحة، ويقيّد الأعمدة والصفحات المولَّدة، وينتهي حين تعجز الإطارات المتتالية عن إحراز تقدّم
Version 3.419.0
مضاف
- يضيف
TPDFlibPrinterواجهة مكوّن VCL بأساليب دورة حياةBeginDocوCanvasوNewPageوEndDocوAbortلإنشاء PDF مباشرةً - تدعم مهام طابعة PDF أبعاد ورق قابلة للتهيئة واتجاهًا رأسيًا أو أفقيًا ودقة DPI للوحة الرسم وخيارات استيراد متجهة وعناوين مستندات ومخرجات ملف مباشرة اختيارية
تم التغيير
- تمتلك كل مهمة مكوّن مستند PDF مستقلًا، وتُثبِّت اللوحة الأولى واللوحات اللاحقة بدلالات صفحات متسقة، وتحتفظ بالمخرجات المكتملة لمزيد من المعالجة بالمكتبة
- لا يفتح المكوّن حوار طباعة أبدًا ولا يصل إلى بريمة الطباعة لنظام التشغيل، ما يتيح ترحيل شيفرة رسم لوحات VCL القائمة دون اعتماد على طابعة فعلية
Version 3.418.0
مضاف
- تضيف
RenderPagesToPrintStreamوRenderPagesToPrintStringوRenderPagesToPrintFileوRenderPagesToPrintDataوRenderPagesToPrintBufferمخرجات طباعة مستقلة عن المشغّل عبر عملاء Delphi وDLL وActiveX - يمكن إصدار نطاقات الصفحات المحددة بصيغة PostScript Level 3 أو EPS أحادي الصفحة أو PCL 5c أو PWG Raster مع ضوابط اختيارية أحادية اللون والطباعة على الوجهين والقلب وتأطير مهام PCL
تم التغيير
- يحافظ PostScript وEPS على المحتوى المتجه للصفحات بينما تستخدم PCL وPWG Raster مُرمِّزات صفوف محدودة للتسليم المباشر إلى الخوادم والأجهزة المضمّنة
- تُولَّد تدفقات الطباعة دون فتح طابعة أو إظهار حوار طباعة أو إرسال عمل إلى بريمة الطباعة لنظام التشغيل
Version 3.417.0
مضاف
- تضيف
ExportPageSVGوExportPageSVGToFileتصدير صفحات قابلًا للتحجيم عبر عملاء Delphi وDLL وActiveX - يمكن لمخرجات SVG أن تشمل باستقلال المسارات المرسومة الأصلية والنص القابل للبحث وصور PNG المضمّنة وروابط التعليقات التوضيحية القابلة للنقر وخلفية صفحة شفافة
تم التغيير
- تحافظ مسارات الصفحات على تحويلاتها ومظهر التعبئة والحد وشفافيتها وأنماط خطوطها وقواعد التكافؤ الزوجي وحدود القص الفعلية دون تنقيط الصفحة الكاملة
- تُعالَج كل صفحة في تمريرات محدودة وتُنتج مستند SVG مكتفياً ذاتيًا دون أي اعتماد على صور خارجية
Version 3.416.0
مضاف
- تضيف
DrawSVGوDrawSVGFromFileوGetSVGWidthوGetSVGHeightتموضع متجهات SVG أصليًا وقياسه عبر عملاء Delphi وDLL وActiveX - يدعم رسم SVG صناديق العرض ومحاذاة نسب الأبعاد والمجموعات والتعريفات وإعادة الاستخدام والتحويلات والقص وأنماط CSS البسيطة والمضمّنة والشفافية والمسارات بأقواس القطع الناقص والأشكال القياسية من مستطيل ودائرة وقطع ناقص وخط وخط متعدد ومضلع
تم التغيير
- تُكتب هندسة SVG كمسارات PDF قابلة للتحجيم دون XObjects لصور نقطية، ويعيد القياس والرسم المتكرران استخدام شجرة SVG المحدودة الأحدث تحليلًا
- تُحَدُّ مدخلات SVG غير الموثوقة بحجم المصدر وعدد العناصر وعمق التداخل، ولا تُجري أي وصول إلى موارد خارجية، وتستخدم أول توقّف لوني بديلًا صلبًا حتميًا لخوادم رسم التدرّجات
Version 3.415.0
مضاف
- تضيف
DrawFormulaوGetFormulaWidthوGetFormulaHeightتخطيطًا رياضيًا متداخلًا عبر عملاء Delphi وDLL وActiveX - يدعم ترميز الصيغ الكسور المركّبة والأسس والاشتراكات المتزامنة والجذور التربيعية مع مؤشرات اختيارية والحروف اليونانية والرموز الرياضية الشائعة والمحارف المهرَّبة ومجموعات النص والتداخل المحدود
تم التغيير
- يستخدم نص الصيغ الخط المحدد وحجم النص واللون والتشكيل وسلسلة البدائل بينما تبقى قواعد الكسور والجذور محتوى متجهًا
- يعيد القياس والرسم المتكرران استخدام شجرة الصناديق المُحلَّلة والمُقاسة بينما يبقى المستند ومقياس القياس وحالة الرسام الكاملة دون تغيير
Version 3.414.0
مضاف
- تضيف
MarkdownToHTMLوDrawMarkdownTextوDrawMarkdownTextBoxوGetMarkdownTextHeightوGetMarkdownTextWidthوGetMarkdownTextLineCountتحويل Markdown مباشرًا وقياسًا ورسمًا ومتابعة محدودة الارتفاع عبر عملاء Delphi وDLL وActiveX - تدعم مدخلات Markdown عناوين ATX وsetext والفقرات والاقتباسات الجانبية والقوائم المرتّبة وغير المرتّبة وجداول الأنابيب مع المحاذاة والشيفرة المسوّرة والمزاحة والتوكيد والنص القوي والشطب والروابط والصور وروابط الويب التلقائية والتهريب وفواصل الأسطر الصلبة
تم التغيير
- يعيد قياس Markdown ورسمه المتكرران استخدام HTML المحوَّل وذاكرة تخطيط HTML المحدودة المؤقتة، بينما تبقى أقواس الزاوية الخام نصًا مهرَّبًا
- يعيد
DrawMarkdownTextBoxرمز متابعة معتمًا يقبله الأسلوب نفسه بحيث يمكن لحالة السطر المرسومة جزئيًا أن تتواصل على صفحة أخرى
Version 3.413.0
تم التغيير
- تتشارك قياس HTML ورسمه الآن خطط تخطيط محدودة تخزّن مؤقتًا التحليل وحل CSS وهندسة الأسطر والجداول والصور والخلفيات المنسّقة والروابط
- يمكن لاستدعاءات
GetHTMLTextHeightأوGetHTMLTextWidthأوGetHTMLTextLineCountالمطابقة تغذيةDrawHTMLTextدون تكرار عمل تحليل HTML أو تخطيطه
تم الإصلاح
- لم يعد قياس HTML بخلفيات نصوص منسّقة يكتب معاملات مستطيلات في تدفق محتوى الصفحة المحددة
Version 3.412.0
مضاف
- توفر
BeginDeferredPageLayerوEndDeferredPageLayerوComposeDeferredPageLayersوCancelDeferredPageLayersوGetDeferredPageLayerCountتركيبًا مؤجَّلًا لمؤشر z عبر عملاء Delphi وDLL وActiveX - تُعرض الطبقات السالبة أسفل محتوى الصفحة القائم، بينما تُعرض الطبقات الصفرية والموجبة فوقه بترتيب تسجيل مستقر لقيم مؤشر z المتساوية
تم التغيير
- تُحفَظ الطبقات المؤجَّلة ككائنات Form XObject بحجم الصفحة وتُركَّب عبر عملية تموضع واحدة لكل طبقة دون تحليل أوامر الرسم الخاصة بها أو إعادة تشغيلها
Version 3.411.0
مضاف
- توفر
SetPageHeaderFooterVariantوApplyPageHeaderFooterSetوClearPageHeaderFooterSetقوالب رؤوس وتذييلات جارية مسماة قابلة لإعادة الاستخدام بصيغ للصفحة الأولى والصفحات الفردية والصفحات الزوجية والصيغة الافتراضية - يمكن لصيغ الرأس والتذييل عرض نص عادي بالخط الحالي أو HTML غنيًا بقياس ارتفاع تلقائي وتوسيع متغيّرات لكل صفحة ومحاذاة وهوامش وشفافية عبر عملاء Delphi وDLL وActiveX
تم التغيير
- الرؤوس والتذييلات الجارية المولَّدة نتائج فرز صفحات اصطناعية، تحافظ على حالة الصفحة والرسّام لدى المستدعي، وتدعم صيغًا فارغة صريحة تمنع البديل في صفحات العنوان أو افتتاحيات الأقسام
Version 3.410.0
مضاف
- توفر
StartPageNumberChapterوAddPageNumberPlaceholderوResolvePageNumberPlaceholdersسير عمل بتمريرتين لأرقام صفحات المستند والفصول النهائية داخل نص المتن العادي - تدعم قوالب ترقيم الصفحات أرقام الصفحات الفعلية وإجماليات المستند النهائية وأسماء الفصول وأرقام الصفحات نسبةً إلى الفصل وإجماليات الفصول النهائية عبر عملاء Delphi وDLL وActiveX
تم الإصلاح
- تمرّر صناديق النصوص واسعة السلاسل الآن نصّها المزوَّد إلى محرك الالتفاف بدلًا من إنتاج صندوق فارغ
Version 3.409.0
مضاف
- تسند
AutoFitTableColumnsعروض أعمدة الجدول من محتوى الخلايا المنسّق مع مراعاة عرض جدول مضبوط وحدود لكل عمود يحدّدها المستدعي - يتشارك عملاء Delphi وDLL وActiveX السلوك نفسه للتحجيم التلقائي للجداول، بما يشمل قيود الخلايا المدمجة
تم التغيير
- يُبطل التحجيم التلقائي الناجح قياسات الصفوف المخزنة مؤقتًا، بينما تُبقي قيود العرض غير القابلة للتحقيق كل عمود قائم دون تغيير
Version 3.408.0
مضاف
- تُسيّر
DrawTextFlowColumnsمقطعًا محتفظًا به عبر عمود إلى 64 عمودًا متساوي العرض بمزاريب قابلة للتهيئة وموازنة اختيارية للمنطقة الأخيرة - يستطيع عملاء DLL وActiveX الآن إنشاء مقابض TextFlow ورسمها وقياسها وفحصها وإعادتها وإطلاقها عبر دورة الحياة العامة الكاملة
تم التغيير
- تستخدم الأعمدة المتوازنة أعداد أسطر مضبوطة عندما يتّسع المقطع المتبقي، بينما تحتفظ المناطق الفائضة بارتفاع العمود الكامل لأقصى سعة للصفحة
Version 3.407.0
مضاف
- يدعم عرض نصوص HTML الآن أوراق أنماط مضمّنة وCSS داخلية وعناوين وكتلًا هيكلية وجداول بامتدادات أعمدة وصورًا مرتبطة بالمستند
- تكشف
SetHTMLImageوClearHTMLImagesضوابط Delphi وDLL وActiveX مطابقة لمصادر صور HTML القابلة لإعادة الاستخدام
تم التغيير
- يتشارك قياس HTML ورسمه الآن التتالي المحلول وقرارات التخطيط، وتتواصل صفوف الجداول ذرّيًا عبر صناديق النص، وتحافظ حالة المتابعة على تنسيق CSS المتداخل
Version 3.406.0
مضاف
- يدعم TextFlow الآن الوصل التلقائي المحدود الواعي باللغة للإنجليزية والألمانية والهولندية والفرنسية والإسبانية والإيطالية والبرتغالية والروسية والتركية، بما يشمل وراثة اللغة من قيمة
/Langفي فهرس المستند - تكشف
SetTextFlowLanguageوSetTextFlowHyphenationضوابط Delphi وDLL وActiveX مطابقة للغة والحد الأدنى لأطوال السابقات أو اللواحق
تم التغيير
- يقيس قطع أسطر TextFlow الآن الكلمات الكاملة، ولا يستخدم بحثًا محدودًا إلا للرموز المتضخمة، ولا يعرض وصلات اختيارية لينة أو تلقائية إلا عند اختيار موضع القطع
Version 3.405.0
مضاف
- يحلّ البديل التلقائي للخطوط الآن عناقيد CJK والرموز والرياضيات والنصوص المعقّدة وemoji المفقودة عبر أوجه مثبتة مخزنة مؤقتًا مع الحفاظ على التشكيل وترتيب المرشحات ثنائية الاتجاه
- تكشف
SetAutomaticFontFallbackوAddFontFallbackوواجهات فحص سلسلة البدائل ضوابط Delphi وDLL وActiveX مطابقة
تم التغيير
- يتشارك رسم النص وقياس العرض الآن قرارات البديل الواعية بالعناقيد نفسها ولا يضمّن على نحو كسول إلا خطوط البدائل المختارة للمخرجات
Version 3.404.0
مضاف
- تُكتشَف المحارف المفقودة الآن كقيم Unicode قياسية في النص العادي والمشكَّل، وتُحفَظ في تقرير JSON محدود، وتُكشَف عبر عمليات استدعاء Delphi وDLL وActiveX
- يستطيع
SetMissingGlyphPolicyالحفاظ على سلوك الإسقاط والتقرير المتوافق أو رفض عملية نص قبل كتابة المحتوى بالخطأLastErrorCode 521
Version 3.403.0
مضاف
- تكشف
GetAPIScopeReportJSONوClearAPIScopeReportتشخيصات حتمية لوقت التشغيل وتدفقات المحتوى عبر واجهات Delphi وDLL وActiveX - تفشل الانتقالات غير الصالحة للمسار وحالة الرسوميات وتحديث الصفحة والمحتوى الموسوم والنماذج والأنماط والصفحات والمستند وإنهاء المخرجات فورًا الآن بالخطأ
LastErrorCode 117
Version 3.402.0
مضاف
- تكشف
AnalyzePageSkewJSONوDeskewPageوDeskewPageRangeانحراف دوران الصفحات الممسوحة وتصححه عبر واجهات Delphi وDLL وActiveX - يستخدم تحليل تصحيح الانحراف صورًا نقطية بدقة تكيفية محدودة وتقييمًا لملامح الأسطر من الخشن إلى الدقيق، بينما يحافظ التصحيح على محتوى PDF الأصلي ويقدّم وضع ملء الصفحة اختياريًا
Version 3.401.0
مضاف
- يتعرّف
DetectPageBarcodesJSONعلى الرموز الشريطية أحادية البعد وثنائية البعد من صفحة PDF كاملة أو منطقة صفحة محدودة ويعيد النص والتشفير والاتجاه والصلاحية ونقاط الزوايا والحدود بصيغة JSON حتمية - تُصيِّر عمليات مسح المناطق البكسلات المطلوبة فقط، وتحافظ على الصفحة المحددة، وتدعم أقنعة خيارات الصيغة وفكّ الترميز، وتكشف واجهات Delphi وDLL وActiveX مطابقة
Version 3.400.0
مضاف
- تحوّل
SaveDOCXToStreamوSaveDOCXToFileنطاقات صفحات PDF إلى فقرات WordprocessingML قابلة للتحرير مع عناوين مستنتَجة وقوائم نقطية ومرقّمة أصلية وجداول مكتشفة وتنسيق خطوط وفواصل صفحات وصور PNG موضعّة - يستخدم كاتب حزم DOCX الحتمي مدخلات Deflate خامّة مفحوصة بـ CRC دون أي تشغيل آلي لـ Office، ويكتب بيانات الصور كلما عولجت صفحة، ويحافظ على ترتيب الصفحات الصريح، ويعيد الصفحة المحددة في PDF
Version 3.399.0
مضاف
- تحوّل
ExportPageMarkdownوExportDocumentMarkdownمحتوى الصفحة الدلالي إلى فقرات Markdown مهرَّبة وعناوين مستنتَجة وقوائم مرتّبة أو غير مرتّبة وجداول أنابيب مع علامات صفحات اختيارية وتنسيق خطوط - تكتب
SaveMarkdownToStreamوSaveMarkdownToFileترميز UTF-8 صفحة بصفحة دون تخزين مخرجات المستند الكاملة مؤقتًا، بينما تكشف نقاط إدخال DLL وActiveX المطابقة سير عمل التصدير بالنصوص والملفات
Version 3.398.0
مضاف
- تنشئ
ExportPageHTMLوExportDocumentHTMLHTML5 مكتفياً ذاتيًا بنص موضعّد وصور PNG مضمّنة وروابط URI ومراسي صفحات داخلية - يحافظ تصدير المستند على ترتيب نطاق الصفحات الصريح، ويعيد الصفحة المحددة، ويُبقي نموذج استخراج صفحة واحدًا في كل مرة، ويكشف واجهات Delphi وDLL وActiveX مطابقة
Version 3.397.0
مضاف
- تحوّل
ExtractStructuredPageوExtractStructuredDocumentنص الصفحة إلى تراتبيات فقرات وأسطر وأمدة وجداول وصفوف وخلايا وتصدّر النموذج نفسه بصيغة JSON أو XHTML دلالي أو CSV للجداول المكتشفة - يحتفظ استخراج المستند بتراتبية صفحة واحدة في كل مرة، ويعيد الصفحة المحددة، ويكشف نقاط إدخال Delphi وDLL وActiveX مطابقة
Version 3.396.0
مضاف
- يقبل
ApplyOCRTextLayerبيانات JSON محايدة لمزوّد OCR ويُلحق نصًا غير مرئي مرشَّحًا بدرجة الثقة ومواءَمًا لصناديق الإحاطة يجعل الصفحات الممسوحة قابلة للبحث دون تغيير البكسلات المصيَّرة - توفر
OCRPageوOCRDocumentوOnOCRPageمسار OCR قابلًا للتوصيل صفحة بصفحة بذاكرة نقطية محدودة، بينما يستطيع مستدعو DLL وActiveX الجمع بين تصيير الصفحات القائم وApplyOCRTextLayer
Version 3.395.0
مضاف
- يقبل
AddImageFromFileوAddImageFromStreamالآن صور WebP؛ تكشف المكتبة حاوية RIFF/WEBP وتفكّ الترميز عبر GDI+ الذي يضمّن مُرمِّز WebP مدمجًا في Windows 10 1809 وما بعده
Version 3.394.0
مضاف
- يتيح
SetRenderTargetICCللمستدعي تقديم ملف تعريف ICC هدف بحيث تُمرِّر تحويلات ICC للمُصيِّر الألوان المصدرية عبر ملف تعريف CMYK للتجريب بدلًا من sRGB الافتراضي، ما يتيح المعاينة الناعمة لـ CMYK واستعراض مدى الألوان
Version 3.393.0
مضاف
- يمسح
OptimizeImagesكل صورة مضمّنة ويفكّ ترميزها ويعيد ترميزها بصيغة JPEG بجودة يحدّدها المستدعي ويستبدل التدفق الأصلي في موضعه فقط عندما يكون JPEG أصغر حجمًا قطعًا — ما يقلّص المستندات الممسوحة والصور غير المضغوطة تلقائيًا مع حماية الصور التي كان يمكن أن يتضخم حجمها
Version 3.392.0
مضاف
- يمسح
GetImageInfoJSONكل XObject للصور في المستند ويعيد بيانات وصفية لكل صورة (رقم الكائن، أبعاد البكسل، فضاء اللون، البتات لكل مكوّن، المرشّح) بصيغة JSON دون فك ترميز أي بيانات بكسل، بحيث يبقى تدقيق جردات الصور بتعقيد O(عدد الصور) في الذاكرة بدلًا من O(إجمالي بايتات الصور)
Version 3.391.0
مضاف
- تُستخرج صور JPEG2000 (JPXDecode) الآن بتمرير البايتات الأصلي متى دعم وضع الاستخراج ذلك، بما يحافظ على التدفق المضغوط الأصلي دون فك وإعادة ترميز، مطابقًا سلوك تمرير JPEG القائم
Version 3.390.0
مضاف
- تنشئ
NewMultiStopAxialShaderوNewMultiStopRadialShaderتدرّجات بأي عدد من توقّفات الألوان الداخلية في أي فضاء ألوان PDF (DeviceRGB وDeviceCMYK وDeviceGray وICCBased)، باستخدام دوال الوصل من النوع Type 3 لسلسلة استيفاء أسّي واحد من النوع Type 2 لكل مقطع - يحمل السجل الجديد
TPDFGradientStopموضعًا في[0,1]وقيم ألوان لكل مكوّن عند كل توقّف
Version 3.389.2
تم التغيير
- يخزّن تشكيل النصوص المعقّدة الآن SCRIPT_CACHE وHFONT وDC لكل خط طوال عمر المستند، فتبقى جداول cmap/GSUB/GPOS المحلَّلة للخط حية عبر استدعاءات
DrawShapedTextبدلًا من إعادة إنشائها وتحريرها في كل مرة
Version 3.389.1
تم التغيير
- يستخدم تحويل الأعداد العشرية إلى سلاسل في كتابة تدفقات المحتوى الآن حلقة أرقام مضمّنة مع جدول قوى العشرة محسوب مسبقًا بدلًا من المسار العام
Power+IntToStr+Insert، ما يقلّل الحمل على المعالج في توليد الرسوميات عالية الكثافة مع إنتاج مخرجات مطابقة بايتًا ببايت
Version 3.389.0
مضاف
- يقيّد
SetMemoryBudgetالذاكرة التي تستهلكها المستندات الكبيرة عبر سقف عتبة حجم التدفقات المفكوكة وذاكرة تدفقات الكائنات المضغوطة، مُبقيًا ذروة الذاكرة ضمن ميزانية يحدّدها المستدعي
تم التغيير
- تتخذ ذاكرة تدفقات الكائنات المضغوطة لقارئ الوصول العشوائي الآن 50 مدخلة افتراضيًا بدلًا من النمو بلا حد، فلم يعد لمس تدفقات ObjStm كثيرة يراكم المحتوى المفكوك إلى ما لا نهاية
Version 3.388.1
تم التغيير
- تُدخَل رموز أسماء PDF المُحلَّلة أثناء تحميل المستند الآن في مجمّع تجزئة لكل بنية، بحيث تتشارك ملايين الأسماء المكررة في المستندات الكبيرة صِيَرًا واحدة مُحصاة لكل اسم بدلًا من تخصيص سلاسل جديدة؛ وتُختصر عمليات البحث عن مفاتيح القواميس إلى مقارنات مؤشرات
Version 3.388.0
مضاف
- تُقلَّص خطوط CFF وOpenType-CFF والخطوط المفتوحة بمفاتيح CID الآن عند الحفظ عبر خدمة
CreateFontPackageنفسها التي يستخدمها تقليص TrueType، فلا تُضمَّن إلا المحارف التي رسمها تدفق المحتوى فعليًا، ويتقلّص حجم مستندات CJK وOTF تقليصًا كبيرًا - تحمل مخرجات CIDFontType0 المقلَّصة الآن تدفق
/CIDSetيعلن معرّفات CID المضمّنة، بما يلبي قاعدة PDF/A رقم 00032 وتوقعات القرّاء الملتزمين
Version 3.387.0
مضاف
- يُصيِّر
SetRenderBandingالصفحة شريطًا أفقيًا واحدًا في كل مرة في صورة نقطية قصيرة ثم يركّب الأشرطة في مخرجات بالحجم الكامل، فتحافظ الصفحات عالية الدقة والصيغ الكبيرة على ذروة ذاكرة محدودة بدلًا من تخصيص صورة نقطية عملاقة واحدة - يُبلِّغ
GetRenderBandHeightعن ارتفاع الشريط النشط، أو 0 عند تعطيل التقسيم إلى أشرطة - تكشف واجهات جديدة للتصيير المُشرَّط في Delphi وDLL وActiveX سير العمل عبر كل واجهة عامة
Version 3.386.0
مضاف
- يسجّل
SetDisplayListCachingتدفق محتوى الصفحة مرة واحدة في قائمة عرض قابلة لإعادة التشغيل، فتتخطى عمليات التصيير اللاحقة بأي تكبير أو دقة إعادة التقسيم إلى رموز؛ ويخزّن كل من كائنات Form XObject وإجراءات محارف Type 3 قائمة واحدة لكل منها - يُبلِّغ
GetDisplayListCacheInfoعمّا إذا كان التخزين مؤقتًا مفعّلًا مع عدد المدخلات وعدّادات الإصابة والخطأ بصيغة JSON، ويتخلّصClearDisplayListCacheمن التسجيلات ويسترد ذاكرتها - تكشف واجهات قوائم العرض الجديدة في Delphi وDLL وActiveX سير العمل عبر كل واجهة عامة
Version 3.385.0
مضاف
- يُصيِّر
StartRenderPageJobصفحةً في مهمة خلفية عبر نسخة معزولة، فلم تعد الصفحة الكبيرة قادرة على حجب خيط المضيف أثناء تصييرها - تقطع
PauseRenderJobوResumeRenderJobوCancelRenderJobصفحة واحدة قيد المعالجة عند حدود معاملات تدفق المحتوى عبر علم إلغاء تعاوني وبوابة إيقاف مدمجة في المُصيِّر - تُبلِّغ
WaitForRenderJobوGetRenderJobStateوGetRenderJobResultعن تقدّم المهمة ونتيجتها عبر رموزRENDER_JOB_STATE_* - تكشف واجهات مهام التصيير الجديدة في Delphi وDLL وActiveX سير العمل عبر كل واجهة عامة
Version 3.384.0
مضاف
- يفتح
DAOpenFromURLملف PDF بعيدًا عبر HTTP باستخدام طلبات نطاقات البايتات، فلا يجلب إلا الكائنات التي يلمسها القارئ فعليًا مع جلب مسبق لقسم الصفحة الأولى من المستندات الخطّية بحيث تُعرض الصفحة 1 أولًا - يفحص
GetLinearizedURLAccessPlanعنوان URL بعيدًا بطلب نطاق صغير واحد ويعيد تقرير JSON بالطول الإجمالي ودعم نطاقات البايتات والخطّية وعدد الصفحات وكائن الصفحة الأولى ونهاية قسمها وامتداد تدفق التلميحات والقائمة المدموجة لنطاقات البايتات التي تتطلبها الصفحة 1 - يكشف الخيار الجديد
PDF_NET_OPT_NO_WARMINGورموز الأخطاءPDFLIB_ERROR_NET_OPENوPDFLIB_ERROR_NET_RANGE_UNSUPPORTEDوPDFLIB_ERROR_NET_HTTPقراءة الشبكة عبر Delphi وDLL وActiveX
Version 3.383.0
مضاف
- تنشئ
SaveQDFToFileوConvertFileToQDFملفات PDF تشخيصية قابلة للتحرير البشري بتنسيق كائنات مقروء وتعليقات هوية الكائنات الأصلية وتدفقات المحتوى الشائعة الموسّعة وأطوال تدفقات غير مباشرة قابلة للإصلاح - يعيد
RepairQDFFileحساب أطوال التدفقات المحرَّرة ويعيد بناء بيانات المراجع المتقاطعة والمقاطع الختامية وstartxref، بما يشمل الإصلاح في الموضع - تكشف واجهات QDF الجديدة لـ Delphi وDLL وActiveX والخيار
PDF_QDF_OMIT_ORIGINAL_OBJECT_IDSسير العمل عبر كل واجهة عامة
Version 3.382.0
مضاف
- يفعّل
PDF_LINEARIZE_OBJECT_STREAMSحزم تدفقات كائنات محدودة وتدفق مراجع متقاطعة رئيسيًا مضغوطًا مع الاحتفاظ ببيانات المراجع المتقاطعة للصفحة الأولى المقروءة مباشرةً
تم التغيير
- يحافظ
SaveToFileOptionsالآن على حزم تدفقات الكائنات عند تفعيلLinearizeوPackObjectStreamsمعًا
تم الإصلاح
- يدعم
LinearizeFileالآن مساري إدخال وإخراج متطابقين دون بتر بايتات المصدر قبل أن تقرأها تمريرة الخطّية
Version 3.381.0
مضاف
- تدقّق
ValidateLinearizationFileوGetLinearizationValidationReportباستقلال قواميس Fast Web View ونطاقات التلميحات وجداول البتات وتبعيات الصفحة الأولى وحدود البايتات وعدّادات الصفحات ومدخلة المرجع المتقاطع الرئيسية
تم الإصلاح
- تكتب المخرجات الخطّية الآن جداول تلميحات لإزاحات الصفحات والكائنات المشتركة حتميةً بترتيب MSB-first مع متجهات محاذاة بايتات وأطوال صفحات دقيقة وإزاحات نسبية إلى التلميحات
- لم تعد جداول التلميحات المولَّدة تحوي عروض بتات عشوائية أو حقولًا بترتيب بايتات صغير الأس أو صفوف مجموعات مشتركة ناقصة أو إزاحات محتوى نائبة كان يمكن أن تجعل القرّاء الملتزمين يرفضون بيانات Fast Web View
Version 3.380.0
مضاف
- يمكن الآن ضغط تدفقات Flate الكبيرة وفكّها عبر كتل محدودة، بما يشمل الاستخراج المتدفق المباشر عبر
GetEmbeddedFileContentToStreamوGetEmbeddedFileContentToFile
تم التغيير
- يكتب حفظ التدفقات المشفّرة الكبيرة بـ RC4 وAES-CBC وAES-GCM الآن النص المشفّر إلى الوجهة مباشرةً بأطوال محسوبة مسبقًا بدقة بدلًا من تجسيد نسخ مؤقتة كاملة ثم فك تشفيرها
- تضغط عمليات استيراد الملفات المضمّنة الكبيرة تزايديًا في تدفقها المخزَّن وتحافظ عمليات الحفظ المشفّرة المتكررة على بايتات المصدر في الذاكرة وبيانات التدفق الوصفية
Version 3.379.0
مضاف
- تتيح
StartEditJournalوحدود المعاملات الصريحة والرجوع إلى الخلف والتراجع عن التحرير والإعادة وإعادة تعيين السجل واستعلامات الحالة والاسترداد بعد الانهيار لمستدعي Delphi وDLL وActiveX - تُلحق السجلات الدائمة حالات PDF وسجلات مؤشر مفصولةً بتواقيع تحقق مستقلة، وتدفع السجلات الكاملة إلى التخزين، وتسترد آخر إيداع كامل حين تكون كتابة ختامية ناقصة أو تالفة
تم التغيير
- تحافظ عمليات التراجع والإعادة والرجوع والاسترداد على مقبض المستند المحدد مع إبطال المقابض العابرة التي استُبدلت كائنات مستندها الكامنة
- ذاكرة التراجع محدودة بعدد الخطوات المضبوط، ولا تُسلسل اللقطات إلا عند حدود المعاملات، ولا تُكتب كلمات مرور المستندات إلى سجلات الاسترداد أبدًا
Version 3.378.0
مضاف
- يحوّل
ConvertTextToPathsنصوص الخطوط المحدّدة وبرامج محارف Type 3 إلى كائنات Form XObjects متجهة قابلة لإعادة الاستخدام عبر الصفحات المحددة والنماذج المتداخلة - يستطيع مستدعو Delphi وDLL وActiveX اختيار تحويل النماذج التكراري والتنظيف التلقائي لموارد الخطوط المصدرية
تم التغيير
- يحافظ المحتوى المحوَّل على تموضع النص والتباعد واتجاه الكتابة والتحويلات والألوان وإعدادات الحد مع إزالة معاملات عرض النص الأصلية
- تُرفض أنماط تصيير قص النص ونطاقات الموارد المشتركة الملتبسة قبل تعديل أي كائن في المستند
Version 3.377.0
مضاف
- يقبل
CopyPageRangesExالخيارPDF_COPY_PAGE_SMART_RESOURCESلإعادة استخدام الخطوط والصور وفضاءات الألوان والأنماط والتظليلات وحالات الرسوميات المكافئة الموجودة أصلًا في المستند الهدف - يسمّي
PDF_COPY_PAGE_KEEP_ORDERخيار تكرار الصفحات المرتّب القائم ويمكن دمجه مع النسخ الذكي للموارد
تم التغيير
- توحّد عملية نسخ الصفحات الذكية أرقام الكائنات وترتيب مفاتيح القواميس وإملاء الأرقام وأطوال التدفقات قبل التجزئة، وتؤكد كل تطابق بنيويًا، وتتخطى المخططات الدائرية أو الحساسة للهوية
- يطبّق
CollateDocumentsExالآن إعادة استخدام الموارد الدلالية عبر مستنداته المصدرية دون تخصيص مخططات موارد مكررة أولًا
Version 3.376.0
مضاف
- يزيل
TrimPageContentToCropBoxمرشحات النص الكاملة ذات المستوى الأعلى والمسارات المرسومة ومواضع الصور واستدعاءات Form XObject الكائنة كليةً خارج صندوق CropBox لصفحة - يلتقط
TPDFContentProgram.TraceGraphicsStatePairsحالات التعليمات قبلها وبعدها في إعادة تشغيل واحدة مع مواصلة متتبّع يملكه المستدعي عبر طبقات المحتوى - يستطيع مستدعو Delphi وDLL وActiveX تطبيق هوامش موقَّعة أثناء تقليم نزيف الصفحة وتقليص المحتوى المحتفظ به
تم التغيير
- يحافظ تقليم CropBox على الكائنات المتقاطعة أو غير المحلولة ومسارات القص وأنماط قص النص ودواخل النماذج المشتركة مع الحفاظ على تقدّمات النص النسبية بعد السلاسل المزالة
Version 3.375.0
مضاف
- يكشف
TPDFStructureعنDecodeMaxDepthوLastDecodeStatusوLastDecodePositionلتحليل الكائنات منخفض المستوى بحدود ولتشخيص دقيق للحدود
تم التغيير
- تُحلَّل مصفوفات وقواميس PDF الآن عبر مكدس حالات صريح محدود، بما يشمل المعاملات المتداخلة في تدفقات محتوى الصفحات
الأمان
- تُرفض الكائنات المباشرة غير الموثوقة الأعمق من حد الحاويات الافتراضي البالغ 256 قبل أن تستنزف مكدس الخيط
Version 3.374.0
مضاف
- تنشئ
AddType3Fontخطوط Type 3 قابلة للبرمجة بمصفوفات وحدود خط يحدّدها المستدعي - يكتب
AddType3Glyphبرامج رسوميات محارف مرمّزة بالبايتات مع مقاييس وترميز وعروض وخرائط استخراج Unicode تلقائية - يعرض
AddType3FontResourceالخطوط والصور وحالات الرسوميات والتظليلات وغيرها من الموارد غير المباشرة على برامج المحارف - يستطيع مستدعو Delphi وDLL وActiveX إنشاء خطوط Type 3 للرموز والأختام والأغراض الخاصة دون تثبيت أي برنامج خطوط خارجي أو تضمينه
تم التغيير
- تعيد تحديثات محارف Type 3 بناء جداول الخطوط المشتقة المضغوطة في موضعها مع الاحتفاظ بمقبض الخط الذي تستخدمه موارد الصفحات القائمة
Version 3.373.0
مضاف
- تتنقّل مؤشرات شجرة البنية بين الآباء والأبناء والأشقاء مع الاحتفاظ بهوية العناصر عبر عمليات الإصلاح وإعادة الترتيب
- تنقل
ReparentStructTreeCursorعناصر البنية أو تعيد ترتيبها وترفض الأبوة الذاتية أو دورات الأبناء - توحّد
NormalizeStructTreeمجموعات الأبناء وتصلح روابط الآباء وترقّي العناصر المباشرة وتزيل الحواف غير الصالحة أو المكررة أو الدائرية
تم التغيير
- يحافظ إصلاح شجرة البنية على ملكية المحتوى الموسوم وتعيينات شجرة الآباء مع جعل تحرير التراتبية آمنًا لعمليات الحفظ اللاحقة
Version 3.372.0
مضاف
- يعيد
EnumeratePageElementsمقابض مستقرة قصيرة العمر لمحتوى النص والصورة والمسار القابل للتحرير - يزيل
DeletePageElementكائنًا معدودًا مع الحفاظ على تموضع النص النسبي اللاحق - يكتب
TransformPageElementمصفوفة تحاكٍ حول الكائن المحدد دون تغيير المحتوى غير ذي الصلة
تم التغيير
- تتحقق مقابض العناصر القابلة للتحرير من بصمة المحتوى الأصلية وترفض التعديلات المتقادمة أو الملتبسة
Version 3.371.0
مضاف
- يبثّ
ExportObjectJSONالمقطع الختامي الكامل ومخطط الكائنات غير المباشرة إلى JSON مطبوع الأنواع حتمي قابل للعكس - يتحقق
ImportObjectJSONمن مخططات الكائنات ويدمجها أو يستبدل مجموعة الكائنات غير المباشرة الكاملة - تكشف
GetObjectJSONوSetObjectJSONفحصًا وتحديثات ذرّية لكل كائن عبر Delphi وDLL وActiveX
تم التغيير
- يحافظ JSON لمخطط الكائنات على الأسماء الثنائية ومفاتيح القواميس والسلاسل والتدفقات وأجيال المراجع والأنواع القياسية وترتيب أرقام الكائنات دون أي إكراهات JSON ملتبسة
Version 3.370.0
مضاف
- يوفر محمّل نموذج Arlington TSV المُصرَّف مقابض مستقرة قابلة لإعادة الاستخدام مع عدّادات التعريفات والقواعد
- يفحص التحقق النحوي الموجَّه بالنموذج مفاتيح الكائنات والمدخلات المطلوبة والأنواع والتوافر مع إصدارات PDF والمراجع المباشرة وغير المباشرة والقيم المسموحة والمخططات المرتبطة للكائنات
- تتحقق واجهات Delphi وDLL وActiveX من الملفات أو من مسارات تحقق مشتركة قائمة وتعيد قوائم تشخيص مهيكلة
تم التغيير
- يعيد التحقق النحوي استخدام التحليل المشترك وذاكرات الكائنات المؤقتة، ويختار الروابط الملتبسة بوسائط الكائنات، ويكبت الزيارات المتكررة لتعريفات الكائنات
Version 3.369.0
مضاف
- تفتح مسارات التحقق القابلة لإعادة الاستخدام ملف PDF وتحلّله مرة واحدة، ثم تُشغّل مهام PDF/A وPDF/UA أو تبني تقارير مدمجة على القارئ المشترك وذاكرة الكائنات المشتركة
- تكشف واجهات Delphi وDLL وActiveX إنشاء المسارات وتنفيذ المهام وتوليد التقارير وفحص عدد مرات التحليل والإطلاق الصريح
تم التغيير
- تتشارك
CreatePreflightReportوCreateValidationReportتحليلًا واحدًا وذاكرة كائنات كسولة واحدة عند اختيار فحوص توافق متعددة
Version 3.368.0
مضاف
- تسجّل
AddStructureNamespaceنطاقات أسماء بنية PDF 2.0 وتكتب قواميس/Namespaceمشتركة عبرStructTreeRoot/Namespaces - تعيّن
AddRoleMapNSأنواع بنية مخصّصة داخل نطاق أسماء واحد أو عبر النطاقات المسجَّلة - محدِّدات نطاقات الأسماء الافتراضية ولكل عنصر واستعلاماتها وتصديرات DLL وأساليب ActiveX تكشف سير العمل الكامل
تم التغيير
- تُسند أوضاع الوصول PDF/UA-2 وWTPDF تلقائيًا نطاق أسماء البنية القياسي لـ PDF 2.0 إلى عناصر البنية القائمة والمستقبلية غير المُسنَدة
- يحلّ
GetStructTreeItemTextسلاسل/RoleMapNSويعيد معرّف URI لنطاق أسماء العنصر عبر InfoID 9
Version 3.367.0
مضاف
- يفعّل
SetPDFUA2Modeبيانات PDF/UA-2 الوصفية وإصدارات PDF 2.0 ولغة المستند وضمانات المحتوى الموسوم وتفضيلات عرض العنوان - يعلن
SetWTPDFModeمستوى الوصول لـ WTPDF 1.0 أو مستوى إعادة الاستخدام أو كليهما مع الحفاظ على تصاريح PDF غير ذات الصلة - تكشف أدوات الجلب في Delphi وDLL وActiveX جزء PDF/UA النشط وقناع تصريح WTPDF
تم التغيير
- تتعرّف تشخيصات PDF/UA على الجزء 2، وتتطلب
pdfuaid:rev=2024، وتفرض الحد الأدنى لإصدار PDF 2.0
Version 3.366.0
مضاف
- تختار
SetCryptFilterConfigurationباستقلال تشفير سلاسل PDF والتدفقات العادية وتدفقات الملفات المضمّنة عبر/StrFو/StmFو/EFF - تكشف أدوات الجلب في Delphi وDLL وActiveX كل هدف تشفير معلَّق بينما يبقى الإعداد القائم بالملفات المضمّنة فقط متوافقًا
تم التغيير
- تستخدم تشفيرات AES بكلمة المرور والمفتاح العام وبصمة الإصبع سياسة مرشّحات تشفير واحدة، وترفض الإعدادات بلا هدف محمي، وتمنع تطبيق سياسات انتقائية على معالجات RC4
تم الإصلاح
- تستعيد بصمات التشفير الآن سجل التشفير الكامل وتحفظ عبر كاتب الكائنات العادي دون بتر بادئة البصمة أو تشفير محتوى الكائن مرتين
Version 3.365.0
مضاف
- يمكن للأغلفة غير المشفّرة بـ PDF 2.0 أن تحمل ملف PDF مشفّرًا كاملًا كمستند المجموعة الأولي المخفي مع بيانات وصفية قياسية للحمولة المشفّرة
- تنشئ واجهات Delphi وDLL وActiveX الحمولات المشفّرة وتتعرّف عليها وتفحصها وتستخرجها من ملف أو سلسلة ثنائية أو تدفق أو بيانات مصفوفة بايتات
تم التغيير
- يمنع إنشاء الغلاف التشفير الخارجي وPDF MAC، ويتحقق من أسماء المعالجات، ويتجنّب الكشف عن مسار المصدر، ويحافظ على بايتات الحمولة بدقة
Version 3.364.0
مضاف
- يتحقق
TPDFlibEUTSLTrustSourceمن تواقيع EU LOTL وقوائم TSL الوطنية بصيغة XML، ويكشف عن لقطات الخدمات الموثوقة، ويوفّر مراسي CA وTSA واعية بالوقت - يقبل
TPDFlibSignatureVerifierمصادر ثقة خارجية ويُبلِّغ عن حالة الشهادات المؤهلة والتواقيع الإلكترونية والأختام الإلكترونية وQSCD مع مصدر الخدمة
تم التغيير
- يفشل تحميل القوائم الموثوقة إغلاقًا عند الموقّعين غير المثبّتين والتواقيع المنفصلة أو الملتبسة والخوارزميات الضعيفة وتغيّرات البصمة وتضار الأقاليم والقوائم المتقادمة والمعايير المشوّهة ومدخلات الشبكة أو XML غير المحدودة
- عمليات تحديث TSL الكاملة معاملاتية، بينما تدمج محركات سلاسل الشهادات مراسي المصادر والمراسي اليدوية وتعيد استخدامها بحسب مراجعة القائمة الموثوقة ووقت التحقق
Version 3.363.0
مضاف
- يحمّل
TPDFlibPKCS11Clientوحدات PKCS #11 2.x و3.x، ويُعدّد الرموز، ويصادق المستخدمين، ويقارن الشهادات بالمفاتيح الخاصة، ويوقّع بصمات PDF دون تسجيل CSP أو KSP - تدعم أنواع الرموز والفتحات والآليات وجداول الدوال واستدعاءات الظهر التحميل المباشر للوحدات وقوائم الدوال المُدارة من التطبيق معًا
تم التغيير
- يبني توقيع RSA قيمة
DigestInfoالمطلوبة بصيغة DER قبل استخدامCKM_RSA_PKCSالخام، بينما يحوّل توقيع ECDSA مخرجات P1363 من الرمز إلى DER عند الطلب - أعمار الوحدات المشتركة والجلسات الدائمة ومسارات المصادقة المحمية والمصادقة لكل عملية وإعادات محاولة التوصيل الساخن المحدودة واستعادة الجلسات قبل العمليات تحسّن موثوقية HSM وإنتاجيته
Version 3.362.0
مضاف
- يكتشف
TPDFlibCSCClientبيانات اعتماد التوقيع البعيدة، ويحصل على بيانات تنشيط التوقيع المرتبطة بالبصمة أو الجاهزة مسبقًا، ويقدّم تواقيع بصمات مفردة أو دفعية عبر واجهة CSC API - يتوصّل العميل مباشرةً بـ
OnExternalDigestSign، فتعيد تواقيع RSA وECDSA/DER البعيدة استخدام بناء CMS القائم وتحديد حجم التوقيع ومسار التحقق بالمفتاح العام
تم التغيير
- يقبل ناقل HTTP المدمج ترويسات طلب يزوّدها المستدعي لمصادقة OAuth holder-of-key مع الإبقاء على حدود حجم الاستجابة ومهال الطور
- ترفض استجابات بيانات الاعتماد والتفويض والتوقيع الآن حقول JSON المكررة أو المشوّهة وبيانات X.509 أو Base64 غير الصالحة والخوارزميات غير المدعومة وأحجام الدفعات المتناقضة وبيانات التنشيط المتقادمة وانتهاكات ربط بصمة SCAL
Version 3.361.0
مضاف
- يشقّق
VerifyAdESHistoricalوVerifyAdESHistoricalByNameتلقائيًا أزمنة ضبط تاريخية موثوقة من طوابع التواقيع الزمنية وطوابع المستند الشاملة - يكشف
TPDFlibAdESHistoricalValidationReportعن نتائج السلسلة المطلوبة والفاعلة ومصدر الإثبات ووقته وتغطية الأرشفة وعدد الطوابع الزمنية والحالة الخاصة بكل فشل
تم التغيير
- يفشل التحقق التاريخي من الإبطال إغلاقًا ما لم يختم طابع زمني موثوق للمستند بأكمله أدلة DSS وVRI الحالية
- تُحوَّل أزمنة التحقق من الشهادات وOCSP الآن إلى وقت ملفات Windows بحساب مليثاني صحيح مضبوط، تفاديًا لانحراف الحدود عند انتقالات صلاحية الشهادات
Version 3.360.0
مضاف
- تنشئ
SetSignatureFieldSeedValueوAddSignatureFieldSeedCertificateوClearSignatureFieldSeedValueقيود/SVالقياسية لحقول التوقيع غير الموقّعة وتديرها - يُبلِّغ
GetSignProcessSeedValueErrorعن القيد المطلوب المحدد الذي منع التوقيع: المرشّح أو SubFilter أو البصمة أو السبب أو معلومات الإبطال أو الشهادة أو الإصدار أو قيد غير مدعوم
تم التغيير
- يفرض التوقيع الآن قيم بذرة حقل التوقيع المطلوبة بعد فتح الهوية المحددة وقبل تغيير الحقل أو وجهة المخرجات
- تفشل قيود قيم البذرة المطلوبة غير المدعومة إغلاقًا، بينما تُفرض القيم المسموحة المفصولة بفواصل منقوطة وشهادات الموقّعين المضبوطة بصيغة DER باتساق عبر واجهات Delphi وDLL وActiveX
Version 3.359.0
مضاف
- تُضمّن
AddSignProcessRevocationCRLوAddSignProcessRevocationOCSPمواد التحقق في الخاصية الموقَّعةadbe-revocationInfoArchivalلتواقيعadbe.pkcs7.detachedالتقليدية - تزيل
ClearSignProcessRevocationInfoكل مواد الإبطال الأرشيفية من عملية توقيع قبل إنتاج التوقيع
تم التغيير
- تُطبَّع قيم
BasicOCSPResponseالمجردة إلى بنىOCSPResponseناجحة، وتُزال تكرارات CRL المطابقة بالبايتات واستجابات OCSP المطبَّعة - تدعم خصائص الإبطال الأرشيفية من Adobe كلًّا من مسار Windows CryptoAPI ومسارات التوقيع الحديثة بـ RSA وECDSA وEd25519 وCNG والبصمة الخارجية
Version 3.358.0
مضاف
- يحدّد
SetSignProcessContentsEstimateحجم نائبات التوقيع من أساس CMS وسلسلة الشهادات المخزنة مؤقتًا ومواد CRL وOCSP المخططة ورمز RFC 3161 المتوقع وهامش أمان قابل للتهيئة - يُبلِّغ
GetSignProcessEstimatedContentsBytesعن سعة البايتات الخام المحاذاة المختارة لأحدث محاولة توقيع
تم التغيير
- تكتشف عمليات التوقيع الجديدة تلقائيًا مساحة إضافية لسلسلة الشهادات من الذاكرات المؤقتة المحلية وتطبّق هامشًا بنسبة 15 بالمئة قبل محاذاة سعة
/Contentsإلى مضاعفات 256 بايت - يستمد التوقيع بـ CNG وHSM والبصمة الخارجية الآن أحجام تواقيع RSA وECDSA وEd25519 من الشهادة العامة بدلًا من حجز حمولة موفّر ثابتة بـ 16 KiB
- لا يُجري التقدير التلقائي أي استرجاع من الشبكة ولا يستدعي مفتاحًا خاصًا أو استدعاء توقيع خارجيًا
Version 3.357.0
مضاف
- تبني
SetSignProcessAppearanceTemplateتخطيطات تواقيع مرئية قابلة لإعادة الاستخدام من نائبات الموقّع والسبب والموقع وجهة الاتصال والتاريخ والحقل والصفحة والنائبات المعرّفة من التطبيق - تضيف
SetSignProcessAppearanceVariableقيمًا مخصّصة غير حساسة لحالة الأحرف إلى عملية توقيع فردية ويمكنها إزالتها دون إعادة إنشاء العملية
تم التغيير
- تدعم قوالب التواقيع المرئية تنسيقات وقت التوقيع القابلة للتهيئة والأقواس الحرفية المهرَّبة مع الحفاظ على قواعد أسبقية الصورة والطابع الزمني للمستند القائمة
- يستخدم توسيع القوالب أحجام مدخلات محدودة وصِيَر مخرجات خطية مُستهلَكة زمنيًا بحيث لا تتحمّل التخطيطات الكبيرة القابلة لإعادة الاستخدام نسخًا متكررة للسلاسل الكاملة
Version 3.356.0
مضاف
- يستطيع
TPDFlibSignatureVerifierإضافة مراسي ثقة X.509 بصيغة DER أو من ملفات، والإبلاغ عن عدّها الخالي من التكرارات، ومسحها دون تغيير مخازن شهادات Windows
تم التغيير
- تقود مجموعة مراسي الثقة المخصّصة غير الفارغة الآن تحقق شهادة الموقّع وطابع RFC 3161 الزمني معًا عبر محرك جذور حصري في الذاكرة
- مسح المجموعة المخصّصة يعيد محرك الثقة الافتراضي للنظام إلى الفحوص اللاحقة
الأمان
- يستثني التحقق بالثقة المخصّصة مخزنَي
RootوTrustedPeopleفي Windows، بينما تبقى شهادات PDF وDSS المضمّنة مادة بناء سلاسل غير موثوقة
Version 3.355.0
مضاف
- تبني
SetSignProcessExternalDigestSignerوصيغتها الملفية تواقيع CMS منفصلة حول نتائج RSA أو ECDSA يزوّدها موقّع خارجي - توفر
OnExternalDigestSignوDLSetExternalDigestSignCallbackوSetExternalDigestSignCallbackأسطح استدعاء متزامنة لـ Delphi وDLL وActiveX لتكاملات HSM والتوقيع البعيد - يمكن لاستدعاءات ECDSA الخارجية إعادة تواقيع بصيغة DER أو قيم P1363
r || sثابتة العرض
تم التغيير
- لا يتلقى الموقّعون الخارجيون إلا البصمة النهائية لخصائص CMS الموثَّقة ويُستدعون مرة واحدة بعد اكتمال نطاقات بايتات PDF والخصائص
- يستخدم تحديد حجم النائب احتياطي التوقيع المضبوط دون استدعاء الموقّع الخارجي
- تفشل التواقيع الفارغة أو المتضخمة غير الممرَّرة الآن في عملية التوقيع بدلًا من كتابة قيمة
/Contentsفارغة أو مبتورة
الأمان
- يُتحقَّق من كل توقيع يعيده طرف خارجي في مواجهة شهادة X.509 المضبوطة قبل أن يمكن كتابته في ملف PDF
Version 3.354.0
مضاف
- توقّع
SetSignProcessCNGKeyوSetSignProcessCNGKeyFromFileبمفاتيح NCrypt مسماة من موفّري تخزين مفاتيح البرمجيات أو TPM أو الرموز العتادية أو السحابة دون تصدير أي مادة مفتاح خاص - يقبل
SetSignProcessCNGKeyByHandleمقبضNCRYPT_KEY_HANDLEيملكه المستدعي لسير عمل اكتشاف المفاتيح والسياسات المُدار من التطبيق - يتحكم
SetSignProcessPrivateKeyUIفي جواز عرض الموفّرين المرتبطين بالشهادات لواجهات PIN أو الموافقة أو الرمز أو الاعتماد السحابي
تم التغيير
- تستخدم مفاتيح CNG المسماة والمستعارة مسار توقيع NCrypt مباشرًا واحدًا لتواقيع RSA وECDSA المنفصلة عبر مجموعات بصمات SHA-1 وSHA-2 وSHA-3
- لم يعد تحديد حجم نائب توقيع CNG يُجري عملية مفتاح خاص تمهيدية، تفاديًا لتكرار مطالبات الرموز والاعتمادات البعيدة ومداخل التدقيق أو رسوم الموفّر
- يبقى التوقيع الصامت هو الافتراضي، بينما يزيل الوضع التفاعلي أعلام الاقتناء والتوقيع الصامتين ليستطيع الموفّرون الخارجيون إكمال مسار مصادقتهم
الأمان
- تُفحص هويات CNG الصريحة للتحقق من مجموعات خوارزميات متوافقة مع الشهادة ويُتحقَق من توقيع CMS المكتمل في مواجهة الشهادة المزوَّدة قبل قبوله
Version 3.353.0
مضاف
- يمكن توليد تواقيع PDF المنفصلة والتحقق منها بشهادات ECDSA P-256 وP-384 وP-521 باستخدام مجموعات بصمات SHA-1 أو SHA-2 أو SHA-3
- يقبل توقيع Ed25519 شهادة X.509 بصيغة DER مع بذرة خام أو مفتاح خاص PKCS #8 غير مشفّر عبر واجهات Delphi وDLL وActiveX
- يقبل
SetSignProcessDigestAlgorithmالخوارزميات SHA3-256 وSHA3-384 وSHA3-512 برموز 5 و6 و7
تم التغيير
- تستخدم التواقيع المنفصلة الحديثة باني CMS قياسيًا بمعرّفات خوارزميات بصمة وتوقيع متوائمة مع المعايير بدلًا من الاعتماد على معرّفات يختارها الموفّر
- يتحقق التحقق من التواقيع الحديثة من بصمة المحتوى المنفصل والخصائص الموقَّعة القياسية وهوية الموقّع المضمّنة وتوقيع المفتاح العام دون طلب دعم خوارزميات CryptoAPI القديمة
الأمان
- يرفض تحقق Ed25519 المقاديس غير القياسية وترميزات النقاط غير القياسية والمفاتيح صغيرة الرتبة وهويات الشهادات غير المتطابقة والخصائص الموقَّعة المعدَّلة
Version 3.352.0
مضاف
- تنشئ
EncryptPublicKeyمستندات AES-128 أو AES-256 Adobe.PubSecلعدة مستلمين بشهادات X.509 دون كلمة مرور مشتركة - يمكن تحميل المستلمين من DER أو PEM أو PKCS #12 PFX أو مخازن شهادات المستخدم الحالي أو مخازن الجهاز المحلي، ويمكن أن يتلقوا أقنعة أذونات PDF مستقلة
- تفتح بيانات اعتماد PFX ومخازن الشهادات المستندات المشفّرة بالمفتاح العام عبر واجهات تحميل الملفات والتدفقات والسلاسل العادية
- عدّادات المستلمين ومجموعات الأذونات وحالة المصادقة وضوابط دورة حياة بيانات الاعتماد متاحة عبر واجهات Delphi وDLL وActiveX
تم الإصلاح
- يحتفظ توليد مكتبة أنواع ActiveX الآن بأساليب PDF/UA وPDF الموسوم والنتائج الاصطناعية ولغة المستند والملفات المرتبطة القائمة مع إلحاق واجهات المفتاح العام دون تحريك خانات الواجهة الثنائية الراسخة
- يصل
DecryptFileإلى مسار إعادة كتابة AES-256 المباشر دون فحص مسبق بقارئ كامل للمستندات المشفّرة العادية مع استمرار التحقق من إشارات PDF MAC قبل إعادة كتابة المحتوى المحمي
الأمان
- يُتحقَّق من CMS EnvelopedData بتحليل DER محدود، وتُصادَق مجموعات أذونات المستلمين بحمولة البذرة المشفّرة الخاصة بها، وتُرفض الأغلفة الملتبسة أو المشوّهة برموز أخطاء مخصّصة
- يُجمَّع المستلمون المتشاركون الأذونات نفسها في غلاف واحد لتقليص حجم المخرجات وعمل اشتقاق المفاتيح مع الإبقاء على نقل المفاتيح الخاص بكل شهادة
Version 3.351.0
مضاف
- ينشئ
SetPDFMACEnabledرموز سلامة PDF MAC مستقلة للمستندات المشفّرة بـ AES-256 المراجعة 6 وAES-GCM، بما يشمل ملح اشتقاق المفتاح المطلوب وإشارة الأذونات ونطاقات البايتات وبيانات مصادقة CMS - تكشف
GetPDFMACStatusوValidatePDFMACنتائج التحقق عبر واجهات Delphi وDLL وActiveX
الأمان
- يُتحقَّق من المستندات المحمية تلقائيًا بعد مصادقة كلمة المرور وقبل كشف الصفحات؛ وتُرفض الرموز المفقودة وDER المشوّه والخوارزميات غير المدعومة والتغطية الناقصة وإخفاقات فك المفتاح والقيم المصادِقة المعدَّلة برموز أخطاء مخصّصة
- يحافظ
EncryptFileوEncryptFileExوDecryptFileالآن على ضمانات PDF MAC عبر تشفير مستوى الملف وسير عمل فك التشفير المُتحقَق منه
Version 3.350.0
مضاف
- تقبل
EncryptوEncryptFileوEncryptFileExالقوة 5 لإنشاء مستندات PDF 2.0 بتشفير مصادَق AES-GCM بسعة 256 بت وقواميس أمان المراجعة 7 وإعلان الامتداد ISO TS 32003 - تفتح مسارات القراءة وفك تشفير الملفات مستندات AES-GCM وتكشف الوضع الجديد عبر
EncryptionAlgorithmوGetEncryptionLevelوSecurityInfo
الأمان
- ترفض إخفاقات مصادقة AES-GCM الآن السلاسل أو التدفقات المعدَّلة وتجعل
DecryptFileيزيل أي مخرجات جزئية
Version 3.349.0
تم التغيير
- يرتّب
LinearizeFileالآن مخططات الكائنات الكبيرة بتمريرة دمج مستقرة بتعقيدO(n log n)ويجتاز التبعيات غير المباشرة بمكدس عمل صريح، تفاديًا للعمل التربيعي في الترتيب ولإطار استدعاء واحد لكل كائن متوصل إليه
تم الإصلاح
- يشمل قسم الصفحة الأولى الآن قواميس التعليقات التوضيحية ومظاهرها وإجراءاتها ومواردها المتوصل إليها، بما يتيح لعملاء Fast Web View عرض تعليقات الصفحة الأولى دون جلب كائنات من وراء حد الصفحة الأولى
Version 3.348.2
تم الإصلاح
- تُصرَّف المكتبة الآن دون تحذيرات أو تنبيهات في بناء Win64. كان مُبدِّئ تجزئة سلاسل FNV-1a يتجاوز نطاق
Integer، فانتقل مجمّعه إلىCardinalبنتيجة مقنَّعة مطابقة بايتًا ببايت، وأُزيلت عشر إسنادات أثبت المُصرِّف أنها لا تُقرأ أبدًا — إضافةً إلى متغيّر واحد غير مستخدم —. لم يتغير أي سلوك في وقت التشغيل
Version 3.348.1
تم الإصلاح
- يُصرَّف عنصر العرض مجددًا على Delphi XE5 وXE6. كان معالج DPI لكل شاشة يستخدم
WM_DPICHANGED، وهو ثابت رسالة لم تكنWinapi.Messagesتحمله قبل XE7، فتوقّفت مصفوفة بناء الإصدارات التجريبية — التي ما تزال تستهدف سلاسل الأدوات الأقدم — عندPDFlibViewer.pasبخطأ معرّف غير معلن. يُعلَّن الثابت الآن محليًا على المُصرِّفات التي لا توفره فقط، مع بقاء معالجة DPI في وقت التشغيل دون تغيير
Version 3.348.0
مضاف
- يحوّل
ConvertToPDFAمستندًا عاديًا إلى مستند أرشيفي في استدعاء واحد: يزيل ما يحظره الجزء المختار، ويضيف ما يفرضه الجزء، ويعلن الجزء الذي يدّعيه المستند، ثم يفحص النتيجة - لا يُبلَّغ عن تلبية الادعاء إلا عند نجاح الفحص. فالملف الذي يقول إنه أرشيفي وليس كذلك يمرّ عبر الأنظمة ذاتها التي كانت ستكتشفه لولا ذلك، لذا تأتي الحقيقة من الفحص لا من المحاولة
- يسرد
GetPDFAConversionReportما أُنجز، وحيث ما يزال المستند قاصرًا، ما يقف في الطريق
Version 3.347.1
تم الإصلاح
- يزيل
SanitizeDocumentالآن فعلًا لغة JavaScript التي يُبلِّغ عن إزالتها. كان يسأل قائمة الحزم عن مدخلة تسبق الأولى، فلا يحصل على شيء، ويتوقف قبل إزالة نص برمجي واحد — فظلّ مستند مرَّ بعملية تعقيم يشغّل نصوصه البرمجية عند فتحه - إزالة آخر نص برمجي تزيل الآن أيضًا شجرة الأسماء الفارغة التي يتركها وراءه، والتي كانت تظل تخبر القارئ بأن المستند يحمل نصوصًا برمجية
Version 3.347.0
مضاف
- يوفّق
RepairDocumentMetadataبين الموضعين الذين يقول فيهما ملف PDF من كتبه. يقرأ المدقّق معلومات المستند وحزمة XMP معًا ويرفض الملف الذي يختلفان فيه، ومعظم الملفات التي تفشل في هذه النقطة لم تُكتب نصفتها من XMP أصلًا - حيث يحمل نصف واحد قيمة فقط، يُملأ الآخر منها، فلا يُرمى شيء مسجَّل سابقًا
- يستعيد المستند المضبوط على وضع PDF/A تعريف معيارته إن فُقد، ويحدث ذلك كلما زوّد مستدٍ بحزمة من عنده؛ وبدونه يقرأ المدقّق الملف كـ PDF عادي ويُبلِّغ عن كل قاعدة في الجزء المدَّعى كغير ملبَّاة
- يعيد عدد المدخلات التي أُصلحت
Version 3.346.0
مضاف
- يحوّل
RecolorDocumentالآن التدرّجات التي يرسمها المستند. ينتقل فضاء ألوان التدرّج وتوقّفاته معًا، فيُقرأ التدرّج المحوَّل لونًا واحدًا لا قناةً يُظن أنها مستوى رمادي - تُكتشَف التدرّجات المكتوبة داخل النمط الذي يرسمها أو داخل موارد تظليل صفحة، مثلها مثل تلك المخصَصة لها كائن مستقل
تم التغيير
- يُترَك التدرّج المبني على دالة معيّنة أو PostScript كما هو، وكذلك أنواع الشبكات التي تحمل ألوانها في تدفق لا في دالة. فإعادة كتابة تلك عملية مختلفة عن تحويل لون
Version 3.345.0
مضاف
- يحوّل
RecolorDocumentالآن الصورة المفهرسة عبر تحويل جدول ألوانها، تاركًا كل عيّنة تحمل الفهرس الذي كانت تحمله. تتحول مثل هذه الصورة أيًّا كانت طريقة حزم عيّناتها أو ضغطها، بما يشمل صور اللوحات التي تُحفظ بها عادةً لقطات الشاشة أو المخططات
Version 3.344.0
مضاف
- يحوّل
RecolorDocumentالآن الصور التي ترسمها الصفحة إلى جانب الألوان التي يضبطها، فلم يعد مستند حُوّل إلى الرمادي يعرض صورًا ملونة على صفحات رمادية - تُترَك الأقنعة الناعمة وأقنعة القوالب وشأنها. فكلتاهما تُقرأ تغطيةً لا لونًا، وتحويل إحداها كان سيجعل الصفحة تعرض القناع كصورة
تم التغيير
- تُحوَّل الصورة حين تحمل ثماني بتات لكل مكوّن وفضاء ألوان جهازيًا، وبلا ضغط أو بضغط Flate صرف. فصورة JPEG أو فاكس كانت ستتطلب إعادة ترميز، وهي عملية مختلفة عن تحويل ألوانها، لذا تحتفظ تلك ببايتاتها الخاصة
Version 3.343.0
مضاف
- انقل مستندًا كاملًا، أو صفحة واحدة، إلى فضاء ألوان واحد. تقبل
RecolorDocumentوRecolorPageالقيمة 1 للرمادي و2 لـ RGB و3 لـ CMYK، وتعيد عدد الألوان المحوَّلة - مفيدة قبل إرسال عمل إلى مطبعة تتوقع فضاءً واحدًا، أو لتحويل مستند ملون إلى رمادي دون إعادة رسمه. تُترَك الهندسة والنص والصور تمامًا كما كانت؛ لا يتغير إلا معاملات الألوان
- يُترَك اللون المضبوط أصلًا في الفضاء الهدف وشأنه، فتحافظ الصفحة التي لا تحتاج ألوانها إلى تغيير على بايتاتها الأصلية
- تُترَك الألوان المضبوطة عبر فضاء ICCBased أو Separation أو Indexed أو Pattern كما هي. فتحويل تلك دون قراءة ملفات تعريفها كان سيغيّر مظهر الصفحة بدلًا من الحفاظ عليه
Version 3.342.0
مضاف
- أرشفة PDF/A-4، جزء المعيار المبني على PDF 2.0. تقبل
SetPDFAModeثلاثة أوضاع جديدة: 9 لـ PDF/A-4، و10 لـ PDF/A-4e الذي يجيز إضافيًا الوسائط ثلاثية الأبعاد والغنية، و11 لـ PDF/A-4f الذي يجيز ملفًا مضمّنًا بأي صيغة - يُعرَّف مستند الجزء 4 بالطريقة التي يطلبها المعيار: برقم الجزء وسنة نشر ذلك الجزء، بلا حرف توافق لـ PDF/A-4 الصرف وبالحرف E أو F للامتدادين
- كل ملف مضمّن في مستند من الجزء 4 يصرّح بعلاقته بالمستند، كما يفرض الجزءان 3 و4 معًا
تم التغيير
- يتعرّف فحص PDF/A على الجزء 4، ويحكم على ملفاته في مواجهة PDF 2.0 بدلًا من 1.7، ويُبلِّغ عن ملف من الجزء 4 لا يصرّح بسنة مراجعته
Version 3.341.2
تم الإصلاح
- تصرّح مستندات PDF/A-3 وPDF/UA الآن بكيفية ارتباط كل ملف مضمّن بالمستند. كانت العلاقة تُكتب للمرفقات بعد الأول فقط ولا تُكتب للأخير أبدًا، فكان المستند ذو المرفق الواحد — وهو الحال المألوفة — لا يحمل أي علاقة ويفشل في التحقق عند هذه النقطة
- لم يعد تقرير PDF/UA يغفل آخر ملف مضمّن عند فحص وجود العلاقة
Version 3.341.1
تم الإصلاح
- يقرأ فحص PDF/A الآن علامة المعايير التي يحملها الملف. كان لا يستطيع، فكان كل ملف يُحكم عليه وفق الجزء 1 مهما صرّح: فمستند PDF/A-2 أو PDF/A-3 صالح كان يُبلَّغ عنه بأنه لا يحمل علامة وأن إصداره أعلى من اللازم، وهو عكس الحقيقة
- تُقرأ العلامة سواء كتبها المنتِج عنصرًا أو خاصية. فكلاهما XMP عادي، وقبول صيغة واحدة فقط كان يجعل ملفات من منتِجين آخرين تبدو غير معلَّمة
Version 3.341.0
تم الإصلاح
- يستخدم النص العمودي الآن الصورة العمودية لكل محرف. فالأقواس وعلامة المد الطويل والكانا الصغيرة تُرسم بشكل مختلف حين يجري النص في الصفحة نزولًا، والخط نفسه يسمّي تلك الصور؛ حتى الآن كانت الصور الأفقية تُرسم، فتظل الأقواس راقدة عبر العمود بدلًا من الوقوف على طوله
- تُؤخَذ الصور من ميزة الخط العمودية نفسها، فيقدّم كل وجه ما رسمه مصمّمه لا بديلًا مُخمَّنًا من المحرف
- يقيس
GetVerticalTextHeightالصور التي ستُرسم، فيبقى عمودٌ تتغيّر أشكال محارفه مقيسًا قياسًا صحيحًا - الوجه الذي لا يسمّي أي صور عمودية يُرسم تمامًا كما كان من قبل
Version 3.340.0
مضاف
- الكتابة العمودية، للنص الياباني والصيني المنظّم نزولًا في الصفحة. يفعّل
SetVerticalWritingModeهذا الوضع فتسري عندئذ استدعاءاتDrawTextالعادية نزولًا؛ ويُبلِّغGetVerticalWritingModeعنه. كان ضبط النص عموديًا سابقًا يعني تموضع كل محرف يدويًا - يمرّ النص المرسوم بهذه الطريقة عبر خط Type0 في وضع كتابة عمودي يحمل مقاييس الوجه العمودية نفسها، فيقدّم القارئ كل محرف بالمسافة التي قصدها مصمّمه لا بخطوة موحّدة، ونسخ النص خارجه يعيد المحارف الأصلية
- الوجه الذي لا يحمل مقاييس عمودية خاصة به يقدّم محرفًا واحدًا لكل em، وهو ما يفعله القارئ بالقيمة الافتراضية
- يُبلِّغ
GetVerticalTextHeightعن المسافة التي سيجريها نصّ ما نزولًا في الصفحة قبل رسمه، وترسمDrawVerticalTextمرشحة واحدة عموديًا دون تغيير الوضع - تُفصَل الصورتان الأفقية والعمودية لوجه واحد، فتستطيع الصفحة حملهما معًا دون أن تُزعج إحداهما الأخرى
Version 3.339.0
مضاف
- يغطّي الوسم التلقائي الآن الجداول. عند تفعيل بت الجداول الجديد، تحمل
DrawTableRowsالجدول وصفوفه وخلاياه إلى شجرة البنية، فيستطيع القارئ قول أيّ عمود تقع فيه قيمة بدلًا من قراءة الجدول كله كسلسلة نص لا رابط بين أجزائه - تسمّي
SetTableHeaderRowCountكم صفًا أماميًا يُعد رؤوسًا، ويُبلِّغGetTableHeaderRowCountعنها. تُكتب تلك الصفوف خلايا رؤوس تحمل نطاق عمود، وهو ما يمكّن القارئ من تسمية العنوان الخاص بالقيمة التي يقف عليها - صفوف الرؤوس المسماة بهذه الطريقة تبقى في مواضعها. ويبقى تكرارها في أعلى كل صفحة قرار تخطيط يُتخذ عبر
DrawTaggedTableRows
تم التغيير
- يغطّي
AUTOTAG_DEFAULTالآن الجداول إلى جانب النص وعناصر الصفحة الثابتة والأشكال. وتمرير الوضع كرقم يُبقيه على معناه المعتاد
Version 3.338.0
مضاف
- يغطّي الوسم التلقائي الآن الصور. عند تفعيل بت الأشكال الجديد، تصبح الصورة المرسومة شكلًا في شجرة البنية، فيصل القارئ إليها بدلًا من المرور عليها صامتًا
- تمنح
RegisterFigureالوصف الذي تحمله الصورة التالية. يقرأ القارئ ذلك الوصف مكان الصورة، وهو كل ما يحصل عليه قارئ غير مبصر منها - تقول
RegisterDecorationإن الصورة التالية مسطرة أو حد أو خلفية لا تحمل معنى، فتُرسم داخل نتيجة اصطناعية تخطيطية يتخطاها القارئ بدلًا من إعلان صورة لا تقول شيئًا - يُستهلك كلٌّ من الإعدادين على صورة واحدة، فلا ترث صورة لاحقة وصفًا أُعدّ لصورة سابقة
تم التغيير
- يغطّي
AUTOTAG_DEFAULTالآن الأشكال إلى جانب النص وعناصر الصفحة الثابتة، فطلب الافتراضي يطلب الثلاثة معًا. وتمرير الوضع كرقم يُبقيه على معناه المعتاد - العنوان المسجَّل بـ
RegisterHeadingينتظر الآن النص الذي يسمّيه. فالصورة المرسومة بينهما تصبح شكلًا وتترك العنوان للنص الذي يليها، بدلًا من أخذ مستوى العنوان لنفسها
Version 3.337.1
تم الإصلاح
- يُوسَم المستند المبني بـ
BeginTagوحدها الآن كموسوم. حتى الآن كان مثل هذا الملف يحمل شجرة بنية كاملة لا ينظر إليها قارئ، لأن القارئ يعدّ المستند غير موسوم ما لم يقل الفهرس غير ذلك (ISO 32000-1 §14.7.1)؛ وكانت التقنيات المساعدة تعلن الصفحة كأن لا بنية فيها إطلاقًا - لا تُضاف العلامة إلا عند كتابة شجرة بنية فعلًا، فيبقى المستند بلا وسوم مُبلَّغًا عنه كغير موسوم، ويُترَك إعداد
SetMarkInfoالذي ضبطه المستدعي كما هو
Version 3.337.0
مضاف
- الوسم البنيوي التلقائي. تفعّل
SetAutoTagModeوضعًا يحمل فيه الرسم العادي بنيته الخاصة: يصبح النص فقرة، ويصبح النص المرسوم مباشرةً بعدRegisterHeadingعنوانًا بذلك المستوى، وتصبح الرؤوس والتذييلات الجارية نتائج اصطناعية يتخطاها القارئ. كان إنتاج مستند متاح سابقًا يعني تغليف كل استدعاء رسم يدويًا بـBeginTagوEndTag - تفعيل الوضع يوسم المستند أيضًا كموسوم، وهو ما يحتاجه القارئ قبل أن يعامل البنية كحاضرة أصلًا
- ينحّي الوسم التلقائي نفسه داخل وسم فُتح يدويًا، فيستطيع المستدعي وصف جزء من المستند وترك الباقي للمكتبة، دون أن يتداخلا أحدهما في الآخر
- لا يُوسَم شيء داخل نتيجة اصطناعية، والنص الفارغ لا يفتح عنصرًا، فلا يمكن لأيهما إنتاج عنصر بنية يعلنه القارئ فارغًا
Version 3.336.0
مضاف
- تدفّق النص، لإجراء مقطع واحد عبر عدة صناديق أو أعمدة أو صفحات. تأخذ
NewTextFlowالنص وتملأDrawTextFlowصندوقًا بما يتّسع، تاركةً التدفق عند أول كلمة لم تستطع أخذها، فيكمل الصندوق التالي من هناك بالضبط - يُبلِّغ
MeasureTextFlowعن عدد الأسطر التي يحتاجها النص المتبقي عند عرض معيّن دون رسم أي شيء، فيمكن تحجيم التخطيط قبل الالتزام به - الصندوق الذي لا يتسع لسطر لا يأخذ شيئًا ويترك التدفق دون مساس، فعرضُ صندوقٍ لا يفقد نصًا أبدًا
- تُبقي
SetTextFlowMinLinesعددًا مضبوطًا من الأسطر مجتمعة: الصندوق الذي لا يستطيع أخذ أقل منها لا يأخذ شيئًا ويدفعها إلى ما بعده، بدلًا من عزل سطر واحد في أسفل عمود - تُبلِّغ
GetTextFlowRemainingوTextFlowFinishedوRewindTextFlowعن التقدّم وتعيد ضبطه؛ كان رسم صندوق سابقًا يُسقط ما فاض دون سبيل لمعرفة ما فُقد
Version 3.335.0
مضاف
- جدول محتويات تلقائي. تُسجَّل العناوين عبر
RegisterHeadingأثناء كتابة المتن، ثم ينسّقهاDrawTOCلاحقًا: كل مدخلة مزاحة بحسب مستواها، وسلسلة نقاط تمتد حتى رقم صفحة محاذى لليمين، والصف كله رابط إلى العنوان - يتذكّر العنوان الموضع الذي يشير إليه لا رقم الصفحة الذي كان له، فإدراج صفحة المحتويات أمام المتن المكتمل — وهو ما يعيد ترقيم كل صفحة تشير إليها — يُبقي كل مدخلة وكل رابط صحيحًا
- يُبلِّغ
MeasureTOCعن عدد الصفحات التي يحتاجها الفهر قبل رسم أي شيء، ويعيدDrawTOCعدد المدخلات التي وضعها، فيُرسم الفهر الأطول من صفحة واحدة بالاستدعاء مجددًا مع العدد الموضوع سابقًا - تحوّل
PopulateOutlineFromHeadingsالعناوين نفسها إلى إشارات مرجعية للمستند متداخلة بحسب المستوى - العنوان الأوسع من المساحة التي يتركها رقم صفحته يُختصر محرفًا محرفًا ويُمنح علامة حذف، بدلًا من السماح له بالامتداد تحت الرقم
Version 3.334.1
تم الإصلاح
- كان اختيار صفحة بعد إدراج صفحات قبلها يصل إلى الصفحة التي كانت تحمل ذلك الرقم قبل الإدراج، فقد كان رسم مقدمات في مستند قائم يكتب على صفحة متن خاطئة. يتبع اختيار الصفحات الآن الترقيم الجديد
Version 3.334.0
مضاف
- يجيب
GetSignatureModificationVerdictعن السؤال الذي يطرحه القارئ فعلًا بشأن مستند موقّع: هل التحديثات المُلحقة بعد هذا التوقيع مما يسمح به مستوى اعتماده؟ يحمل التوقيع الاعتمادي مستوى أذونات، وتفحص الحقيقة كل مراجعة لاحقة في مواجهته، فيُقرأ إلحاق مواد تحقق كمسموح بينما لا يُقرأ إعادة كتابة صفحة كذلك - يُبلِّغ
GetSignatureEffectiveMDPLevelعن المستوى الساري ويسمّيGetSignatureModificationDetailالمراجعة ونوع التغيير الكامن وراء الإجابة - تميّز الحقيقة بين "لم يُلحق شيء" و"تغييرات مسموحة فقط" و"شيء غير مسموح" و"تعذّر التحديد" و"التوقيع لا ينتهي عند حد مراجعة". والأخير يعني أن بايتات تقع داخل النطاق الذي يدّعي التوقيع تغطيته
- لا يُبلَّغ عن الشك باعتباره موافقة أبدًا: اعتماد تعذّر التحقق من بنيته، أو قفل حقل يتعذّر تتبّع حقوله المتأثرة، أو مراجعة تحمل شيئًا غير مقروء، أو بايتات وراء النطاق الموقّع لا تكوّن مراجعة يمكن التعرف عليها، كلها تُبلَّغ غير محدَّدة لا مسموحة
تم التغيير
- تُبلَّغ المصفوفة غير المباشرة التي لا يفسّرها شيء الآن غير محدَّدة لا دفترية. فقائمة تعليقات صفحة أو محتواها مصفوفة، وإعادة كتابة إحداها تغيّر ما يعرضه المستند مع ترك كل قاموس دون مساس
Version 3.333.0
مضاف
- فحص المراجعات التزايدي. يغطّي التوقيع وحدات بايت المراجعة التي كُتب فيها، وكل ما يُلحق بعدها هو تحديث مستقلّ يقرّر محتواه ما إذا كان التوقيع لا يزال ساريًا للمستند في حالته الحالية. يرتّب كلٌ من
GetDocumentRevisionCountوGetDocumentRevisionStartوGetDocumentRevisionEndتلك المراجعات، ويُخبرGetSignatureRevisionIndexبأيّها ينتهي التوقيع - تُبلِّغ
GetDocumentRevisionKindعمّا فعله تحديثٌ ما، باعتباره الأشدّ تأثيرًا بين الكائنات التي لمسها: حفظ دفتري، مواد تحقق، طابع زمني للمستند، توقيع، حقل نموذج، تعليق توضيحي، أو محتوى المستند. لذا لم يعد إضافة مواد تحقق للتحقق طويل الأمد يبدو كتحرير المستند - تسرد
GetDocumentRevisionChangesكل كائن أضافه التحديث أو غيّره أو حذفه، مع ما هو عليه كلٌّ منها، ولقاموس مُغيَّر أيّ مفاتيح تختلف فعليًا - تُبلِّغ
GetDocumentRevisionsCompleteعمّا إذا كان التاريخ بأكمله قابلًا للاسترداد. تترك سلسلة مقطوعة أو دائرية أو أطول مما سيتبعه القارئ أقدم التحديثات غير مرئية، وعندئذ تكون العدّات حدًا أدنى لا إجابة - يُبلَّغ عن الكائن الذي لا يمكن قراءة نسخته السابقة، أو لم تُقارَن هيكلته مطلقًا، باعتباره غير محدّد بدلًا من كونه غير ضار: التحديث الذي يعيد كتابة صفحة تاركًا قاموسها دون مساس لا يُختلَط عليه بأنه إعادة تعبئة
Version 3.332.0
مضاف
- تُرقّي
ApplyPAdESLongTermValidationملف PDF موقّعًا بالفعل إلى PAdES-B-LT في استدعاء واحد. إذ تبني مسار شهادة الموقِّع من التوقيع نفسه، وتجمع مواد OCSP وCRL لكل ربطة عبر العناوين التي تسمّيها الشهادات، وتكتب الشهادات وبيانات الإبطال إلى مخزن أمان المستند مع إدخال VRI للتوقيع، في تحديث تزايدي واحد. تكتبApplyPAdESLongTermValidationToStreamالنتيجة إلى دفق بدلًا من ملف - يمكن ضبط السلوك عبر قناع خيارات
PADES_LTV_*: هل يُكتب إدخال VRI، هل تُسأل مجيبات OCSP، هل يُرجع إلى CRLs، هل تُتبع عناوين المُصدِرين لإكمال المسار، وهل يُتخطّى التحقق من الإبطال لجذر مُصدَّر ذاتيًا - يعالج اسم حقل فارغ كل توقيع في مراجعة واحدة؛ أما الحقل المُسمّى فيعالج ذلك التوقيع وحده
- تُبلِّغ
GetPAdESLTVCertificateCountوGetPAdESLTVCRLCountوGetPAdESLTVOCSPCountوGetPAdESLTVErrorعمّا جمعه الاستدعاء الأخير ولماذا توقف مبكرًا، لذا تظهر النتيجة الجزئية عبر مُجيبة يتعذّر الوصول إليها بدلًا من أن تُتجاهل بصمت - تُكتب المواد المطابقة لما هو مُرحَّل بالفعل مرة واحدة ويُشار إليها بكل توقيع يحتاجها، ويُبلَّغ عن التوقيع الذي لا يحمل شهادة قابلة للقراءة بدلًا من تمريره على أنه ترقية ناجحة
Version 3.331.0
مضاف
- يحمل التوقيع مسار الشهادة الخاص به، لذا يمكن قراءة المواد التي يحتاجها ملف تعريف التحقق طويل الأمد من الملف الموقّع وحده. ترجع
GetSignatureSignerCertificateDERوGetSignatureEmbeddedCertificateCountوGetSignatureEmbeddedCertificateDERالشهادات التي يضمّنها التوقيع، بينما يرتّب كلٌ منGetSignatureCertificateChainLengthوGetSignatureCertificateChainDERإيّاها في مسار يمتد من الموقِّع نحو الخارج - ترجع
GetSignatureContentsHashHexالمفتاح الذي يُعنوَن به إدخالAddPAdESDSSVRI، محسوبًا من التوقيع نفسه - تُطابَق شهادة الموقِّع سواء حدّدها التوقيع بالمُصدِر ورقم التسلسل أم بمُعرّف مفتاح الموضوع، ويتوقف المسار عند آخر مُصدِر يحمله التوقيع فعليًا بدلًا من ادّعاء الاكتمال
تم الإصلاح
- يرفض قارئ DER طول عنصر مُصرَّحًا به أكبر من البيانات بدلًا من ترك قيمة قريبة من الحد الأقصى تلتفّ على فحص حدودها، كما لم يعد تجوّل امتدادات الشهادة يقرأ بعد نهاية شهادة مقطوعة أو طويلة جدًا. كلاهما قابل للوصول من مستند مُجهَّز، لذا تبقى الوصولات أعلاه آمنة على مدخلات غير موثوقة
- تقرأ وصولات التوقيع المستند عبر مقبض مشترك، لذا فإنها تجيب بينما يفتح مُتحقِّق أو عارض الملف بالفعل بدلًا أن تفشل وكأن التوقيع غائب
Version 3.330.0
تمت الإضافة
- طلبات حالة OCSP. تُرمِّز
BuildOCSPRequestطلباً وفق RFC 6960 لشهادة ومصدرها، وترسلFetchOCSPResponseالطلب إلى المستجيب وتعيد الرد، وتقومAddPAdESDSSOCSPFromCertificatesبالأمرين معاً وتؤرشف النتيجة في مخزن أمان المستند - عنوان المستجيب اختياري: عند حذفه يُستخدم العنوان الذي تسميه الشهادة نفسها، فلا يحتاج المستدعي الذي يملك سلسلة الشهادات إلى أي تهيئة إضافية
- يُرفض زوج شهادات لا ينتميان معاً فعلاً قبل إرسال أي شيء، بدلاً من الحصول على إجابة "unknown" التي يكسبها مثل هذا الطلب من المستجيب وتُقرأ وكأنها مشكلة إبطال
- لا يُحفظ إلا الرد الناجح؛ ويُبلَّغ عن مستجيب أجاب بـ
tryLaterأوunauthorizedعبرGetTimeStampErrorبدلاً من أرشفته وكأنه إجابة حالة
Version 3.329.0
تم الإصلاح
- لم تعد إعادة استخدام مصفوفة نتائج واحدة عبر استدعاءات التعداد المتعاقبة تسرّب السلاسل المحفوظة في خانات المصفوفة التي لا يملؤها استدعاء لاحق. كان هذا يؤثر على النمط الموثق المتمثل في «استدعاء مرة للحصول على العدد، ثم تغيير الحجم، ثم الاستدعاء مجدداً» كلما أعاد استدعاء لاحق عناصر أقل مما تتسع له المصفوفة، ويتراكم النص المتروك طوال عمر العملية
- تشمل نقاط الدخول المتأثرة
EnumPageContentStatesوEnumPageContentStatesExوEnumAttachmentsوEnumDocumentFontsوEnumPageElementsوEnumNamedDestinationsوEnumSignaturesوEnumFormFieldsوGetFormValuesوGetTextInAreaEx، واستدعاءات البحث النصي وإجراءات حقول النماذج وتعداد الشهادات
تم التغيير
- يُمرَّر معامل مصفوفة النتائج لتلك الاستدعاءات الآن كـ
varبدلاً منout. تُترجم شفرة Delphi وC++Builder القائمة وترتبط دون تغيير؛ والفرق الظاهر الوحيد هو أن خانات المصفوفة التي تتجاوز العدد المعاد تحتفظ بما كانت تحمله بدلاً من أن تُفرَّغ بصمت
Version 3.328.0
تمت الإضافة
- تُخبر الشهادات المكتبة الآن أين يمكن التحقق من حالتها: تقرأ
GetCertificateOCSPURLsوGetCertificateIssuerURLsوGetCertificateCRLURLsعناوين المستجيب وشهادة الإصدار وقائمة الإبطال من الشهادة، فلم يعد تجميع مواد التحقق طويل الأمد يتطلب معرفة مكان نشر كل جهة إصدار - تنزّل
FetchRevocationMaterialالمواد من تلك العناوين، وتقومAddPAdESDSSCRLFromURLوAddPAdESDSSCertificateFromURLبالتنزيل والأرشفة في مخزن أمان المستند في خطوة واحدة - تُتجاهل العناوين التي لا تسمي مورداً قابلاً للجلب، مثل اسم دليل أو عنوان بريد، بدلاً من الإبلاغ عنها كشيء يمكن تنزيله
Version 3.327.0
تمت الإضافة
- عميل طوابع زمن مدمج وفق RFC 3161. تضبط
SetTimeStampServerوSetTimeStampOptionsجهة الإصدار وخوارزمية التجزئة والسياسة المطلوبة واستخدام قيمة nonce والمهلة؛ وتعيدFetchTimeStampTokenرمز TimeStampToken لأي ملخص - تكمل
ApplyPAdESSignatureTimeStampتوقيع PAdES-B-T في استدعاء واحد: تحسب قيمة التوقيع، وتحصل على الرمز من الجهة المهيأة، وتُرفقه كسمة الطابع الزمني للتوقيع، محلّ تبادل الخطوات الثلاث السابق الذي كان على المستدعي تأسيسه بنفسه - عند استخدام قيمة nonce يُتحقق من أن الرمز يعيدها نفسها، فيُرفض رد معاد تشغيله أو مستبدل بدلاً من تضمينه في المستند
- تُبلغ
GetTimeStampStatusوGetTimeStampErrorعن حالة الجهة ونص فشلها، فيشرح الطلب المرفوض نفسه بنفسه
Version 3.326.0
تمت الإضافة
- يكتب عارض PDFium الآن صيغ الصور نفسها التي يكتبها عارضا GDI+ وCairo. تقبل
RenderPageToFileوRenderPageToStreamوRenderPagesToFilesبعدSelectRenderer(3) صيغ BMP (خيار 0) وJPEG (1) وPNG (5) وGIF (6) وTIFF (7) وG4 TIFF (10) بدلاً من قبول BMP وحدها - تنطبق جودة JPEG المضبوطة عبر
SetJPEGQualityوإعدادات ضغط TIFF النشطة الآن على إخراج PDFium أيضاً، فلم يعد تبديل العارضين يغيّر ترميز الملف الناتج
تم الإصلاح
- كان طلب PNG أو أي صيغة غير BMP من عارض PDFium يعيد 0 ويترك ملفاً فارغاً خلفه. كانت التطبيقات التي توفر خيار اختيار العارض تنتج مخرجات غير قابلة للقراءة بصمت كلما كان PDFium المحرك المختار
- يُبلغ طلب صيغة ميتافيل لا يستطيع عارض PDFium إنتاجها (WMF أو EMF أو EPS أو EMF+ أو HTML5) الآن عن الصيغ المتاحة عبر
LastRenderErrorبدلاً من تسمية BMP الخيار الوحيد
Version 3.324.0
تم التغيير
- يغذي عارض PDFium المستند إلى المحرك الآن عبر مصدر بيانات متدفق بدلاً من مخزن مقيم واحد. كان العرض والطباعة يسلسلان المستند ثم ينسخانه مجدداً إلى سلسلة نصية، فكانت كل صفحة تكلف ضعف حجم المستند في الذاكرة؛ أُزيلت النسخة ويقرأ PDFium الآن الدفعات التي يحتاجها فقط
- يحلّ عرض نطاق صفحات إلى ملفات المستند مرة واحدة للدفعة كلها بدلاً من مرة لكل صفحة، فلم يعد النطاق الطويل يعيد قراءة الملف بأكمله لكل صورة يكتبها
- تبقى بنيات PDFium الأقدم التي لا تُصدّر نقطة الدخول المتدفقة تعمل دون تغيير عبر مسار الذاكرة
تم الإصلاح
- كان اختبار الدخان للعارض يبحث عن مكتبتي PDFium وCairo الاختياريتين في دليل أعلى بمستوى واحد ويتجاوز المحركين بصمت؛ يجدهما الآن ويجرّب مسارات العرض الحقيقية
Version 3.323.0
مضاف
- يُنتج كلٌّ من
CreateValidationReportوSaveValidationReportتقرير تحقق مهيكلاً من PDF/A و PDF/UA-1 بصيغة XML أو JSON. ويحمل كل استنتاج معرّف القاعدة، والمعيار الذي يملكها، واسم قاعدة قصير، وبند ISO الذي تفرضه، ومستوى خطورة، وعدد العناصر المتأثرة، ويُغلق التقرير بإحصاءات نجاح/فشل لكل معيار وعلى مستوى المستند - يُبلّغ المعيار غير المطلوب كـ
not-checkedبدلاً من اعتباره نجاحاً صامتاً، بحيث لا يُخطَّأ في تشغيل جزئي بأنه تقرير صحي جيد - يمكن الآن لإطارات عمل البناء أن تحدد بوابة حسب معرّف قاعدة أو بند ISO بدلاً من مطابقة السلاسل الجزئية في النص: إذ تنشئ عائلة تقارير الفحص المسبقي تقريراً للبشر أولاً ثم تحوّل ذلك النص إلى JSON أو HTML أو CSV، بينما يُجمَّع تقرير التحقق من مخرجات الفحص الخام ويبقي الحقول القابلة للقراءة آلياً سليمة
Version 3.322.0
مضاف
- يوثّق المرجع الآن الأنواع العامة الأربعة المُعلَنة خارجياً والمستخدمة عبر سطح
TPDFlibوالتي لم يكن لها صفحة مخصصة سابقاً:TPDFlibProgressEventوTPDFlibLoggerوTPDFlibCertificateInfoوTPDFlibWatermarkBase، مكمّلاً تغطية أنواع الأحداث العامة والمسجّلات ونتائج العدّ والعلامات المائية
Version 3.321.0
مضاف
- يُقيِّم
CheckDocumentPolicyالقواعيد البيانية المُعلَنة مثلFonts.NotEmbedded = 0أوSecurity.Encrypted = noأوDocument.Pages <= 500مقابل المستند ويُبلّغ عن كل قاعدة كناجحة أو فاشلة مع القيمة الفعلية، محوّلاً بوابة الاستقبال للناشرين والأرشيفات والمطابع إلى إعداد بدلاً من كود فحص مكتوب يدوياً
Version 3.320.1
تم الإصلاح
- لم يعد رسم النص في وضع PDF/A دون تحميل خط أولاً يتسبب في خطأ: PDF/A يتطلب تضمين كل برنامج خط، لذلك رُفض الاختصار الضمني إلى خط مدمج ولم يبقَ أي خط محدد، فانهار
DrawTextوبقية استدعاءات النص بدلاً من الرسم - يحل مسار الخط الضمني الآن خطاً قابلاً للتضمين حقيقياً أثناء نشاط وضع PDF/A، لذلك يُضمَّن النص المرسوم دون استدعاء
AddTrueTypeFontصريح ويبقى متوافقاً؛ ولا يزال الاستدعاء المباشر لـAddStandardFontمرفوضاً تحت PDF/A - على المضيفين الذين يتعذر حل خط قابل للتضمين عليهم، يلجأ الرسم إلى المقاييس المدمجة بدلاً من إحداث خطأ ويُبلّغ عن نقص التوافق عبر
LastErrorCode605، بحيث يمكن التقاط الملف قبل نشره كمتوافق
Version 3.320.0
مضاف
- يُعيد
GetDocumentFeatureReportتقرير ميزات مهيكل في استدعاء واحد — بيانات المستند الوصفية، وعدد الصفحات والعناصر، وحالة التشفير، وجرد الخطوط والصور، والوسم والخطوط العريضة، وحقول النماذج، والتوقيعات، والمرفقات، وتفصيل البايتات حسب الفئة — ليحل محل عشرات الاستعلامات المنفصلة التي كان على خط أنسنة أو استقبال تجميعها سابقاً
Version 3.319.0
مضاف
- تنشئ
SetCollectionViewوAddCollectionFieldوSetCollectionSortوSetCollectionItemValueمحافظ PDF فوق المرفقات الموجودة، لذلك تُقدَّم مجموعة الملفات المضمَّنة كحزمة قابلة للتصفح لها أعمدتها وترتيب فرزها وقيمها لكل ملف بدلاً من قائمة مرفقات بسيطة - يُبلّغ
GetCollectionViewوGetCollectionFieldCountعن وضع العرض وعدد الأعمدة المُعلَنة لمحفظة محمَّلة
Version 3.318.1
تم الإصلاح
- خيار استخراج النص 12 (تجاهل النص المُدوَّر) يتخلص الآن من المقاطع المُدوَّرة بأي اتجاه تدور به: كان الربع دورة في اتجاه عقارب الساعة والربع دورة عكس عقارب الساعة يُعاملان بشكل مختلف، لذلك تُهمل ملاحظات الهامش الجانبية في اتجاه وتُعادة في الآخر
- يحتفظ نفس الخيار بالنص المائل المتزايد فقط (المقولب)، مثل المائل الاصطناعي، ويتوسع التسامح الآن مع حجم النص وتحويل الصفحة، فلم تعد العناوين المائلة الكبيرة تُهمل وكأنها مُدوَّرة
Version 3.318.0
مضاف
- يُوسِّع
DecodeAllStreamsالمقاطع المضغوطة لمستند في مكانها، لذلك فإن حفظه يُنتج نسخة يمكن قراءة مقاطع محتواها وبياناتها الوصفية وبنيتها مباشرةً بأدوات الفروق والمراجعة الجنائية وسير عمل الدعم؛ تحتفظ الصور ومقاطع التنبؤ ومقاطع الإحالة المتقاطعة بترميزها، وتُتجسَّد مقاطع العناصر أولاً حتى لا يفقد شيء
Version 3.317.0
مضاف
- يُعلن
SetTrappedوGetTrappedعن حالة تقييد المستند التي يتطلبها PDF/X ويقرآنها، مكتوبةً كاسم/Trappedالذي تستدعيه المواصفات بدلاً من سلسلة نصية - يعيد
SetOutputIntentSubtypeوGetOutputIntentSubtypeوسم نية الإخراج، فيستطيع ملف لوني محمَّل وصف شرط طباعةGTS_PDFXبدلاً من شرط الأرشفةGTS_PDFA1الذي تنشئه أوضاع PDF/A
Version 3.316.0
مضاف
- يقتصر
SetEncryptEmbeddedFilesOnlyوGetEncryptEmbeddedFilesOnlyعلى تشفير AES للمفات المضمَّنة: يُفتح المستند ويُعرض في أي قارئ دون مطالبة بكلمة مرور بينما تبقى مرفقاته مشفرة، وهو الترتيب القياسي للفواتير والسجلات الطبية وملفات القضايا التي تكون صفحات غلافها عامة لكن حمولتها ليست كذلك
Version 3.315.0
مضاف
- خيار استخراج النص 18 يُدير المقاطع المرسومة عند 90 أو 180 أو 270 درجة إلى إطار القراءة الأفقي ويُجمِّع كل ربع دورة على حدة، فيستخرج ملاحظات الهامش المُدوَّرة ورؤوس الجداول وعناوين محاور الرسوم البيانية كأسطر مقروءة بدلاً من التداخل مع النص العمودي أو إهمالها
تم الإصلاح
- يقبل
DASetTextExtractionOptionsالخيار 16 (إزالة الواصلات) والخيار 17 (تقسيم الكلمات حسب فجوة الأحرف) بدلاً من رفضهما، ويمرر مسار الاستخراج ذو الوصول المباشر الآن الخيارات 15 و 16 و 17 إلى المستخرِج، لذلك تنطبق إزالة قاعدة الشرطة السفلية وإزالة الواصلات وتقسيم فجوة الأحرف على مقابض الملفات بالطريقة نفسها التي تنطبق بها على مستند محمَّل
Version 3.314.0
مضاف
- يُبلّغ
GetFontHasToUnicodeعمّا إذا كان الخط المحدد يحمل تعيين Unicode، ويكتسب جرد الخطوط حقلاً مطابقاًHasToUnicodeلكل خط بالإضافة إلى ملخصNoToUnicodeCount، فيمكن التحقق من المستندات بحثاً عن خطوط آمنة للاستخراج وقابلة للتحويل إلى PDF/A-*u أو PDF/UA قبل المعالجة
Version 3.313.0
مضاف
- يكتسب
SetPDFAModeالوضع 8 لـ PDF/A-2u (ISO 19005-2 Level U)، وهو مستوى التوافق الذي يُعلن تعيينات نص Unicode دون السماح بالملفات المضمَّنة، مكمّلاً عائلة PDF/A-2 إلى جانب أوضاع 2b و 2a الموجودة
Version 3.312.0
مضاف
- يقرأ
GetObjectByPathوGetObjectByPathCountأي عقدة من شجرة العناصر عبر تعبيرات مسار مثلRoot/Pages/Kids[0]/MediaBox[2]أوpages[0]/Type— الأنواع والقيم القياسية والأشكال المُسلْسَلة وعدد العناصر في استدعاء واحد، ليحل محل اجتياز العناصر المكتوب يدوياً لاستكشاف البيانات الوصفية وفحوصات الامتثال الفورية والتشخيصات الداعمة
Version 3.311.0
مضاف
- يُعلن
SetBlackPointCompensationعن تعويض النقطة السوداء (ON أو OFF أو Default) للرسم اللاحق عبر حالة الرسوميات/UseBlackPtCompفي PDF 2.0، مُتاحاً لمخرجات المعالجة المسبقة والتجريب تثبيت تحويلات ICC للنغمات الداكنة التي كانت سابقاً خاصة بالعارض؛ يُرفع إصدار المستند تلقائياً وترفض أوضاع PDF/A هذه الحالة
Version 3.310.0
مضاف
- يُظهر
SetCompressionLevelوGetCompressionLevelمستوى deflate لكل ضغط يقوم به المكتب: 0 يُبقي محرك SIMD المتسارع الافتراضي، و 1 يُفضّل الإنتاجية، و 9 يضغط الأرشيفات إلى أصغر حجم - يُعيد
RecompressStreamsضغط كل مقطع FlateDecode بسيط في المستند المحدد بالمستوى الحالي ويُبقي الترميز الأصغر لكل مقطع، مُقلِّصاً المستندات التي كُتبت أصلاً بإعداد ضغط سريع دون المساس بمحتواها
Version 3.309.0
مضاف
- يُضيف
SetObjectStreamModeوGetObjectStreamModeتحكماً ثلاثي الحالات في مقطع العناصر: تعطيل، أو توليد (افتراضي)، أو حفظ؛ حيث يُبقي الحفظ على التجميع المضغوط الأصلي للملف المحمَّل ويكتب الحاويات بحرفية، مما يجعل تحويلات ملفات PDF 1.5+ الموجودة أرخص لأنه لا يُفكَّك شيء ولا يُعاد تجميعه
تم التغيير
- في وضع الحفظ، تُرقَّى العناصر المُحرَّرة منذ التحميل إلى عناصر المستوى الأعلى حتى تُحفظ تغييراتها، ويختار أي عضو مضغوط متبقٍ تلقائياً شكل مقطع الإحالة المتقاطعة الثنائي
Version 3.308.0
مضاف
- يُشغِّل
CheckDocumentStructureفحص صحة هيكلي في استدعاء واحد: تُمر كل عنصر ومقطع عبر مفكك الترميز، وتُتحقق مقاطع Flate البسيطة بدقة من علامة نهاية zlib حتى يُلتقط البيانات المقطوعة، ويُعلّم التقرير مفقود الـ trailers والكتالوجات والصفحات غير القابلة للحل ومعالجات التشفير غير المدعومة والملفات المُصلَحة بمسح البايتات مع استنتاجات لكل عنصر وسطر ملخص
Version 3.307.0
تم الإصلاح
- تُصلَح المستندات التالفة التي تستخدم مقاطع الإحالة المتقاطعة بنجاح الآن: يُسترجع إعادة البناء الخام أعضاء مقاطع العناصر المضغوطة، وعندما لا توجد كلمة مفتاحية للـ trailer في أي مكان من الملف، يُركَّب الـ trailer من أحدث كتالوج مستند قابل للوصول، فلم يعد إزاحة startxref المعطوبة تجعل مثل هذه الملفات غير قابلة للفتح
Version 3.306.0
مضاف
- يكتب
ExportDocumentDataمفاتيح معلومات المستند وشجرة الإشارات المرجعية بأكملها ونطاقات تسمية الصفحات كنص بسيط قابل للتحرير بتنسيق سطر dump_data الكلاسيكي - يطبق
ImportDocumentDataالتنسيق نفسه عكسياً — تُحدَّث مفاتيح المعلومات، وتُعاد بناء شجرة الإشارات المرجعية بمستويات التداخل والصفحات الوجهة، وتُستبدل نطاقات تسمية الصفحات — مما يتيح التحرير المجمع للإشارات المرجعية وهجرة البيانات الوصفية بين المستندات في استدعاء واحد لكل اتجاه
Version 3.305.0
مضاف
- يُحلِّل
AuditDocumentSpaceاستخدام بايتات المستند حسب الفئة — الصور وبرامج الخطوط والقواميس ومقاطع المحتوى و form XObjects ومقاطع العناصر والملفات المضمَّنة والبيانات الوصفية وشجرة البنية والتعليقات التوضيحية وشجرة الصفحات وغيرها — مع أعداد العناصر وإجماليات البايتات والنسب المئوية، مُجيباً عن سبب كون الملف بحجمه الكبير وأي تحسين يؤتي ثماره أفضل
Version 3.304.0
مضاف
- يقرأ
StructTreeItemCountوGetStructTreeItemTextوGetStructTreeItemIntPropertyشجرة بنية مستند موسوم كقائمة عناصر مسطّحة بأولوية العمق — أنواع العناصر (الخام والمُعينة للأدوار) والنص البديل والفعلي واللغة والعناوين ومعرّفات المحتوى الموسوم وأرقام الصفحات وعلاقات الأصل/الفرع
تم التغيير
- يحمي قارئ شجرة البنية من المستندات التالفة: تُقطَع دورات الإحالة وأرقام العناصر خارج النطاق والأشجار المتداخلة بعد 64 مستوى بدلاً من الدوران
Version 3.303.1
تم الإصلاح
- لم تعد أختام الطبقة السفلية شبه الشفافة التي ينشئها
StampTextوStampImageتُسرّب عتامتها إلى محتوى الصفحة الأصلي — تُحصر حالة الشفاف الآن في الختم نفسه، لذلك تحتفظ الصفحة بعتامتها الكاملة
Version 3.303.0
مضاف
- يختم
OverlayDocumentPagesصفحات مستند مفتوح آخر على صفحات المستند المحدد، صفحة مصدر واحدة لكل صفحة هدف، فوق أو تحت المحتوى الموجود — ورق ذي رأس مطبوع وخلفيات صفحات مستمرة وقوالب نماذج ممسوحة ضوئياً في استدعاء واحد - نضوب المصدر قابل للإعداد: التوقف، أو المرور الدائري عبر صفحات المصدر، أو الاستمرار في تكرار صفحة المصدر الأخيرة؛ ويمنع خيار آخر الختم من التضخيم إلى ما بعد حجمه الطبيعي
تم التغيير
- تُلاءم أختام المستند مع CropBox للصفحة الوجهة وتُوضع عمودياً على الصفحات الحاملة لإدخال
/Rotate، وتُستورد كل صفحة مصدر مرة واحدة كـ Form XObject مشترك فلا تُكرر القوالب مواردها أبداً
Version 3.302.0
تم الإصلاح
- تُعالَج الآن كلمات مرور AES-256 بـ SASLprep (RFC 4013) قبل التجزئة، لذلك تُفتح كلمات المرور التي تحتوي على مسافات غير ASCII أو واصلات لينة أو أحرف توافق أو تسلسلات دمج بشكل صحيح في Acrobat والقارئات المتوافقة الأخرى
- يحاول فتح مستندات AES-256 كلمة المرور المُعدَّة القياسية أولاً ثم يلجأ إلى شكل البايت القديم، لذلك تستمر الملفات التي كتبتها الإصدارات السابقة بكلمات مرور غير ASCII في الفتح
مضاف
- يُبلّغ رمز الخطأ 604 عن كلمة مرور AES-256 مرفوضة من SASLprep لأنها تحتوي على نقاط رمز محظورة أو تنتهك القواعد ثنائية الاتجاه
Version 3.301.0
مضاف
- يُفجِّر
SplitDocumentToFilesالمستند المحدد إلى دفعة من ملفات الإخراج بعدد صفحات ثابت لكل ملف، باستخدام عنصر نائب لاسم الملف%p
تم التغيير
- يحلل التقسيم المجمع المستند المصدر مرة واحدة وينسخ كل قطعة من البنية الذاكرة نفسها، ليحل محل إعادة التحليل الكامل المتكررة التي يؤديها تكرار على
ExtractFilePagesلكل نطاق
Version 3.300.0
مضاف
- يدمج
CollateDocumentsصفحات من عدة مستندات مفتوحة في المستند المحدد بالتناوب، آخذاً عدداً قابلاً للإعداد من الصفحات من كل مصدر لكل جولة (A1، B1، A2، B2، …) - يقبل
CollateDocumentsExقائمة نطاقات صفحات لكل مصدر حيث تعكس النطاقات التنازلية مثل3-1مصدراً، فيدمج تمريرات الماسح الأمامية والخلفية المعكوسة في ترتيب قراءة واحد في استدعاء واحد
تم التغيير
- تستورد الدمج المُجمَّع كل مصدر عبر خريطة عناصر واحدة وتُعرقل حسب إعادة ترتيب الصفحات، لذلك تُكتب الخطوط والصور المشتركة داخل مصدر مرة واحدة فقط بصرف النظر عن حجم المجموعة
Version 3.299.0
مضاف
- يُحوّل
SetDeterministicDocumentIDوGetDeterministicDocumentIDمعرّف ملف الـ trailer إلى قيمة قابلة للإعادة إنتاجها بحيث تُنتج المدخلات المتطابقة بايتات إخراج متطابقة للتخزين المؤقت للبناء والتخزين القابل للعنونة حسب المحتوى والمقارنة الانحدارية على مستوى البايت - يوفّر
SetDocumentIDSeedبذرة صريحة لمعرّف الملف القابل للإعادة؛ ودون بذرة يُشتق المعرّف من البيانات الوصفية للمستند ورأس الإصدار وعدد الصفحات
تم التغيير
- تُحدَّث معرّفات الملفات القابلة للإعادة عند الحفظ الكامل فقط؛ تحتفظ التحديثات التزايدية والمستندات المشفرة بمعرّفاتها الحالية حتى تستمر التوقيعات والملفات المحمية بكلمة مرور في الفتح بشكل صحيح
Version 3.298.0
مضاف
- تربط
AddLinkToArticleThreadوSetOutlineArticleThreadالنقاط الساخنة للصفحة والمخططات بخيط مقال أو خرزة عبر إجراءات Thread قياسية - تضيف
AddActionNextArticleThreadوPDF_ACTION_BUILDER_THREADإجراءات Thread إلى تدفقات عمل الإجراءات المتسلسلة والنموذج والصفحة والمستند
تم التغيير
- تستخدم أهداف إجراء Thread مراجع غير مباشرة ثابتة للخيط والخرزة وترفض الفهارس غير الصالحة دون تغيير الحاوية الوجهة
- يرفض بناؤو إجراءات حقل النموذج إجراءات إضافية أثناء كون وضع PDF/A نشطًا، مع الحفاظ على حظر PDF/A لقواميس
/AAللحقل والأداة
Version 3.297.0
مضاف
- مرجع
DLالمسطّح للـ DLL يوثّق الآن كل نقطة دخول ANSI (char) ذات لاحقةA، مضيفًا 353 صفحة مرجعية تعكس نظيراتها من Unicode بتوقيعات Delphi بدلالةPAnsiCharودلالات Cconst char *دقيقة - أُعيد بناء
BufferUtilitiesوDirectAccessFunctionalityوMiscellaneousFunctionsكصفحات فهرس نظيفة لمجموعات الدوال مدفوعة بمخطط الفئات المشترك، مع إصلاح الترميز المعطوب والأقسام المغلّطة بشكل خاطئ والرقائق المفقودة - يغطي فهرس التنقل وفهرس البحث المشترك الآن سطح DLL بالكامل لكل من مستدعي Unicode وANSI
تم الإصلاح
- أُزيل إدخال
SetLoggerالقديم الذي لا يملك رمزًا مطابقًا في المصدر؛ الخاصية الموثّقة هيLogger
Version 3.296.0
مضاف
- توفر
AddAlternateImageوAlternateImageCountوGetAlternateImageInfoوRemoveAlternateImageتأليفًا وفحصًا مُنمّطًا لمتغيرات الصور للعرض والطباعة - يمكن ربط الصور البديلة بمجموعة محتوى اختيارية أو قاموس عضوية، بينما يمكن اختيار متغير واحد لكل صورة أساسية كافتراضي للطباعة
تم التغيير
- يختار العارض المدمج الآن الصور البديلة للمحتوى الاختياري عندما تكون الصورة الأساسية مخفية ويراعي الافتراضي للطباعة على وجهات الطابعة
- تسجّل
FindImagesالآن كائنات XObject للصور البديلة القابلة للوصول من موارد الصفحة بحيث تتلقى المتغيرات المستوردة مقابض صور قابلة للاستخدام
Version 3.295.0
مضاف
- تنشئ
AddArticleThreadتنقّلًا للمقالات متوافقًا مع المعايير ببيانات وصفية مُنمّطة ومستطيلات صفحات مرتّبة وروابط خرزية دائرية ومصفوفات خرز لكل صفحة - تفحص
ArticleThreadCountوGetArticleThreadInfoوGetArticleThreadBeadخيوط المقالات المنشأة أو المستوردة بعبور محدود لدورات الروابط التالفة
تم التغيير
- تزيل
DeletePagesالآن خيوط المقالات التي تفقد كل خرزة وتصلح الروابط الدائرية للخيوط الناجية - يحتفظ تتبّع الصفحات المحذوفة الآن بمراجع صفحات غير مباشرة ثابتة حتى لا ينزلق تنظيف المخطط والمقالات مع تحرك مؤشر شجرة الصفحات
Version 3.294.0
مضاف
- تبحث
SearchTextBatchفي استعلامات نصية متعددة بينما يبقى كل استخراج صفحة مقيمًا وتعيد فهرس الاستعلام الأصلي ذي الأساس الصفري مع كل تطابق - توفر
SearchTextBatchEachنفس بحث المرور الواحد عبر استدعاء خلفي متدفق مع تقارير التقدم والإلغاء
تم التغيير
- يشارك البحث النصي ذو الاستعلام الواحد والدفعي الآن نواة مطابقة واحدة، مع الحفاظ على دلالات حساسية حالة الأحرف والكلمة الكاملة ونطاق الصفحة مع تجنّب تكرار استخراج الصفحات وطيّ النص وعمل هندسة التطابقات
Version 3.293.1
تم الإصلاح
- لم يعد تنقيط تظليل الشبكة يفشل في التجميع على أي إصدار Delphi، مما يحل
E2089 Invalid typecastفي تحويلات الحقيقي إلى فاصلة عائمة في رسام GDI+ - يُجمَّع عرض الصفحات الدفعي المتوازي الآن على Delphi XE5 وXE6 حيث
System.Threadingغير متوفرة؛ تعود سلاسل الأدوات الأقدم إلى مسار العرض التسلسلي كما في الأنظمة غير Windows - لم يعد استكشاف قدرات الطابعة يثير خطأ أنواع غير متوافقة على إصدارات Delphi القديمة بمحاذاة استدعاء
SetPrinterمع بقية كود الطباعة - يُبنى تعداد مخزن الشهادات الآن على RAD Studio 10.3 Rio، الذي كان يُجهض سابقًا بخطأ داخلي في المترجم أثناء تحسين روتين التعداد
Version 3.293.0
مضاف
- يمكن الآن إنشاء قواميس عضوية المحتوى الاختياري وتحديثها وتعدادها مع سياسات توافق
AnyOnوAllOnوAnyOffوAllOff - تعبيرات الرؤية
/VEالمتداخلة في PDF 1.6 تدعمAndوOrوNotعبر تمثيل بادئة مدمج يتشاركه Delphi وC++Builder
تم التغيير
- نطاقات المحتوى الاختياري وتدفقات المحتوى والصفحات الملتقطة والصور وحقول النماذج والتعليقات التوضيحية تقبل الآن إما مقبض مجموعة أو مقبض عضوية
- يقيّم العرض تعبيرات
/VEالصالحة أولًا ويعود إلى/OCGsزائد/Pللتعبيرات المشوّهة أو غير المدعومة
تم الإصلاح
- لم يعد المحتوى الاختياري المتداخل قادرًا على جعل المحتوى مرئيًا عندما تكون مجموعة أو عضوية محيطة مخفية
- تترك قواميس العضوية التي بلا مجموعات محتوى اختياري فعّالة الرؤية دون تغيير كما يتطلب مواصفات PDF
Version 3.292.0
مضاف
- تبرز
EnumAttachmentsالآن تواريخ الإنشاء والتعديل ومجاميع التحقق السداسية عشر وعلاقات الملفات المرتبطة وأرقام كائنات مواصفات الملف لكل من مرفقات المستند والتعليقات التوضيحية - تتحقق
ValidateAttachmentChecksumمن حمولة مرفق مقابل مجموع التحقق المخزّن عند الطلب، بينما تتلقى الملفات المضمّنة حديثًا بيانات مجموع التحقق تلقائيًا
تم الإصلاح
- تقبل
SetEmbeddedFileAFRelationshipالآن نفس فهارس الملفات المضمّنة ذات الأساس الواحد ك rest واجهة برمجة المرفقات، بما في ذلك المستندات أحادية المرفق
Version 3.291.0
مضاف
- تُدمج
DeduplicateResourcesالآن تدفقات الصور وForm والأنماط والتظليلات والدوال وملفات تعريف ICC وبرامج الخطوط وCMap وCharProc من Type 3 والملفات المضمّنة والبيانات الوصفية وPostScript المكررة تمامًا عبر مستند محمّل - يوفر إزالة تكرار الموارد أعلام أنواع مستقلة وتحليل جاف ومجموع أيتام اختياري وإحصاءات مفصّلة للتجزئة والمقارنة والحمولة والمرجع ولكل فئة
تم التغيير
- يكشف التكرار قواميس التدفق الكاملة بصرف النظر عن ترتيب المفاتيح، ويجزّئ كل حمولة مرشّحة مرة واحدة بـ SHA-256، ويؤكد الدلاء المطابقة بايتًا بايتًا قبل إعادة توجيه المراجع
- تحتفظ مجموعات التكافؤ التام بأقل رقم كائن وإصدار لمخرجات حتمية، بينما تظل دورات الكائنات المباشرة المشوّهة وفروقات القاموس الدلالية غير مدمجة
Version 3.290.0
تم التغيير
- تحسب
PurgeUnusedResourcesالآن إغلاقًا تبعيًّا عابرًا عبر أنماط التبليط ورموز Type 3 وحالات مظهر التعليقات التوضيحية ومجموعات القناع الناعم ExtGState والصور والتظليلات والمساحات اللونية المتداخلة - تُفعّل خيارات التنظيف الافتراضية الآن تحليل تبعية النمط وType 3 والمظهر والقناع الناعم والصورة، مع أعلام مستقلة للمستدعين الذين يحتاجون مسحًا أضيق
- تُخزّن برامج المحتوى المتداخلة ومدخلات التبعية مؤقتًا، وتُخصخص نطاقات الموارد المشتركة قبل التقليم، وتُحدّ الدورات المشوّهة بحرّاس التيار النشط والعمق
تم الإصلاح
- موارد الصفحة المستخدمة فقط عبر مساحات لون الصورة وقواعد Indexed وبدائل Separation أو DeviceN والمساحات الأساسية لـ Pattern وبدائل ICCBased أو قواميس التظليل لم تعد تُزال كغير مستخدمة
- الموارد المستخدمة فقط بواسطة CharProcs من Type 3 وخلايا نمط التبليط ومظاهر التعليقات التوضيحية أو مجموعات القناع الناعم للشفافية لم تعد تُزال من نطاقها الخاص أو الموروث
Version 3.289.0
مضاف
- تزيل
PurgeUnusedResourcesالآن موارد الصفحة المسماة غير المُشار إليها بطبقات المحتوى المحددة ويمكن أن تعيد إحصاءات مفصّلة لكل فئة - يدعم تنظيف الموارد الآن نطاقات الصفحات وتقارير الجاف والتقدم والإلغاء وتحليل Form XObject المتكرر وإزالة ProcSet المهمل وجمع كائنات أيتام اختياري
تم التغيير
- يتبع تحليل الموارد الآن حساسية حالة أحرف اسم PDF وموارد Form الموروثة ومساحات ألوان الصور المضمّنة المخصّصة وجميع فئات الموارد القياسية السبع
- تُخزّن برامج Form المتكررة مؤقتًا، وتستخدم مجموعات الموارد المستخدمة بحثًا مرتّبًا، وتُزال مدخلات القاموس بترتيب تنازلي لأداء تنبؤي على المستندات الكبيرة
تم الإصلاح
- إزالة مدخلات القاموس تبطل الآن فهارس مفاتيح القواميس الكبيرة حتى لا تستطيع عمليات البحث اللاحقة إعادة مدخلات قديمة
- تحافظ التدفقات المشوّهة والعوامل غير المعروفة على نطاق مواردها الكامل افتراضيًا، بينما تُستنسخ قواميس الموارد المشتركة أو الموروثة قبل التحوّل
Version 3.288.0
مضاف
- يمكن للتوقيعات الرقمية الآن إصدار هياكل شهادات DocMDP وقفل حقول FieldMDP كاملة، مع تقارير أذونات هيكلية لكل توقيع محدد
- لدى طوابع زمنية للمستند RFC 3161 وطوابع زمنية للتوقيع وحقن رموز PAdES-B-T والتحقق من سلسلة الشهادات وأدلة OCSP ومواد التحقق DSS أو VRI الآن تدفقات عمل تأليف وتحقق كاملة
- تدعم تعليقات RichMedia التوضيحية الآن الأصول المضمّنة وإعدادات التفعيل وإلغاء التفعيل ومظاهر الملصقات والتعداد والاستخراج والإزالة
- يدعم طباعة الملصقات الآن فرض صفحات متجهي وعلامات تداخل وقص ووضع واعٍ بالهامش الصلب وخطط تبليط قابلة لإعادة الاستخدام
- تبثّ الجداول الموسومة الآن هياكل Table وTR وTH وTD دلالية بمعرّفات ثابتة وارتباطات رؤوس وامتدادات ورؤوس متكررة وزخارف مؤقتة
- يوفر العارض الآن تحرير AcroForm متاحًا بلوحة المفاتيح لحقول النص والاختيار ومربع الاختيار والراديو وزر الضغط أثناء إرسال الإجراءات إلى تطبيق المضيف
تم التغيير
- تُعرض تظليلات Type 1 القائمة على الدوال وتظليلات الشبكة من Type 4 إلى 7 الآن عبر تقييم دوال أصلي وتقسيم شبكي محدود
- يشارك عرض ألوان ICCBased الآن تحويلات مخزّنة مؤقتًا عبر الصور والتظليلات مع الحفاظ على سلوك مساحة اللون المعايرة
- تعيد الحفظ التزايدي الآن بناء تدفقات الكائنات وتدفقات المراجع المتقاطعة باستمرار، ويتم التحقق من التوقيعات المحددة مقابل مراجعتها الموقّعة الخاصة
تم الإصلاح
- تقوم طلبات الطابع الزمني للتوقيع SHA-1 الآن بتجزئة قيمة توقيع الموقّع بـ SHA-1 بدلًا من العودة إلى SHA-256
- استبدالات قفل الحقل المرفوضة لم تعد تتجاهل تكوين قفل حقل صالح سابق
- عناصر واجهة الراديو ذات أسماء حالة المظهر المكررة تحتفظ الآن بالعنصر المحدد وتبقي العناصر الشقيقة مطفأة
Version 3.287.0
تم التغيير
- تتبع قواميس الصور المضمّنة الآن حدود تعليقات وفواصل وحرفية وسداسية عشر ومصفوفات وقواميس PDF مع تداخل محدود
- تستخدم حمولات الصور المضمّنة الآن إنهاءً واعيًا بالتنسيق لبيانات raw وDCT وASCII85 وASCIIHex وRunLength وFlate
- ينفّذ اكتشاف حمولة Flate الآن نفخًا محدودًا واحدًا من إزاحة تدفق المحتوى بمحاسبة بايت مضغوط دقيقة، بينما تتشارك المرشحات غير الفاقدة المتسلسلة سقف مخرجات من الطرف إلى الطرف
- تفرض تدفقات ASCII85 وASCIIHex وLZW والمتنبئ وملف تعريف اللون والصور المساعدة الآن مخرجات وسيطة محدودة دون تخصيصات مؤقتة مفرطة في الحجم
تم الإصلاح
- لم تعد الصور المضمّنة المشوّهة أو المقتطعة تقرأ بعد بيانات المصدر، أو تدور في حلقة على قيم غير منتهية، أو تحتفظ بحالة قديمة عبر إعادة استخدام مفكك الترميز
- تحسب صفوف الصور المعبّأة الآن وحدات البت المكوّنة قبل تقريب البايت، مما يمنع الأطوال غير الصحيحة لصور RGB منخفضة البت ولصور متعددة الصفوف
- تحافظ مساحات ألوان الموارد الآن على أسمائها الأصلية أثناء اشتقاق أعداد مكوّنات Lab وICCBased غير المباشرة وDeviceN وفك تشفير تدفقات لوحة Indexed تحت حدود صارمة
- ترفض حدود الصور المضمّنة الآن الأبعاد وأعماق البت والمرشحات غير المدعومة وسلاسل المرشحات غير الآمنة والتدفقات المضغوطة وعلامات النهاية الغامضة بشكل متناسق
- يتحقق عرض ألوان Indexed الآن من كل وصول للوحة ويرفض بيانات البحث المقتطعة بدلًا من القراءة بعد الجدول المفكوك
- يفك المتنبئون PNG من 10 إلى 15 الترميز الآن بشكل صحيح لتدفقات Flate وLZW، ويرفضون مرشحات الصفوف غير الصالحة، ويتحققون من جميع أحجام الصفوف والحالات قبل التخصيص
- تتحقق حمولات JPEG وJPEG 2000 الآن من أبعادها المشفّرة ومكوّناتها ودقتها وبنية العلامة وأطوال الصناديق وأثر التخزين المفكوك قبل تخصيص الصورة
- يحدّ التحقق من الصور المضمّنة الآن من كل من تخزين الصور النقطية المعبّأة والموسعة ويقيّد ملفات تعريف ICC والمتغيرات الشاملة لـ JBIG2 ومعاملات المرشح الطرفية
- تستمر حمولات مرشح ثنائي تحتوي على نص علامة نهاية مضمّن الآن حتى أول مرشّح يجتاز التحقق من التنسيق المحدود
Version 3.286.0
تم التغيير
- يتبع ترميز سلسلة المحتوى إلى وحدات الآن حدود المسافات البيضاء والتعليقات والفواصل والسلاسل الحرفية والسلاسل السداسية عشرية والأسماء في PDF
- يستخدم تقسيم النص واستبدال الموارد الآن مخازن إخراج تنمو هندسياً للمعالجة الخطية لسلاسل المحتوى الكبيرة
- تصفّر معالجات سلاسل المحتوى القابلة لإعادة الاستخدام الآن الإخراج المشتق وحالة المحلل قبل كل استدعاء
Process
تم الإصلاح
- لم تعد السلاسل الحرفية والسداسية عشرية التالفة أو المبتورة تقرأ ما بعد مخزن المصدر أو تُصدر وحدة فارغة إضافية
- يحفظ استبدال الموارد الآن دلالات أسماء PDF الحساسة لحالة الأحرف، ويقبل الشرطات المائلة الافتتاحية الاختيارية، ويحدّث التعيينات المكررة بشكل حتمي
- تُستبعد معاملات XObject والتظليل في بداية السلسلة الآن من إخراج النص، ولم تعد معاملات الاستعادة غير المقابلة تلغي حالات الرسومات المحفوظة لاحقاً
Version 3.285.0
تم التغيير
- يستخدم ترميز LZW الآن بحثاً في القاموس بزمن ثابت وكتابة مخزَّنة في السلسلة، بينما يستخدم فك الترميز جداول بدايات ولاحقات مدمجة بنمو هندسي للإخراج
- يعالج فك ترميز منبئ Flate الآن الصفوف مباشرة في مخزن الإخراج ويدعم عينات TIFF المعبأة و8 بت و16 بت مع أعداد ألوان عشوائية
- تكتب سلاسل Deflate المخزنة الآن في نتيجة مضبوطة الحجم مسبقاً، وتحرر أغلفة zlib المخازن المؤقتة بأمان عند فشل الضغط أو فك الضغط
تم الإصلاح
- تتبع تغييرات عرض كود LZW الآن دلالات
EarlyChangeفي PDF عبر الأكواد من 9 بت إلى 12 بت، بما يشمل تصفير القاموس وEarlyChange=0 - يرفض فك ترميز LZW الآن الأكواد اللاحقة غير الصالحة وسلاسل البتات المبتورة دون قراءة ما بعد مخزن المصدر
- تستخدم منبئات PNG الآن عرض البايت السقفي للبكسل، وتحفظ الصفوف المفكوكة السابقة، وتحشو الصف الأخير الجزئي بأمان
- يعالج فك ترميز منبئ TIFF الآن المكوّنات بأعماق 1 بت و2 بت و4 بت و8 بت و16 بت باتساق في مساري LZW وFlate
Version 3.284.0
تم التغيير
- تمسح عمليات البحث في المخازن الآن كتلاً ثابتة من 64 KiB، وتستخدم جداول بحث بايتية لعضوية المجموعة، وتحفظ موضع المستدعي عبر كل مسار بحث
- تحجز تحويلات يونيكود وLatin-1 والملخص السداسي عشري وARC4 الآن إخراجاً محدوداً مرة واحدة بدلاً من تنمية السلاسل أو المصفوفات المؤقتة مراراً
- يقرأ ترميز ASCII85 سلاسل الإدخال الآن في كتل من 32 KiB، بينما يستخدم فك الترميز حساباً صحيحاً دقيقاً ويكتب مباشرة في مخزن إخراج مضبوط الحجم مسبقاً
- يتجنب تجزئة سلاسل MD5 الآن سلسلة ذاكرة مؤقتة، وتفحص مقارنة الملخص كل بايت، ولم يعد جدولة مفتاح ARC4 تخصص مصفوفة مفاتيح موسعة
تم الإصلاح
- تعيد
DistanceToAnyByteالآن الإزاحة الصحيحة بعد كتلتها الأولى بدلاً من إعادة قراءة البادئة نفسها والمبالغة في عدّ البايتات المتجاوزة - تحترم قراءات المخازن المدعومة بسلسلة الآن العدد الفعلي للبايتات الذي تعيده السلاسل المخصصة، فتقلّص النتائج وتقدّم المواضع بالبايتات المستلمة فقط
- تقيّد تخفيضات طول المخزن الموضع الحالي الآن، وتتصرف مصادر المؤشر المعدوم أو السلسلة كمدخلات فارغة بدلاً من كشف ذاكرة غير صالحة
- يعيّن فك ترميز Latin-1 الآن نطاق البايتات الكامل 0x00-0xFF بدلاً من استبدال البايتات 0x7F-0xFF
- يحفظ فك ترميز ASCII85 الآن المجموعة القصوى الصالحة ذات 32 بت
s8W-!ويتوقف عند علامة النهاية الأولى دون فقد حدود الفاصلة العائمة
Version 3.283.0
تمت الإضافة
- يستطيع
TPDFlibSignatureVerifierالآن تعداد حقول التوقيع وموقّعي CMS، وفتح ملفات أو سلاسل أو نصوص، والتحقق من حقل وموقّع محددين بالفهرس أو باسم الحقل - تفصل تقارير التحقق التفصيلية الآن السلامة التشفيرية عن تغطية المراجعة الموقعة وتغطية الملف الحالي والمراجعات اللاحقة والتحقق الصارم من فجوة Contents وأخطاء التشفير الأصلية
تم التغيير
- يتدفق التحقق من CMS المنفصل الآن عبر كلا مقطعَي ByteRange من خلال Windows CryptoAPI بدفعات محدودة بدلاً من تحميل PDF كاملاً في الذاكرة
- يُعدَّد الآن حقول التوقيع تحت مصفوفات Kids المتداخلة في AcroForm ومدخلات
/FT /Sigالموروثة بأسماء مؤهلة بالكامل، وتدعم قواميس قيمة التوقيع المباشرة
تم الإصلاح
- يرفض التحقق من ByteRange الآن التجاوز والتداخل والبتر والفجوة التي ليست بالضبط وحدة
/Contentsالسداسية عشرية المحددة، والمراجعة الموقعة التي لا تنتهي عند%%EOFالخاص بها - لم يعد البحث عن الشهادة يرجع إلى شهادة مضمّنة غير ذات صلة عندما لا يكون لمعرّف موقّع CMS المحدد تطابق تام بين المصدر والرقم التسلسلي
- تتضمن التحديثات التزايدية التي تستخدم سلاسل المراجع المتقاطعة الآن مدخل النوع 1 الخاص بكائن سلسلة المراجع المتقاطعة نفسه، مما يمنع المدققات الصارمة لـ PDF من الإبلاغ عن مدخل ذاتي مفقود بعد التوقيع
Version 3.282.1
تم التغيير
- تعيد عمليات الحفظ الكاملة الآن بناء سلاسل الكائنات المستوردة من مخطط الكائنات الحي، وتحفظ جذور المقاطع الختامية الخاصة، وتحتفظ بأجيال الكائنات الحرة دون إعادة استخدام أرقام كائنات بنيوية
- تضبط سلاسل المراجع المتقاطعة الآن حجم حقول إزاحتها للملفات الكبيرة، وتحجز حمولتها مسبقاً، وتتضمن مدخلها الخاص، وتحفظ مفاتيح امتداد المقطع الختامي
تم الإصلاح
- يكتب حزم سلاسل الكائنات الآن حاويات
/ObjStmحقيقية ومدخلات أعضاء من النوع 2 بدلاً من التحويل إلى سلسلة xref فحسب - لم تعد مجموعة البيانات المهملة تكتب أرقام الكائنات المفقودة كمدخلات قيد الاستخدام عند الإزاحة صفر، وتُصدر الآن سلسلة كائنات حرة مترابطة في المراجع المتقاطعة النصية وسلاسل المراجع معاً
- تستطيع ملفات PDF المحمَّلة المحزومة الآن أن تُحفظ مراراً مع تفعيل الحزم أو تعطيله دون الاحتفاظ بسلاسل كائنات قديمة أو فقدان أعضاء أحياء أو الحاجة إلى إصلاح المراجع المتقاطعة
Version 3.282.0
تمت الإضافة
- تستخدم الألوان ICCBased المستوردة الآن ملف ICC المضمّن عبر الرسم المتجهي وتظليلات الدوال والشبكات ولوحات الفهرسة والصور النقطية الخام وصور CCITT وJBIG2 وصور JPEG بنمط CMYK وصور JPEG 2000
تم التغيير
- تستخدم تحويلات ICC الآن جدول بحث محدود في Windows Color System باستيفاء متعدد الخطية، محلّ رحلة PNG المؤقتة المستخدمة أثناء عرض الصور
- يحترم العارض الآن نوايا العرض في سلسلة المحتوى وحالة الرسومات، و
/Rangeلـ ICCBased، و/Decodeللصورة، وأقنعة مفتاح اللون في المجال الأصلي، مع التحقق من أعداد قنوات ملف التعريف مقابل قاموس فضاء اللون في PDF - تتشارك الاستخدامات المتكررة لملف التعريف نفسه ونية العرض نفسها جدول بحث واحداً عبر الألوان المتجهية والأنماط والتظليلات والصور
تم الإصلاح
- تفك سلاسل ملفات تعريف ICC المشفرة الآن التشفير أثناء فك الترميز فقط ثم تُستعاد، ولم تعد ملفات التعريف المضمّنة تُضغط مرتين أثناء كتابة إخراج الصور
Version 3.281.0
تمت الإضافة
- يرسم عارض GDI+ المدمج الآن تظليلات PDF المستوردة القائمة على الدوال وتظليلات الشبكات الحرة والشبكية وCoons والتنسورية (الأنواع 1 و4-7)، بما يشمل الشفافية والقص
- تدعم قواميس التظليل الآن مصفوفات دوال مكوّنات، وفضاءات Lab وCalGray وCalRGB المعايَرة، وتحويلات الصبغة لـ Separation وDeviceN، وتعبئات Background للنمط PatternType 2، والقص بـ BBox عبر عارضَي GDI+ وCairo
تم التغيير
- تستخدم دوال التظليل من النوع 1 الآن أخذ عينات ألوان تكيّفياً محدود النطاق مع مسسات إضافية على أرباع الخلايا لدقة أعلى في السمات الضيقة وجهد أقل في المناطق الثابتة أو الملساء
- تُؤلَّف مصفوفات النمط PatternType 2 حول التظليلات الشبكية الآن مرة واحدة بالضبط في GDI+ وCairo معاً، مع حفظ موضع النمط المُزاح والمُكبَّر والمُدار
- تُستوفى مكوّنات ألوان الشبكة الآن في فضاء لونها المصدر قبل تقييم الدالة والتحويل إلى RGB، مع حفظ الدوال غير الخطية وتدرجات DeviceCMYK والترتيب الصحيح لتحويلات الألوان المُدارة
- تستخدم أسطح Coons والتنسورية الآن تجزئة محدودة بخطأ بكسل الجهاز لإخراج أكثر سلاسة عند الانحناء العالي وبأحجام عرض كبيرة
- تُفك سلاسل التظليل والدوال المشفرة عبر استدعاءات التشفير الراجعة للمستند، وتحترم سجلات رؤوس النوع 5 محاذاتها البايتية الإلزامية
Version 3.280.1
تم الإصلاح
- سرّبت
MergeFileList/MergeFileListFast/MergeFileListStrictزوجTSmartPDFReader/TSmartPDFDocument(وكل ما يملكانه) عند ظهور ملف غير PDF في قائمة الدمج: إذ بُني القارئ والمستند قبل كتلةtryالتي تحررهما، فكان فشل التحليل في محتوى الملف التالف يترك القارئ المبني سلفاً يتيمًا بدلاً من تنظيفه بواسطة معالج الاستثناء المحيط؛ يجري البناء الآن داخلtryالحامية في مسارَي المعاينة لملف واحد ولعدة ملفات - سرّب تحليل التظليل الشبكي (
TPLMeshShading.Parse، أنواع التظليل 1 و4-7) كائن/Functionالمفكوك في كل تحليل - إذ تجاوزت كل مسارات الخروج المبكر والإتمام العادي تحريره؛ ويُحرَّر الآن في كتلةfinallyبغضّ النظر عن كيفية خروجParse - تصفّر
TPDFlibSignDoc.Closeالآن حقول القارئ الذكي والمستند والمعلومات بعد تحريرها، وتحرر مسارات الاستثناء فيOpenوOpenStreamوOpenStringأي كائنات ذكية بُنيت جزئياً بدلاً من مسح مرجع السلسلة فقط، مما يمنع التسريب عند فشل فتح هدف التوقيع في منتصف الطريق
Version 3.280.0
تمت الإضافة
- تعداد فئات الأخطاء
TPDFlibErrorCategory(ecSuccess/ecStructure/ecSave/ecCrypto/ecGeneric/ecCompliance/ecAcroForm) مبني فوق تصنيفLastErrorCodeالرقمي القائم، بحيث يستطيع المستدعون تصنيف الإخفاقات دون حفظ نطاقات الأكواد؛ ومتاح عبرTPDFlib.LastErrorCategoryوTPDFlib.ErrorCategory(Code)وTPDFlib.ErrorMessage(Code) - أكواد أخطاء حقول النماذج 701-704 (الحقل غير موجود، الحقل للقراءة فقط، لا يوجد AcroForm، قيمة غير صالحة) مع رسائل مفهومة للبشر، مما يتيح للمستدعين التمييز بين «الحقل مقفل» و«لا يوجد حقل كهذا» بدلاً من تلقي إخفاق عام واحد
- صيغة كتابة قسرية
SetFormFieldValueForcedتتجاوز حارس القراءة فقط، تُستخدم داخلياً فيSetFormValues(SkipReadOnly=False)بحيث تستطيع الاستيرادات الجماعية الكتابة فوق الحقول المقفلة عندما ينسحب المستدعي صراحةً من الحماية
تم التغيير
- تضبط
SetFormFieldValueالآنLastErrorCodeعلى 701/702/703 عند الفشل (الحقل غير موجود / للقراءة فقط / لا يوجد AcroForm) بدلاً من إعادة 0 بصمت؛ وقراءةLastErrorCategoryغير مستهلكة بحيث يفحص المستدعي الفئة قبل استرداد الكود الرقمي
Version 3.279.0
تمت الإضافة
- يستبدل
ReplacePageRangesمحتوى الصفحات المرئي من مستند آخر مفتوح دون تغيير عدد صفحات الهدف أو هويات كائنات الصفحات الهدف، مع حفظ الإشارات المرجعية والروابط والتعليقات التوضيحية وأدوات النماذج المرفقة أصلاً بتلك الصفحات
تم التغيير
- لم يعد نسخ الصفحات عبر المستندات ينشئ صفحة نائبة إضافية ويزيلها قبل استيراد النطاق المطلوب
Version 3.278.0
تمت الإضافة
- يطبق
PrintPagesAdvancedإعدادات النسخ والترتيب والوجهين والاتجاه واللون والجودة وحجم الورق وصينية الإدخال على تعبيرات نطاقPrintPagesعشوائية مع الاحتفاظ بملف تعريف طابعة واحد ومهمة طباعة واحدة
تم التغيير
- تتحقق إعدادات الطباعة المتقدمة من صحتها قبل بدء المهمة، وتطبق قيم جودة الطباعة الموجبة فوق الإعدادات الأربع المسماة كقيم DPI، ويمكن لمعرفات الورق أو صينية الإدخال استخدام كامل النطاق الموجب المدعوم من حقول
DEVMODEالمقابلة
تم الإصلاح
- يوجّه استرداد المراجع المتقاطعة التالفة قراءات كتله المحدودة الآن عبر تجاوز
TStream.Readالتقليدي على Win64، مع حفظ أدوات القياس وسلوك السلاسل المخصصة والاحتفاظ بإدخال/إخراج تسلسلي بحجم 64 KiB
Version 3.277.0
تم التغيير
- يمسح استرداد المراجع المتقاطعة التالفة بيانات المصدر الآن في كتل تسلسلية من 64 KiB بدلاً من البحث مرة لكل محرف مطابق، مع إبقاء الذاكرة المساعدة محدودة والتوسع إلى ملفات PDF الكبيرة والسلاسل خارج الذاكرة
- يتحقق الاسترداد من وحدات الكائنات غير المباشرة الكاملة، ويتخطى البيانات الشبيهة بالكائنات داخل التعليقات والسلاسل والتدفقات، ويؤكد نهايات السلاسل بوحدة
endobjتالية، ويحفظ الترويسات المنقسمة عبر حدود القراءة، ويختار آخر قاموس مقطع ختامي صالح
تم الإصلاح
- يدعم إعادة بناء المقطع الختامي الآن القواميس المتداخلة ونص الفواصل داخل السلاسل الحرفية ولم يعد يُبتَر عند أول 2048 بايت أو أول زوج
>>ظاهر
Version 3.276.0
تمت الإضافة
- تمسح
ActivateWebLinksوActivateWebLinksExنص الصفحات القائم مرة لكل صفحة وتنشئ تعليقات روابط URI غير مكررة لأهداف HTTP وHTTPS وwww.وFTP وmailto:وعناوين البريد المجردة، مع خيارات كشف وإطار قابلة للاختيار - تستخدم الروابط المولَّدة هندسة المحارف المطابقة، وأرباعيات دقيقة للنص المدوَّر أو المائل عند السماح، وأعلام طباعة PDF/A، ودعماً للتقدم والإلغاء، واستعادة الصفحة المحددة؛ وتُحمى مستندات PDF الموسومة وPDF/UA من تحديثات شجرة بنية غير مكتملة
تم التغيير
- تستخدم
SetAutoCreateWebLinksالآن الكاشف الواعي بالحدود نفسه وتوحيد الأهداف نفسه عند إنشاء روابط للنص المرسوم حديثاً، مضيفة دعمwww.وFTP والبريد المجرد
تم الإصلاح
- لم يعد تحديث خصائص
/Contentsأو الاسم أو التاريخ أو العنوان أو الموضوع للتعليق التوضيحي يكتب فوق subtype لقاموس إجراء قائم، فتبقى إجراءات URI وغيرها صالحة بعد تغييرات بيانات التعليق الوصفية
Version 3.275.0
تمت الإضافة
- تستخرج
ExtractPageRangeTextوSavePageRangeTextToStreamوSavePageRangeTextToFileنطاق صفحات محلولاً في اجتياز واحد مع فواصل صفحات يحددها المستدعي؛ ويكتب إخراج السلسلة والملف بيانات UTF-8 تدريجياً فلا تحتاج المستندات الكبيرة إلى مخزن نص بحجم المستند كاملاً - تطبق
SetPageBoxRangeوRemovePageBoxRangeتغييرات حدود الصفحات عبر بناء جملة نطاق الصفحات القياسي مع الحفاظ على الصفحة التي اختارها المستدعي - تطبق
SetPageTransitionRangeوSetPageTransitionRangeExانتقالات عرض تقديمي قديمة أو موسعة على نطاقات الصفحات مع دعم تقدم وإلغاء لكل صفحة - يعرض
GeneratePageThumbnailsالصفحات المطلوبة مباشرة في ذاكرة قابلة لإعادة الاستخدام ويُرفق صور/Thumbالخاصة بها دون ملفات وسيطة أو عمليات تقدم متداخلة
Version 3.274.0
تم الإصلاح
- يحترم عرض GDI+ لأنماط التظليل المحوري مصفوفة
/Extendفي PDF الآن: تمررSetupGDIPlusPatternالقيمةWrapModeClampعند مدّ أي من الطرفين (مطابقة النهاية الخلفية لـ Cairo) بدلاً من استخدامWrapModeTileدائماً، فتُرسم ألوان الطرفين في المنطقة خارج محور التدرج بشكل صحيح
تمت الإضافة
- تختفي فقاعة تلميح التمرير (
"Page N / M") المعروضة أثناء سحب شريط التمرير العمودي تلقائياً الآن بعد 3 ثوانٍ من الخمول عبر معالجWM_TIMER، فلم تعد تبقى حتى يبدها حدث تمرير منفصل - تلتصق
ZoomInStep/ZoomOutStepالآن بنسبActualSize(100%) وFitWidthوFitPageعندما تقع بين التكبير الحالي والإعداد المسبق التالي على سلم الخطوات ذي 14 درجة، بما يطابق سلوك عارضات PDF الاحترافية - تكتب ذاكرة صفحات العارض على القرص علامة إصدار بناء (
cache.version) وتمسح جذر الذاكرة المؤقتة بالكامل عندما يتغير إصدار المكتبة، فلا تعيد ترقية البناء استخدام صور نقطية قديمة رُسمت بمسار كود أقدم
Version 3.273.1
تم الإصلاح
- كانت كائنات حاويات سلاسل الكائنات وسلاسل xref المنشأة أثناء الحفظ تُسرَّب لأنها تجاوزت تسجيل
TPDFStructure.AddObject؛ يستخدم كلا موقعي الاستدعاء الآن مصنعNewStreamWithDictالمتتبع للملكية، مما يلغي تسريبTPDFStreamالذي أبلغ عنه مشغّل الاختبارات تحتReportMemoryLeaksOnShutdown - كانت قيمة
/Sizeلسلسلة المراجع المتقاطعة ناقصة واحداً: يجب أن تكون واحدة بعد أعلى رقم كائن في الملف كله، وسلسلة xref هي نفسها كائن غير مباشر مرقّمMaxObj+1، لذا صارت/SizeالآنMaxObj+2
تم التغيير
- يزيل محسِّن سلاسل المحتوى ذو النافذة الضيقة الآن أيضاً معاملات مصفوفة النص المطابِقة (
1 0 0 1 0 0 Tm)، محتومًاcmوTmمعاً بفحص المطابقة السداسي المعاملات نفسه - يحفظ جمع البيانات المهملة بالوسم والمسح الكائن 1 (قاموس معاملات
/Linearized) عندما حُمّل المستند المصدر مخططاً، إذ لا يُشار إلى ذلك القاموس قط من/Rootلكن لا بد من بقائه
Version 3.273.0
تمت الإضافة
- يجمع حزم سلاسل الكائنات عند الحفظ (
TPDFDocument.PackObjectsIntoStreams) الكائنات غير المباشرة غير السلسلة المؤهلة، ويسلسلها في سلاسل كائنات PDF 1.5 (/Type /ObjStm) بضغط Flate، ويُصدر سلسلة مراجع متقاطعة ثنائية (/Type /XRef) تحمل مدخلات من النوع 0 والنوع 1 والنوع 2، مما يقلص حجم الملفات المحفوظة بنسبة 10-40% في المستندات كثيفة الكائنات - علم
TPDFlibSaveOptions.PackObjectStreamsمع واجهةTPDFlib.SetPackObjectStreams/GetPackObjectStreams؛ يكون مفعّلاً افتراضياً، ويُبوَّب تلقائياً بإصدار PDF (الإصدار 1.5 فأعلى يفعّل الحزم وسلاسل xref، والإصدار 1.4 فأدنى يحتفظ بـ xref النصي التقليدي للتوافق)، ويُبلغTPDFlib.GetLastSaveUsedObjectStreamsعما إذا كان الحفظ الأخير قد حزم فعلاً
Version 3.272.0
تمت الإضافة
- يجتاز جمع البيانات المهملة بالوسم والمسح للكائنات غير المباشرة غير المشار إليها (
TPDFDocument.GarbageCollectUnusedObjects) مخطط الكائنات من جذور المقطع الختامي (/Rootو/Infoو/Encrypt) ويزيل كل كائن غير مباشر يتعذر الوصول إليه، موقفًا نمو حجم الملف المتراكم عند حذف صفحات وتصبح موارد خطوطها ومحتواها وكائنات XObject أيتاماً - علم
TPDFlibSaveOptions.GarbageCollectمع واجهةTPDFlib.SetGarbageCollect/GetGarbageCollectيتيحان للمستدعين تفعيل جمع البيانات المهملة أثناء الحفظ الكامل (معطَّل افتراضياً للتوافق مع الإصدارات السابقة)، ويشغّلTPDFlib.GarbageCollectObjectsالجمع فوراً ويعيد عدد الكائنات اليتيمة المزالة
Version 3.271.0
تمت الإضافة
- يعيد محسِّن سلاسل المحتوى ذو النافذة الضيقة (
TPDFContentPeepholeOptimizer) كتابة سلسلة محتوى صفحة محلولة قبل ضغط Flate، مزيلًا معاملات PDF الدلالية الزائدة: مصفوفاتcmالمطابِقة، وأزواجq/Qالفارغة، وكائناتBT/ETالفارغة، والمسارات عديمة الأثر المنتهية بـnدون قص، ومضبطات حالة الرسومات المكررة (اللون، عرض الخط، الطرف/الوصل، الشرطات، حالة النص)، وnالميتة بعد معامل رسم - وجميع التحويلات متكافئة الإخراج فلا يتغير إخراج الصفحة الظاهر - علم
TPDFlibSaveOptions.OptimizeContentStreamsوواجهةTPDFlib.SetOptimizeContentStreams/GetOptimizeContentStreamsالمقابلة تتيحان للمستدعين تفعيل إعادة الكتابة بالنافذة الضيقة أثناءCompressContent/CompressPageأو تعطيلها؛ وهي مفعّلة افتراضياً
تم التغيير
- يمرر
TPDFDocument.CompressPageالآن علم التحسين إلى شجرة الصفحات بحيث تجري تمريرة النافذة الضيقة داخلTPDFPageTree.Compressقبل ضغط Flate القائم، راكمًا الاختزال على مستوى المعاملات فوق الضغط على مستوى البايتات
Version 3.270.0
تمت الإضافة
- يفك
PLParseDefaultAppearanceالجديد سلسلة بايتات المظهر الافتراضي/DA(ISO 32000-2 12.7.4.3) إلى اسم مورد الخط وحجمه ولون التعبئة، شاملًا معاملات الألوانrgوkوG، بحيث تستطيع مولدات مظهر حقول النماذج والتعليقات التوضيحية رسم النص بالنمط الذي قصده المؤلف
تم التغيير
- تجمّع سلسلة محتوى الصفحة (
TPDFRenderer.GetContents) مصفوفات/Contentsمتعددة الأجزاء الآن عبرTStringBuilderبدلاً من تكرارResult := Result + chunk، مزيلةً نمو السلاسل بتعقيد O(n^2) الذي كان يعاقب الصفحات كثيرة أجزاء سلاسل المحتوى
Version 3.269.0
تمت الإضافة
- تكتب
BeginMarkedContent/EndMarkedContentالجديدتان تسلسلات محتوى معلَّم مضمنة بخصائص إتاحة (/Altو/ActualTextو/Langو/E) مباشرة في قائمة خصائص BDC وفق ISO 32000-2 14.9.2–14.9.5، بحيث تقرأ قارئات الشاشة وأدوات الإتاحة النص البديل دون مدخل في شجرة البنية - يكشف قارئ التعليقات التوضيحية
GetAnnotEffectiveBorderالمنفذة لأسبقية Errata #287 (قاموس نمط الإطار/BSيتقدم على مصفوفة/Borderالقديمة) وحاسمةً العرض والنمط ونمط الشرطات في استدعاء واحد - تكشف مستندات التوقيع
GetSignatureSeedValueلقراءة قاموس قيم البذرة (/SV، ISO 32000-2 12.7.5.5 الجداول 236–237): المرشح الإلزامي وSubFilters المسموحة وأساليب الملخص المسموحة، بحيث يحترم الموقّع القيود التي ضمّنها المؤلف - تقرأ
GetSignatureFieldLockقاموس بذرة FieldMDP للـ/Lock(الجدول 238): الإجراء (/Allو/Includeو/Exclude) وأسماء الحقول المتأثرة التي يجب قفلها وقت التوقيع
Version 3.268.0
تمت الإضافة
- يحلل
PLParsePDFDateالجديد سلاسل التواريخ وفق ISO 32000-2 7.9.4 (D:YYYYMMDDHHmmSSOHH'mm') إلىTDateTimeمحلي، محترمًا البادئة الإلزاميةD:وسلّم اعتماد الحقول (كل حقل فقط عند وجود جميع الحقول السابقة) وإزاحة UT (+/-/Zمع دقائق بالفاصلة العليا اختياريًا)، معيدًا المقابل المحلي للحظة الموثقة - يتعرف فك ترميز سلاسل النص (
PLDecodeTextString) الآن على علامة BOM لـ UTF-8 في PDF 2.0 (EF BB BF) وفق 7.9.2.2.1، فتُفك البيانات الوصفية المكتوبة بـ UTF-8 بشكل صحيح بدلاً من قراءتها خطأً كـ PDFDocEncoding - تكشف مواصفات الملفات
GetFileNameالمحترمة لأسبقية PDF 2.0 (Path > UF > F) وفق Errata #444، مع واضعَي وصولGetEmbeddedFileStreamوGetRelatedFilesلقاموسَي/EFو/RF - تكشف قارئات التعليقات التوضيحية مساعدات أسبقية المظهر
GetAnnotNormalAppearanceوGetAnnotDefaultAppearanceوGetAnnotOffStateAppearanceالمنفذة لقواعد Errata #23/#34/#42/#170 (AP/N هي المرجع؛ وDA هي الرجوع لسلسلة البايتات؛ وتقع حالة Off تحت الاسمOff) - يُبلغ التحقق من PDF/UA عن كود جديد 10045 عندما يفشل نوع بنية غير قياسي في الانتهاء إلى نوع قياسي عبر سلسلة خرائط الأدوار (ISO 14289-1:2014 7.1)، مع حماية من الحلقات حتى عمق 8
- يتحقق تدقيق الخطوط لـ PDF/A وPDF/UA الآن من أن الخطوط المضمّنة CIDFontType2 تحمل
/CIDToGIDMapقيمتها إما الاسمIdentityوإما سلسلة، لا مجرد وجودها (ISO 32000-1 9.7.4)
تم التغيير
- يستخدم البحث في شجرة الأسماء (
NameTreeLookup) الآن البحث الثنائي في مصفوفةNamesالمرتبة وفق ISO 32000-2 7.9.6 قبل الرجوع إلى المسح الخطي، محولاً عمليات البحث الكبيرة في EmbeddedFiles/JavaScript/Dests من O(n) إلى O(log n) على الملفات المطابقة - توسعت مجموعة أنواع البنية القياسية لـ PDF/UA بإضافات PDF 2.0 (
ArtifactوDocumentFragmentوFENoteوMarkedContentوTitle) بحيث تتعرف فحوص عدم إعادة تعيين خريطة الأدوار وإنهاء السلسلة على مفردات الوسوم الكاملة
Version 3.267.0
تمت الإضافة
- يستطيع
EnumPageContentStatesExتعداد تعليمات Form XObject تكرارياً بعمق قابل للضبط وحماية من الحلقات وترتيب تنفيذ أولاً بالعمق - تكشف لقطات المحتوى الآن هوية شجرة الاستدعاء ومعلومات السلسلة الحاضنة وكائن XObject الأب، وهوية نطاق الموارد، وحالة اجتياز النموذج، وأعداد الأحفاد
- يستطيع متتبعات المحتوى المستقلة تسجيل خطوط محددة النطاق وتهيئة حالة تنفيذ نموذج معزولة بدمج المصفوفات وقص الصندوق المحيط
تم التغيير
- يختار تتبع المحتوى التكراري كل قاموس موارد نموذج بشكل مستقل، ويرث موارد الاستدعاء للنماذج القديمة المتوافقة، ويحفظ هوية الخط الموروث، ويخزّن برامج النماذج المفكوكة عبر الاستدعاءات المتكررة
Version 3.266.0
تمت الإضافة
- تحمل مقاطع النص التي تعيدها
GetTextRunsالآن أصل المحرف (OriginX/OriginY) ومكونات مصفوفة النص الكاملة (Tm11/Tm12/Tm21/Tm22/TmDX/TmDY) الملتقطة بإعادة تشغيل BT وTd وTD وTm وT* بجوار معاملات العرض، بحيث يحدد المستهلكون مواضع المحارف دون تمريرة قمع نص منفصلة - يوجّه فك ترميز التظليل الشبكي فضاءات الألوان Lab وCalRGB وCalGray عبر مدير الألوان الآن بدلاً من السقوط إلى الأسود، منتِجًا تعبئات صحيحة لرقع free-form وcoons غير DeviceRGB
- يُصدر التنقيح الآن تعليقاً توضيحياً حقيقياً
/Subtype /Redactمع/Rectولون داخلي/ICونص تراكب اختياري إلى جانب إزالة المحتوى القائمة، بحيث يميز العارضات الواعية بالتنقيح المنطقة المعقَّمة - تُصدر عمليات المكتبة سجلات سجل مهيكلة عند حدود التحميل والحفظ عبر
Loggerالخامل سابقًا، بطوابع زمنية UTC وفق ISO-8601 ومصرف ملفTStreamWriterمخزن لا يعيد فتح ملف السجل مع كل سطر - يحمي ثابت
Tests.Memoryالجديد دورات الإنشاء/الرسم/الحفظ/التحرير وNewDocumentمن انحدار الكومة، ويفعّل مشغل اختبارات وحدة التحكم الآنReportMemoryLeaksOnShutdown - يعدّ تفسير EMF الآن السجلات المجهولة أو الخاصة عبر خاصية
UnknownRecordCountفتصبح فجوات الميتافيل الصامتة قابلة للرصد
تم التغيير
- يبني البحث عن مفاتيح القواميس (
TPDFDictionary.FindIndexByKeyName) فهرس تجزئة بعنونة مفتوحة بكسل عند القواميس التي تزيد على 16 مدخلاً، محولاً المسح الخطي الذي سيطر على عمليات بحث العارض في Resources/ColorSpace/Font/ExtGState إلى مسسة O(1) - يستخدم تحويل غاما sRGB (
XYZ2RGB) جدول بحث مشتركًا من 4096 مدخلاً بدلاً من ثلاث استدعاءاتPower(x, 1/2.4)لكل بكسل، ويستخدم تكعيب Lab-to-XYZ الآن ضربات مباشرة؛ وكلاهما التكلفة السائدة لكل بكسل عند فك ترميز صور Lab أو القائمة على ICC - يعيد البحث عن الصفحة (
TPDFPageTree.GetPage) قاموس الصفحة المخزن عند الوصول المتكرر بدلاً من اجتياز شجرة الصفحات في كل استدعاء - يصنّف توزيع معاملات سلسلة المحتوى (
ContentOperatorFromName) المعاملات الـ 73 في سلال بحسب البايت الأول، مقلصًا المسح الخطي لكل وحدة إلى مقارنة متبقية قصيرة - يتفرع تدقيق فضاء الألوان لـ PDF/A الآن إلى الفضاء الأساسي أو البديل لـ Indexed وSeparation وDeviceN وICCBased حتى عمق 8، فيُعلَّم تحويل الصبغة DeviceCMYK المخفي أو اسم Lab المجرد بدلاً من مروره بصمت
- يجتاز إنهاء الخط المشكَّل الآن مجموعة المحارف المستخدمة المسجلة وقت الرسم بدلاً من مسح جميع خانات المحارف البالغة 65536 أربع مرات في كل حفظ
- تبني إجراءات تهريب السلاسل (السلاسل الحرفية وXFDF والختم وتوسيع الرموز المتغيرة) الإخراج عبر
TStringBuilderأو تخصيص بتمريرتين، مزيلةً الدمج بتعقيد O(n^2) من المسارات الساخنة للحفظ وتصدير النماذج - يعيد تشفير وفك تشفير سلاسل AES استخدام مخزن دفعته عبر تكرارات الحلقة بدلاً من إعادة تخصيصه لكل كتلة
- ينمو تحليل المحارف المركبة في محلل TrueType بمصفوفة مكوّنات تنمو هندسياً بدلاً من عنصر واحد في كل مرة
- تقرأ
ReadBitsللتظليل الشبكي الحد الأدنى من البايتات الغالبة في تمريرة واحدة وتضبطWriteBitsحجم مخزن الإخراج مسبقًا، ملغيةً إعادة التخصيص لكل بت - تستخدم نقطة تحكم دائرة الرسام ثابت كابا المحسوب مسبقًا، ويستخدم تربيع القوس
Sqrبدلاً منPower
تم الإصلاح
- أُصلح انكسار ترجمة خارج Windows في
PDFlibParallelحيث لم تتطابق بصمة جسم الهيكل البديل لـPDFlibRenderPagesParallelمع إعلان الواجهة
Version 3.265.0
تمت الإضافة
- أضيف 59 عرضاً توضيحياً لوحدة التحكم لـ C++Builder لمواءمة حزمة عروض C++Builder مع Delphi، ليس العدد الإجمالي من 33 إلى 92 عرضاً تغطي أسطح API نفسها
- أضيف توسيع Demo/C++Builder/index.html من 35 إلى 92 مدخلاً بأقسام Navigation وColor & ICC وBarcode & media وStructure & compliance
تم الإصلاح
- أُصلحت جميع ملفات cbproj الـ 33 القائمة لـ C++Builder التي كانت تنقصها 20 وحدة مكتبة (PDFlibMeshShading وPDFlibGraphics وPDFlibWindows وPDFlibParallel وPDFlibLogger وPDFlibMail وPDFlibViewer وغيرها) من قائمة DelphiCompile فيها، مما كان يمنع ترجمة كل عرض توضيحي لـ C++Builder
Version 3.264.0
تمت الإضافة
- تحل لقطات حالة الرسومات للمحتوى معاملات
Doالآن كصور أو نماذج أو كائنات XObjects لـ PostScript وتُبلغ عن أسماء موارد وأرقام كائنات وحدود محولة - تكشف لقطات النماذج
/Matrixو/BBoxالأصليين مع مؤشرات المورد والمجموعة ومجموعة الشفافية والنموذج المرجعي - يستطيع متتبعات المحتوى المستقلة التسجيل المسبق لسلاسل XObject عبر
RegisterXObject
تم التغيير
- يترجم تعداد حالة محتوى الصفحة الآن موارد XObject للصفحة المحددة مسبقًا ويحسب حدود الاستدعاء من الزوايا الأربع المحولة كلها
Version 3.263.0
تمت الإضافة
- تكشف لقطات حالة الرسومات للمحتوى الآن حدود المسار الحالي والنقطة الحالية وتعقيد المسار وقواعد القص المعلقة وحدود القص الفعالة
- يستطيع متتبعات المحتوى المستقلة تهيئة حدود قص صريحة عبر
SetInitialClipBounds
تم التغيير
- يتبع تعداد حالة محتوى الصفحة الآن القص المؤجل بـ
WوW*، والقيم القصوى التكعيبية المحولة بدقة، واستعادة القص بـq/Q، وحدودCropBoxللصفحة المحددة
Version 3.262.0
تمت الإضافة
- تُبلغ لقطات حالة الرسومات للمحتوى الآن عن وضع كتابة الخط وإزاحة النص الدقيقة لكل تعليمة وما إذا كانت مقاييس الخط قد حُلّت
- يستطيع متتبعات المحتوى المستقلة توفير قياسات الخطوط عبر
OnMeasureText
تم التغيير
- تقدّم تعداد حالة محتوى الصفحة الآن مصفوفات النص للمعاملات
TjوTJو'و"باستخدام مقاييس خطوط بسيطة أو مركبة وتحجيز أفقي وتباعد وقواعد كتابة عمودية
Version 3.261.0
تمت الإضافة
- يستطيع تتبع حالة الرسومات للمحتوى الآن حل موارد
ExtGStateللصفحة، بما يشمل الشفافية والمزج والطباعة الفوقية والأقنعة اللينة وضوابط الجهاز ومراجع الخطوط المضمّنة - يستطيع
TPDFContentStateTrackerالتسجيل المسبق لقواميس حالة رسومات خارجية لتحليل برامج محتوى مستقلة
تم التغيير
- تطبق معاملات حالة الرسومات الخارجية الآن تراكمياً وتشارك في لقطات حفظ واستعادة
q/Qكاملة
Version 3.260.0
تمت الإضافة
- أضيف تتبع حالة رسومات فعالة بتمريرة واحدة لبرامج محتوى مهيكلة وصفحات محددة كاملة
- تكشف اللقطات CTM ومصفوفات النص ونمط الخط ونمط الشرطات والألوان وحالة النص وعمق مكدس حالة الرسومات قبل كل تعليمة أو بعدها
تم التغيير
- يخلف تعداد إسناد الصور الزوايا الأربع للمربع الواحد الآن، منتِجًا حدوداً صحيحة تحت الدوران والقص
Version 3.259.0
تمت الإضافة
- أضيفت مساعدات زمنية مصنفة وأنماط خاصة وأقنعة عشوائية لحقول النماذج التفاعلية
- أضيف تحقق نطاقات بحدود آمنة للصفر اختيارية بشكل مستقل
- أضيفت حسابات حقول للمجموع والمتوسط والحاصل والحد الأدنى والحد الأعلى مع تسجيل تلقائي لترتيب الحساب
الأمان
- تهرب قيم سلاسل JavaScript المولَّدة الآن علامات الاقتباس والشرطات المائلة الخلفية ومحارف التحكم وفواصل أسطر JavaScript
Version 3.258.0
تمت الإضافة
- أضيف إنشاء إجراء
SetOCGStateمصنفاً لأحداث حقول النماذج والإجراءات القائمة وسلاسل الإجراءات - تحفظ إجراءات المحتوى الاختياري تغييرات الحالة من اليسار إلى اليمين والمجموعات المتكررة وتفضيل علاقة أزرار الراديو الاختياري
تم التغيير
- يعيد تعداد إجراءات المحتوى الاختياري الآن مقابض مجموعات قياسية تجتاز دورة الذهاب والعودة عبر واجهات الكاتب
Version 3.257.0
تمت الإضافة
- أضيفت كتابة كاملة صريحة للوجهات البعيدة بصفحات صفرية الأساس وجميع أنواع الملاءمة القياسية وقيم XYZ تقبل العدم وتفضيلات نافذة ثلاثية الحالة
- أضيفت كتابة كاملة لإجراءات التشغيل للملفات المحمولة ومعاملات Windows والأدلة الافتراضية وعمليات الفتح أو الطباعة
- تستطيع مقابض الإجراءات القائمة الآن تحديث هذه الحمولات أو إلحاقها بسلاسل الإجراءات دون واجهات مكررة خاصة بالحاويات
الأمان
- يرفض بناؤو إجراءات go-to البعيدة والتشغيل الآن وضع PDF/A قبل تعديل سلسلة إجراءات
Version 3.256.0
تمت الإضافة
- تُبلغ معاينة إجراء go-to البعيد الآن عن وجهات مسماة وصريحة وصفحات هدف صفرية الأساس وأنواع ملاءمة وإحداثيات وقيم تكبير
- تُبلغ معاينة إجراء التشغيل الآن عن معاملات تطبيقات Windows والأدلة الافتراضية وعمليات الفتح أو الطباعة
- يميز نثير الإجراءات بين تفضيل
/NewWindowالغائب والقيمة الخاطئة الصريحة ويحدد الأهداف القائمة على المصفوفات
Version 3.255.0
تمت الإضافة
- أضيف بناؤو مصنفون لإجراءات الوجهات المسماة البعيدة وإجراءات تشغيل التطبيقات الخارجية
- يدعم بناؤو إجراءات URI الآن طلبات خرائط الإحداثيات عبر علم
/IsMapالقياسي - تعمل أنواع الإجراءات الجديدة عبر واجهات دورة الحياة وحقول النماذج وسلاسل الإجراءات من خلال واجهة البناء الموسعة القائمة
Version 3.254.0
تمت الإضافة
- أضيف 14 عرضاً توضيحياً لـ Delphi يغطي واجهات API للمكتبة بلا عرض مخصص: OutlineBuilder وNamedDestinations وDocumentActions وEmbeddedFiles وLinearizeDemo وBarcodeGallery وXfaFields وTaggedPDF وOutputIntent وHtmlTextFlow وRichMediaAnnotations وMailSendDemo وTextBlockExtraction وPadesDssDemo
- أضيف قسم Navigation وقسم Color & ICC وقسم Barcode & media وقسم Structure & compliance إلى فهرس عروض Delphi، ليس العدد الإجمالي من 56 إلى 92 عرضاً مدرجاً
- أضيفت أدلة Readme.en-us.html للعروض العشرين التي كانت تُشحن سابقاً دون دليل
تم التغيير
- طُبق Formatter.config للمشروع على جميع مصادر عروض Delphi بحيث تتبع تباعد المعاملات والإزاحة وحالة أحرف الكلمات المفتاحية نمطاً واحداً، وضُبط NewLineBeforeThen على False بحيث يبقى If...Then على سطر واحد
- قُوّيت معالجة الأخطاء عبر عروض واجهة المستخدم الرسومية الكلاسيكية: تُفحص قيم إعادة SaveToFile الآن باتساق، وتُحمى أعمار TPDFlib والكائنات الثانوية دائماً بـ try/finally، وتتضمن رسائل الفشل LastErrorCode
تم الإصلاح
- أُصلحت قطبية SaveToFile المعكوسة في ImageToPdf التي كانت تعتبر النجاح فشلاً، ووُقف افتتاح AddTrueTypeSubsettedFont لملف قديم عند فشل الحفظ
- أُصلحت تسريبات موارد في CreateWithImageToStream وDoInTheStream وCanvasText وExtractText وExtractImage وPdfDecrypt وPdfEncrypt وPdfPermission حيث كانت حالات TPDFlib وTStream وTBitmap وTOpenDialog وTStringList تستطيع الإفلات في مسار استثناء
- أُزيل الكود الميت في AddFormattedTitle (تخصيص RectParts غير مستخدم، وtry/except زائدة حول StrToFloatDef) وMultiFunction (استدعاء SetTextSize المكتوب فوقه)
Version 3.253.0
تمت الإضافة
- أضيفت تفاصيل إجراءات مصنفة لإجراءات الخيط والصوت والفيلم والمحتوى الاختياري والتقديم والانتقال ومشاهدة 3D
- أضيف بحث قابل لإعادة الاستخدام عن مقابض إجراءات وتعداد مرتب لحالات المحتوى الاختياري
- أضيفت سجلات انتقال PDF كاملة تغطي أنماط replacement وFly وPush وCover وUncover وFade
تم الإصلاح
- تخزن انتقالا Wipe وGlitter اتجاههما الآن في
/Di، وتقرآن مدة عرض الصفحة من قاموس الصفحة، وتمسحان مدخلات الانتقال والتوقيت معاً - لم تعد أنماط الانتقال القياسية السابقة لـ PDF 1.5 تفرض إصدار إخراج PDF 1.5
Version 3.252.0
تمت الإضافة
- أضيف اكتشاف إجراءات حقول النماذج بتمريرة واحدة مع تفاصيل إجراءات مصنفة عبر مثيرات أساسية وأدوات widget وحقول
- أضيف تعداد كامل لترتيب الحساب وبحث لكل حقل وإزالة للنماذج التفاعلية
- وسّعت لقطات حقول النماذج الجماعية بترتيب الحساب وعدد الإجراءات
تم التغيير
- تدعم مثيرات دورة حياة Widget الآن إجراءات فتح الصفحة وإغلاقها وظهورها وإخفائها مع معالجة إصدار PDF 1.5 المطلوبة
Version 3.251.0
تمت الإضافة
- أُضيف تعدادٌ أحادي المرور للوجهات المسماة عبر مدخلات الكتالوج القديمة وأشجار الأسماء الحديثة مع معلمات صفحة وعرض مُحلَّلة
- أُضيفت إزالة الوجهات المسماة، وتسميات توضيحية كاملة لأزرار الدفع، وتحديد موضع نص الزر، وأسماء تعيين حقول النموذج
- وُسِّعت لقطات حقول النموذج الجماعية بأسماء التعيين وتسميات الأزرار وموضع نص الزر
تم الإصلاح
- يدعم تحرير شجرة الأسماء الآن قيم الوجهات المباشرة ويستخدم ترميز فهارس متعدد العقد غير غامض
Version 3.250.0
تمت الإضافة
- أُضيفت لقطات أحادية المرور لحقول النموذج تتضمن هوية الحقل ونوعه وصفحته وأعلامه وقيمه وحالة Choice
- أُضيفت استعلامات أعلام حقول Choice موصوفة بأنواع مع موصليات لفهرس العنصر المحدد وفهرس أعلى عنصر مرئي تم التحقق من صحتها
تم الإصلاح
- لم تعد حقول Choice أحادية الاختيار تحتفظ بمصفوفة
/Iمتعددة الاختيار، ويؤدي التحويل من تعدد الاختيار إلى اختيار مفرد إلى استبدال مصفوفة/Vالقديمة بقيمة نصية
Version 3.249.0
تمت الإضافة
- أُضيف اجتياز بحث نصي حالة أحادي المرور بحيث تستطيع التطبيقات المرور على النتائج المخزنة مؤقتاً دون استخراج الصفحات مرتين
- أُضيف تصدير جماعي لقيم النموذج وتطبيق قائم على الأسماء مع حماية اختيارية للحقول للقراءة فقط
Version 3.248.0
تمت الإضافة
- أُضيفت تحديدات Viewer محفوظة بهندسة فضاء الصفحة ونص مستخرج وتعداد ومسح وحدث تحديد منطقة قابل للنقض
- أُضيف التقاط دقيق لصورة نقطية لإطار العرض الحالي وإخراجها إلى ملف بما في ذلك الطبقات التراكبية الدائمة
Version 3.247.0
تمت الإضافة
- أُضيفت عناصر تحكم Viewer مستقلة لتحرير النماذج من قِبل المستخدم وتنشيط التعليقات التوضيحية
- أُضيف لون أمامي قابل للتهيئة لمحررات حقول النص والاختيار
Version 3.246.0
تمت الإضافة
- أُضيفت أنماط نهايات أسطر موصوفة بأنواع، وألوان داخلية للأشكال، وأوضاع إبراز الروابط، ومحاذاة FreeText، وحالة فتح تعليق Text، ورموز Caret
- يتحقق مُعيِّنو التعليقات التوضيحية من توافق الأنواع الفرعية ويرفعون الحد الأدنى لإصدار PDF تلقائياً عند اللزوم
Version 3.245.1
تم الإصلاح
- صُحِّح تحجيم صفحات تصدير FastReport وتخطيط الملاحظات النصية بحيث تحافظ تقارير A4 على مقياسها المقصود، ويبقى النص داخل حدود الملاحظات، وتظل إطارات الملاحظات غير المهيأة مخفية
Version 3.245.0
تمت الإضافة
- أُضيف
OnPasswordبحيث يمكن للتطبيقات توفير كلمة مرور أخرى بعد أن يرفض مستند مشفّر بيانات الاعتماد الأولية - تعمل إعادة محاولات كلمة المرور الآن باتساق لتحميل الملفات والتدفقات والسلاسل النصية، وتكشف رقم المحاولة التالية وتتيح للمعالج الإلغاء
الأمان
- تُقيَّد استدعاءات كلمة المرور بست عشرة محاولة إجمالاً، وتستخدم كل إعادة محاولة محللاً وحالة فك تشفير جديدين
Version 3.244.0
تمت الإضافة
- أُضيف
SetXMPPropertyExلكتابة الخصائص القياسية بأمان في نطاقات أسماء XMP يحددها المستدعي - تُهرَّب قيم XMP المخصصة عبر XML DOM، وتستبدل الكتابة المتكررة خاصية نطاق الاسم المطابقة، وتُرفض أسماء XML غير الصالحة أو المحجوزة
Version 3.243.0
تمت الإضافة
- أُضيفت إجراءات موصوفة بأنواع لدورة حياة المستند لمشغِّلات ما قبل الإغلاق وما قبل الحفظ وما بعد الحفظ وما قبل الطباعة وما بعد الطباعة
- أُضيفت إجراءات فتح وإغلاق صفحة موصوفة بأنواع مع دعم مشترك لمنشئي إجراءات URI والمسماة وJavaScript والنماذج والوجهات
- أُضيفت أساليب فحص الإجراءات وإزالتها لكل مشغِّلات دورة حياة المستند والصفحة
Version 3.242.0
تمت الإضافة
- أُضيف
SaveChangesلإلحاق التغييرات بالملف المُحمَّل أصلاً وإعادة تحميل سلسلة xref المحدَّثة تلقائياً من أجل الحفظ التزايدي المتكرر - يتحقق
SaveChangesمن كلمة مرور إعادة التحميل قبل الكتابة ويحافظ على مقبض المستند العام المحدد بعد إعادة التحميل
تم التغيير
- يرفض
AppendToFileالآن هدفاً يختلف طولُه الحالي عن المصدر المُحمَّل، مما يمنع إلحاق إزاحات تزايدية متقادمة بملف تغيّر خارجياً
Version 3.241.0
تمت الإضافة
- أُضيف
GetLastOutlineوGetLastChildOutlineللوصول المباشر إلى نهاية قائمة الإشارات المرجعية - أُضيف
GetOutlineChildCountوGetOutlineSiblingIndexلفحص خفيف لشجرة الإشارات المرجعية دون تخصيص لقطة كاملة للشجرة
Version 3.240.0
تمت الإضافة
- أُضيف
SaveAllAttachmentsExمع سياسات تعارض الكتابة فوق والتخطي وإعادة التسمية التلقائية إضافة إلى استدعاء رجعي لتسمية كل مرفق - تُختزَل أسماء تصدير المرفقات المطلوبة الآن إلى أسماء أوراق آمنة وتُحمى أسماء أجهزة Windows المحجوزة
تم الإصلاح
- صُحِّح
SaveAllAttachmentsالذي كان يعود دون كتابة ملفات لأن لقطة مرفقاته عُدَّت لكنها لم تُخصَّص وتُعبَّأ
Version 3.239.0
تمت الإضافة
- أُضيف
OnPageMouseDownوOnPageMouseMoveوOnPageMouseUpبحيث تستقبل مضيفات Viewer أرقام صفحات تبدأ من الواحد وإحداثيات نقاط PDF من الأعلى إلى الأسفل مستقلة عن التكبير والتمرير وتدوير العرض - أُضيف
RegionAtClientPointوActiveRegionوOnActiveRegionChangeللتمييز بين الروابط والتعليقات التوضيحية غير الرابطية وحقول النماذج عندما يدخل المؤشر إليها أو يغادرها - أُضيف
CreatePDFlibViewerDefaultPopupMenuوInstallPDFlibViewerDefaultPopupMenuاللذان يركّبان أصناف إجراءات Viewer الموجودة في قائمة سياق جاهزة للنسخ والتكبير والملاءمة والتدوير والتنقل والحفظ والطباعة
Version 3.238.0
تمت الإضافة
- أُضيف
OnOperationProgressبنوع عملية موصوف ونمط دورة حياة ووحدات حالية وإجمالية ونسبة مئوية ونص تفاصيل مع الإبقاء على استدعاء النسبة المئوية الكلاسيكيOnProgress - تُبلِغ نقاط دخول تحميل وحفظ وبحث ودمج وعرض صفحات الملفات والتدفقات والسلاسل النصية الآن عن مراحل البداية والنهاية؛ كما تُبلِغ العمليات ذات التقدم الوسيط عن
opRunning - يؤدي ضبط
CancelأثناءopStartingأوopRunningإلى تنشيط حالةAbortالحالية، موفِّراً مسار إلغاء واحد للمستدعين القدامى والجدد
تم الإصلاح
- يحفظ
LoadFromFileالآن رمز الخطأ 404 لكلمة المرور الخاطئة بدلاً من الكتابة فوقه بخطأ التحميل العام 401 بعد التنظيف
Version 3.237.0
تمت الإضافة
- أُضيف
SearchTextEachوTPDFlibSearchHitEventلإصدار كل نتيجة نصية فوراً دون تخصيص مصفوفة نتائج أو تحجيمها - تُبلِغ
SearchTextوSearchTextEachالآن عن تقدم الصفحات عبرOnProgressوتحترم كلًّا منAbortوإلغاء الاستدعاء الرجعي؛ ويستخدم إلغاء الاستدعاء الرجعي حالة الإحباط الحالية حتىResetAbort - يستهلك لوحة البحث وطبقة إبراز نتائج البحث في Viewer واجهة البث الآن بمرور واحد، مما يزيل الحدَّين السابقَين البالغين 256 صفاً و512 إبرازاً
تم الإصلاح
- يواصل البحث عن الكلمات الكاملة الآن البحثَ بعد ظهور سابق لجزء من الكلمة في الكتلة النصية نفسها للعثور على تطابق لاحق محدَّد الحدود بشكل صحيح
Version 3.236.0
تمت الإضافة
- أُضيف
GetPrinterCapabilitiesلالتقاط لقطة حية لتعريف طباعة الطابعة دون بدء مهمة طباعة - تتضمن النتيجة الموصوفة بالنوع
TPDFlibPrinterCapabilitiesمعرفات الورق وأسماءه ومقاساته بالمليمترات، ومعرفات صناديق الإدخال وأسماءها، ودعم الطباعة على الوجهين واللون والوضع الأفقي والفرز، ومنفذ الطابعة، والحد الأقصى لعدد النسخ الذي يبلِّغ عنه التعريف - تعود برامج التعريف التي تُغفل بيانات ورقة أو صندوق بالقدرات المتبقية مع مصفوفات فارغة، بينما تعود أسماء الطابعات غير الصالحة بلقطة ممسوحة تماماً
Version 3.235.0
تمت الإضافة
- أُضيف
SendDocumentByMailلحفظ المستند المُحمَّل في ملف PDF مؤقت وتسليمه كمرفق SMTP عبر موفر CDO المدمج في Windows - أُضيفت نقطة الامتداد المُحصاة بالمراجع
IPDFlibMailProviderبحيث يمكن للتطبيقات توفير وسيلة نقل أخرى ودعم مضيفات غير Windows واختبار سير عمل البريد دون الوصول إلى الشبكة - تستخدم كل عملية إرسال دليلاً مؤقتاً معزولاً، وتنقّي اسم عرض المرفق، وتزيل ملف PDF ودليله بعد عودة الموفر؛ ويُبلِّغ
GetLastMailErrorعن إخفاقات التحقق والحفظ والنقل والمنصة
Version 3.234.0
تمت الإضافة
- أُضيفت عناصر نائبة متغيرة لنص الطوابع والترويسات والتذييلات: تتوسع
<%PageNo%>و<%TotalPages%>و<%ShortDate%>و<%LongDate%>و<%ShortTime%>و<%LongTime%>لكل صفحة إلى جانب رموز & الكلاسيكية - يُحلّ أي عنصر نائب مخصص
<%name%>عبر حدثOnCalcVariableالجديد الذي يستقبل الاسم ورقم الصفحة ويوفر البديل - فتُطبع الأرقام المتسلسلة ورموز الدفعات وحقول العملاء دون معالجة النص مسبقاً؛ وبدون معالج تبقى العناصر النائبة غير المعروفة كما هي
Version 3.233.0
تمت الإضافة
- أُضيف اكتشاف الحروف المرتفعة والمنخفضة إلى استخراج النص: يُبلِغ
GetTextBlockVAlignالجديد عن تصنيف خط الأساس لكل كتلة نص مستخرجة (0 = خط الأساس، 1 = مرتفع، 2 = منخفض) نسبةً إلى سطرها المرئي، بحيث يمكن التعرف على الصيغ الكيميائية والأسس وعلامات الحواشي - تُصنَّف الكتلة كمرتفعة أو منخفضة عندما تكون أصغر بوضوح من النص المسيطر على السطر ويقع مركزها الرأسي فوق المركز المسيطر أو تحته ضمن ارتفاع نص واحد
Version 3.232.0
تمت الإضافة
- أُضيف تقسيم الكلمات على مستوى الأحرف إلى استخراج النص: يعيد
SetTextExtractionOptions(17, 1)تقسيم أجزاء عرض النص التي لا تحمل محارف مسافة إلى كلمات أينما كانت خطوة التقدم لكل حرف أوسع بكثير من وسيط تقدم المحارف في الجزء - فالمستندات التي ترسم أسطراً كاملة كمعامل واحد مع فجوات تباعد أحرف تحل محل المسافات تُستخرج الآن ككلمات منفصلة في الوضعين 7 و9-11 منGetPageText - تبقى مصفوفات التقدم متوائمة مع النص الموسع، فيظل إخراج أرباع الكتل وعرض كل حرف متسقاً
Version 3.231.0
تمت الإضافة
- أُضيف تصدير نص بشبكة ثابتة يحافظ على التخطيط: يُطابق
GetPageText(11)هندسة الصفحة على شبكة أحرف ثابتة العرض - تتجمع الصفوف حسب خط الأساس، وتستقر كل كتلة في عمودها المحسوب من متوسط عرض الحرف، وتُحشى الخلايا الأقصر بمسافات حقيقية - فتحافظ الجداول والنماذج على محاذاتها البصرية في عارضات النص العادي والطرفيات ومقارنات الفروق دون الاعتماد على مواضع الجدولة - توثّق صفحة مرجع
GetPageTextالآن أوضاع ترتيب القراءة (9) والجدول المفصول بعلامات الجدولة (10) والشبكة الثابتة (11)
Version 3.230.0
تمت الإضافة
- أُضيفت إزالة الواصلات إلى استخراج النص: يعيد
SetTextExtractionOptions(16, 1)وصل الكلمات المقطوعة بالواصلة عبر فواصل الأسطر ("inter-" في نهاية سطر يتبعها "national" تصبح "international") في مخرجاتGetPageTextالموجَّهة بالأسطر في الوضعين 7 و9 - لا يدمج الأسلوب الاستدلالي إلا عندما تسبق حرفٌ الواصلة ويبدأ السطر التالي بحرف صغير، فتحافظ نطاقات الأرقام والأسماء العلم والحروف الكبيرة في بداية الجملة على واصلاتها
Version 3.229.0
تمت الإضافة
- أُضيف حدث
OnBeforeSnapshotإلى عنصر تحكمTPDFlibViewer: يُطلَق قبل التقاط السحب للقطة مع المنطقة المسحوبة، ويؤدي ضبط Handled إلى إلغاء الالتقاط الافتراضي إلى الحافظة بحيث تعالج التطبيقات المنطقة بنفسها - كُشِف
PrefetchEnabled: يمكن الآن إيقاف عامل العرض المسبق في الخلفية وتشغيله في وقت التشغيل (يتوقف العامل فوراً ويعاد تشغيله على المستند المفتوح) - كُشِف
DiskCacheMaxDocuments: أصبح عدد المستندات التي يحتفظ بها المخزن المؤقت للصفحات على القرص عبر الجلسات قبل التقليم قابلاً للضبط (الافتراضي 10)
Version 3.228.0
تمت الإضافة
- أُضيف تنقل دقيق إلى عنصر تحكم
TPDFlibViewer: يقفزGoToPagePointإلى صفحة ويمرر نقطة صفحة معينة إلى أعلى يسار إطار العرض، فتستقر وجهات الروابط ونتائج البحث في موضعها بدقة - أُضيف تحكم برمجي في التمرير: خطوات بالبكسل عبر
ScrollBy، وخصائصHScrollPos/VScrollPosللقراءة والكتابة (مثالية لمزامنة عارضين متجاورين على المستند نفسه)، وGetScrollPosForPageالذي يبلِّغ عن مرساة تمرير كل صفحة في الوضع المتصل - أُضيف جسران إحداثيات عامان
ClientPointToPageوPageRectToClientRectيحوِّلان بين بكسلات العميل وفضاء مستخدم الصفحة عبر التكبير والتدوير والتمرير؛ وتتشارك اختبارات الإصابة الداخلية الهندسة الدقيقة لمسار الرسم وتعمل أيضاً على عناصر تحكم بلا عنصر أب (عديمة الواجهة)
Version 3.227.0
تمت الإضافة
- أُضيفت أحداث حالة العرض إلى عنصر تحكم
TPDFlibViewer: يُطلَقOnZoomChangeعند كل تغيير فعلي للتكبير (تكبير صريح، خطوات القيم المسبقة، إعادة حساب وضع الملاءمة عند تغيير الحجم أو التدوير أو DPI) ويتتبعOnHScroll/OnVScrollموضع التمرير، فتبقى أشرطة الأدوات وشاشات الحالة متزامنة دون استطلاع دوري - يُظهر سحب مقبض شريط التمرير الرأسي الآن فقاعة عائمة "Page N / M" تستعرض الصفحة التي ستستقر عليها العيِّنة - وهو عون كبير في المستندات الطويلة؛ وتُطفئه خاصية
ScrollHintEnabled(مفعَّلة افتراضياً)
Version 3.226.0
تمت الإضافة
- اكتملت حلقة التعبئة والحفظ في عنصر تحكم
TPDFlibViewer: تكتبSaveToFileوSaveToStreamالمستند المعروض - شاملةً تعديلات النماذج المرتكزة - إلى القرص أو تدفق (يلتزم أي محرر موضعي مفتوح أولاً) - تُحرَّر حقول النص متعددة الأسطر الآن في ملاحظة متعددة الأسطر حقيقية: يُدرج Enter فاصل سطر، ويلتزم Ctrl+Enter، ويلغي Escape؛ وتحتفظ الحقول أحادية السطر بسلوك الالتزام بـ Enter العادي
- ينتقل المحرر الموضعي عبر Tab وShift+Tab بين حقول النص والاختيار القابلة للتحرير في المستند متتبعاً صفحة كل حقل؛ وتوفر
FocusNextFormFieldالتنقل نفسه برمجياً
Version 3.225.0
تمت الإضافة
- أُضيف التكبير بسلَّم القيم المسبقة إلى عنصر تحكم
TPDFlibViewer: يُثبّتZoomInStepوZoomOutStepالتكبير على تسلسل القيم المسبقة القياسي (1، 5، 10، 25، 50، 75، 100، 150، 200، 400، 800، 1600، 2400، 3200 في المئة) انطلاقاً من التكبير الساري حالياً لتتدرج أوضاع الملاءمة طبيعياً؛ وتستخدم إجراءات تكبير شريط الأدوات السلَّم نفسه الآن - يُكبِّر Ctrl+عجلة الفأرة الآن على طول سلَّم القيم المسبقة بينما تواصل العجلة العادية التمرير
- أُضيفت اختصارات لوحة مفاتيح: تدرّج Ctrl+'+'/'-' في التكبير، وتبديل Ctrl+1/2/3 إلى الحجم الفعلي وملاءمة العرض وملاءمة الصفحة، وقفزات Shift+Up/Down إلى الصفحة الأولى والأخيرة
Version 3.224.0
تمت الإضافة
- أُضيف
CreateSelfSignedCertificateبنقاط دخول Delphi وDLL وActiveX: يولِّد شهادة RSA موقعة ذاتياً (توقيع SHA-256، وموضوع وصلاحية وطول مفتاح قابلَان للتهيئة) ويصدّرها مع مفتاحها الخاص إلى ملف PFX محمي بكلمة مرور، جاهزةً لـSignFileوواجهات عملية التوقيع - بحيث يمكن بناء سير عمل التوقيع واختباره دون هيئة شهادات خارجية - تُنشأ الشهادة في حاوية مفاتيح مؤقتة تُحذف بعد التصدير؛ والملف PFX وحده يحفظ مادة المفتاح. الشهادات الموقعة ذاتياً مخصصة للاختبار والمستندات الداخلية - وتوسمها العارضات كغير موثوقة ما لم تُثبَّت صراحةً
Version 3.223.0
تمت الإضافة
- أُضيف
TPDFlibShapeWatermarkإلى طبقة العلامات المائية القابلة للتركيب: تُطبع المستطيلات والدوائر والأشكال البيضاوية والمضلعات وسلاسل منحنيات Bezier والخطوط المستقيمة على نطاق صفحات بألوان تعبئة وحدود وعرض خط وتعتيم عبر نقطة دخولApplyWatermarkنفسها المستخدمة لعلامات النص والصورة المائية - تُحجِّم أشكال المستطيل والدائرة والبيضاوي نفسها من Width/Height؛ وتأخذ أشكال المضلع والمنحنى والخط هندستها من
SetPoints(أزواج X,Y محلية)، فتنطبق شبكة المواضع ذات التسع نقاط والموضع المخصص على كل نوع من الأشكال؛ وتُرفض الهندسة المنحطة (نقاط قليلة جداً)
Version 3.222.0
تمت الإضافة
- أُضيف
AddLinkToEmbeddedPDFبنقاط دخول Delphi وDLL وActiveX: بقعة ساخنة على صفحة تفتح ملف PDF مضمَّناً في المستند الحالي (باسمه في EmbeddedFiles) وتقفز إلى صفحة مختارة فيه، مستخدمةً إجراء الانتقال المضمَّن القياسي (/GoToE) من ISO 32000-1 §12.6.4.4 مع طلب اختياري لنافذة جديدة؛ يرتفع إصدار المستند تلقائياً إلى PDF 1.6 - يتعرف
GetAnnotActionInfoوإخوته المخصصان للمخططات التفصيلية وحقول النماذج الآن على إجراءات الانتقال المضمَّنة، مبلِّغاً عن النوع الجديدakGoToEمع اسم الهدف المضمَّن وعلاقة الهدف أب/ابن ومواصفة الملف الاختيارية وعلامة /NewWindow
Version 3.221.0
تمت الإضافة
- أُضيف
SetSignProcessAppearanceTextبنقاط دخول Delphi وDLL وActiveX: يمكن للتوقيعات الرقمية الآن إظهار مظهر نصي مرئي يُولَّد تلقائياً يتألف من اسم الموقّع والسبب والموقع وتاريخ التوقيع، مع تسميات وصفية اختيارية ("Signed by:", "Reason:", ...) تُختار عبر قناع بتات - يُنسَّق كتلة النص داخل مستطيل حقل التوقيع بخط Helvetica بلون قابل للتهيئة؛ ويكيّف حجم الخط 0 الأسطر تلقائياً مع الحقل. تحتفظ صورة الحقل المعيَّنة عبر
SetSignProcessFieldImageFromFileبالأسبقية، وتتجاهل عمليات الطابع الزمني للمستند المظهر النصي
Version 3.220.0
تمت الإضافة
- أُضيفت تعبئة النماذج التفاعلية إلى عنصر تحكم
TPDFlibViewer: يؤدي النقر على مربع اختيار أو زر راديو إلى تبديله، ويفتح النقر على حقل نص أو اختيار محرراً موضعياً فوق الحقل (يلتزم Enter، ويلغي Escape، ويلتزم مغادرة المحرر)؛ وتُترك الحقول للقراءة فقط دون مساس وتُعاد الصفحة المتغيرة إلى العرض تلقائياً - تُطلِق كل كتابة حدث
OnFormFieldValueChangedالجديد، وترسمHighlightFormFieldsمعFormHighlightColorخلفية شبه شفافة فوق كل مساحة قابلة للتعبئة ليميّز المستخدمون حقول النموذج - أُضيفت النظائر البرمجية
FormFieldAtPagePointوGetFormFieldPageRectوToggleCheckBoxFieldوSetFormFieldValueAndRefreshوBeginEditFormFieldوCommitInplaceEditorالتي تُشغِّل الآلية نفسها دون إدخال من الفأرة
Version 3.219.0
تمت الإضافة
- أُضيف تفاعل التعليقات التوضيحية إلى عنصر تحكم
TPDFlibViewer: يؤدي النقر على تعليق توضيحي غير رابط إلى إطلاق حدثOnAnnotClickالجديد مع الصفحة وفهرس التعليق والنوع الفرعي، وتكشفAnnotAtPagePointاختبار الإصابة برمجياً (تُتخطى رفيقات Popup) - يُظهر التحويم فوق تعليق توضيحي نص Contents الخاص به كتلميح لعنصر التحكم (يعمل مفتاح
AnnotHintsالمفعَّل افتراضياً مع خاصيةShowHintالقياسية) - أُضيف
SaveAnnotAttachmentToFileلكتابة الملف المضمَّن لتعليق توضيحي من نوع FileAttachment إلى القرص، مكمِّلاً سير عمل حفظ المرفقات بالنقر في العارض
Version 3.218.0
تمت الإضافة
- أُضيف مخزن مؤقت للصفحات على القرص يعمل عبر الجلسات إلى عنصر تحكم
TPDFlibViewer: يؤدي ضبطDiskCacheFolderإلى إبقاء الصفحات المعروضة على القرص بحيث يعيد المستند المُشاهد حديثاً الفتح فوراً دون إعادة عرض - تُفهرَس الصفحات المخزنة مؤقتاً ببصمة لمسار المستند وحجمه ووقت آخر كتابة له، فيُبطل تحرير الملف صفحاته المتقادمة تلقائياً؛ ويحتفظ المخزن بعشرة مستندات كحد أقصى ويقلِّم الأقل استخداماً مؤخراً
- أُضيف عداد
DiskCacheHitsالذي يبلِّغ عن عدد عمليات عرض الصفحات التي وفَّرها المخزن المؤقت على القرص
Version 3.217.0
تمت الإضافة
- أُضيفت وحدة
PDFlibViewerActionsبعشرين صفاً جاهزاً من أحفادTActionلـTPDFlibViewer، فتعمل أشرطة الأدوات والقوائم دون كود وصل: تنقل بين الصفحات (First/Prior/Next/Last)، وتكبير (In/Out/FitWidth/FitPage/ActualSize)، وتدوير العرض (باتجاه عقارب الساعة/عكسها)، والطباعة، وحوارات فتح الملف والحفظ باسم، ونسخ النص المحدد، ومفاتيح أوضاع أدوات الفأرة الخمسة - يستهدف كل إجراء عارضاً عبر خاصية
Viewerويحدِّث حالة تمكينه (مستند مفتوح، موضع صفحة، تحديد موجود) وحالة تحديده (ملاءمة تكبير نشطة أو أداة فأرة) تلقائياً؛ وتُسجَّل جميع الإجراءات في فئة losLab PDF لمحرر قائمة الإجراءات - أُضيف
TPDFlibViewer.EffectiveZoomPercentالذي يبلِّغ عن التكبير الساري فعلياً (بما في ذلك عوامل ملاءمة العرض/الصفحة المحسوبة) بحيث يمكن أن تُبنى عليه خطوات التكبير
Version 3.216.0
تمت الإضافة
- أُضيف إبراز نتائج البحث إلى عنصر تحكم
TPDFlibViewer: يبحثHighlightSearchHitsفي المستند بأكمله ويرسم شريطاً شبه شفاف فوق كل تطابق يبقى في مكانه أثناء التمرير والتكبير والتدوير، معClearSearchHighlightsوSearchHighlightCountوSearchHighlightColorقابل للتهيئة - يرسم
TPDFlibSearchPanel.RunSearchالآن أيضاً أشرطة النتائج في العارض المرفق (تُطفئها خاصيةHighlightInViewالجديدة المفعَّلة افتراضياً)، فتظهر نتائج البحث على الصفحات لا في قائمة النتائج فحسب
Version 3.215.0
تمت الإضافة
- أُضيفت أوضاع أدوات الفأرة إلى عنصر تحكم
TPDFlibViewerعبر خاصيةViewerModeالجديدة:vmSelectلتحديد النص (افتراضي)، وvmHandللتحريك بالسحب بمؤشر قبضة (ما يزال النقر العادي يتبع الروابط)، وvmZoomلتكبير منطقة يكبِّر الشريط المسحوب ليملأ إطار العرض، وvmSnapshotلالتقاط منطقة إلى الحافظة، وvmHighlightلإبراز دائم شبه شفاف للمناطق - أُضيف
CaptureRegionلعرض أي منطقة عميل (الصفحات مع الإبرازات) في صورة نقطية يملكها المستدعي، وحدثOnSnapshotومفتاحSnapshotToClipboardلمعالجة اللقطات، وAddHighlightRegion/ClearHighlightRegions/HighlightRegionCountمعHighlightColorقابل للتهيئة لإبرازات مرتبطة بالصفحة تنجو من التكبير والتدوير والتنقل
Version 3.214.0
تمت الإضافة
- أُضيفت الطباعة إلى عنصر تحكم
TPDFlibViewer: يُظهرPrintDocحوار طباعة Windows القياسي (اختيار الطابعة، نطاق الصفحات، النسخ، الفرز) ويسلّم المهمة إلى محرك طباعة المكتبة، بينما يطبعPrintDoc(False)المستند بأكمله على الطابعة الافتراضية دون أي واجهة - أُضيف
PrintDocRangeلطباعة العارض برمجياً بالكامل مع اسم طابعة صريح ونطاق صفحات وعدد نسخ وعلامة فرز
Version 3.213.0
تمت الإضافة
- أُضيف تدوير العرض إلى عنصر تحكم
TPDFlibViewer: يديرRotateClockwise90وRotateAntiClockwise90الصفحات المعروضة بخطوات 90 درجة، وتقرأ خاصيةViewRotationالزاوية أو تضبطها مباشرة (0 أو 90 أو 180 أو 270) - التدوير خاصية عرض خالصة: لا يُعدَّل المستند أبداً، ويواصل النقر على الروابط وتحديد النص العمل عند كل زاوية، وتتكيف أوضاع ملاءمة العرض والصفحة مع شكل الصفحة المدوَّرة، ويعيد فتح مستند جديد ضبط العرض إلى 0 درجة
- تُخزَّن الصور النقطية للصفحات المدوَّرة مؤقتاً لكل زاوية، فيعيد التبديل بين الزوايا استخدام العروض السابقة بدلاً من إعادة العرض
Version 3.212.0
تم التغيير
- تحسَّن توافق مسارات SOM لمجموعات بيانات XFA: تقبل
GetXFAFormFieldValueوSetXFAFormFieldValueالآن محددات جُمل بسيطة بأسلوب FormCalc مثل$data.Receipt.Detail.[Total_Price > 200].Descriptionوتحدِّث كل عقدة بيانات مطابقة عندما تختار الجملة مجموعة جزئية
Version 3.211.0
تم التغيير
- تحسَّن توافق مسارات SOM لمجموعات بيانات XFA: تقبل
GetXFAFormFieldValueوSetXFAFormFieldValueالآن محددات أصناف Data DOM مثل#dataGroupو#dataValueمع تكرارات رقمية أو بديلة، ما يتيح مسارات قائمة على الأصناف مثل$data.Receipt.#dataGroup[0].#dataValue[0]
Version 3.210.0
تم التغيير
- تحسَّن توافق مسارات SOM لمجموعات بيانات XFA: تقبل
GetXFAFormFieldValueوSetXFAFormFieldValueالآن الجذر$recordفي الحزم التي لا تعالج السجلات، فتُحلّ مسارات مثل$record.Taxو$record/Detail[0]/Total_Priceمن عنصر سجل البيانات الخارجي
Version 3.209.0
تم التغيير
- تحسَّن تبادل التعليقات التوضيحية في XFDF: تكتب تصديرات التعليقات الآن سمات نمط الحدود القياسية
widthوstyleوdashesمن قيم/BSللتعليق التوضيحي، وتستعيد عمليات الاستيراد تلك السمات على التعليقات المدرجة
Version 3.208.0
تم التغيير
- تحسَّن تبادل التعليقات التوضيحية في XFDF: تكتب تصديرات التعليقات الآن السمتين القياسيتين
creationdateوopacityمن قيمتي/CreationDateو/CA، وتستعيد عمليات الاستيراد تلك السمات على التعليقات المدرجة
Version 3.207.0
تم التغيير
- تحسَّن تبادل التعليقات التوضيحية في XFDF: تكتب تصديرات التعليقات الآن أسماء
flagsالقياسية من قيم/F، وتستعيدها عمليات الاستيراد إلى أعلام التعليق التوضيحي المدرج
Version 3.206.0
تم التغيير
- تحسَّن توافق مسارات SOM لمجموعات بيانات XFA: تقبل
GetXFAFormFieldValueوSetXFAFormFieldValueالآن محددات البدل للأبناء المباشرين مثل$data.Receipt.*.Total_Priceلقراءة الفروع الأبناء المطابقة أو تحديثها دون اختيار حقول تحمل الاسم نفسه على العقدة الأب
Version 3.205.0
تم التغيير
- تحسَّن توافق مسارات SOM لمجموعات بيانات XFA: تقبل
GetXFAFormFieldValueوSetXFAFormFieldValueالآن محددات السلالة مثل$data..Total_Priceو$data.Receipt..Total_Priceلقراءة أول عقدة بيانات سليل مطابقة أو تحديثها
Version 3.204.0
تم التغيير
- تحسَّن توافق مسارات SOM لمجموعات بيانات XFA: تقبل
GetXFAFormFieldValueوSetXFAFormFieldValueالآن خاصيةparentفي مسارات مثل$data.Receipt.Detail[1].parent.Taxلقراءة بيانات شقيق الأب للعقدة المحددة أو تحديثها
Version 3.203.0
تم التغيير
- تحسَّنت معالجة التكرارات في SOM لمجموعات بيانات XFA: تدعم
GetXFAFormFieldValueوSetXFAFormFieldValueالآن محددات[*]مثل$data.Receipt.Detail[*].Total_Priceلقراءة كل عقدة بيانات متكررة مطابقة أو تحديثها
Version 3.202.0
تم التغيير
- تحسَّن توافق مسارات SOM في XFA: تحفظ واجهات حقول مجموعات بيانات XFA والقالب الآن النقاط الحرفية في مسارات الحقول المفصولة بمائل، وتقبل نقاطاً مهربة مثل
Line\.Itemفي مسارات SOM المفصولة بنقاط
Version 3.201.0
تم التغيير
- تحسَّن توافق مسارات مجموعات بيانات XFA: تقبل واجهات قيم حقول XFA الآن المسارات المفصولة بمائل بعد جذور SOM البيانات القياسية مثل
$data/...وxfa.datasets.data/...وxfa.datasets/...
Version 3.200.0
تم التغيير
- تحسَّن توافق SOM لمجموعات بيانات XFA: تقبل واجهات قيم حقول XFA الآن الصيغة القياسية المختصرة
!data...بما فيها المسارات المفصولة بمائل مثل!data/...
Version 3.199.0
تم التغيير
- تحسَّن توافق مسارات قالب XFA: تقبل واجهات تحرير القالب الآن مسارات الحقول المفصولة بمائل التي تعيدها عملية تعداد أسماء حقول XFA، بما فيها مسارات
$template/...
Version 3.198.0
تم التغيير
- تحسَّن توافق نطاقات الأسماء لمجموعات بيانات XFA: تقرأ واجهات قيم الحقول عقد البيانات وتحدِّثها بالاسم المحلي لـ XML عندما تستخدم بيانات الأعمال داخل حزمة datasets بادئة نطاق أسماء خاصة بها، ويعيد تعداد أسماء الحقول مسارات خالية من البادئات
Version 3.197.0
تم التغيير
- تحسَّن تبادل التعليقات التوضيحية في XFDF: تتضمن تصديرات التعليقات الآن السمتين الشائعتين
nameوdateمن/NMو/M، وتستعيد عمليات الاستيراد تلك القيم على التعليقات المدرجة، ويقبلSetAnnotStrPropertyالآن الوسم 104 لتواريخ تعديل التعليقات التوضيحية
Version 3.196.0
تم التغيير
- تحسَّن تعداد أسماء حقول XFA: تمسح واجهات قائمة الحقول الآن كل سجل بيانات من المستوى الأعلى في حزمة datasets وتعيد حقول بيانات الأوراق دون إضافة المجموعات الحاوية بوصفها حقولاً
Version 3.195.0
تم التغيير
- تحسَّن توافق مجموعات بيانات XFA: تقرأ واجهات قيم حقول XFA وتحدِّث الآن حزم XDP الكاملة التي تستخدم حزمتها datasets عنصر
dataبلا بادئة
Version 3.194.0
تم الإصلاح
- تحسَّنت تحديثات حقول قالب XFA: تقبل واجهات حقول قالب XFA الآن جذور SOM القياسية للقالب مثل
$templateوxfa.template، وتُحفظ التغييرات الخاصة بالقالب في تدفقات XDP الكاملة بشكل صحيح
Version 3.193.0
تم التغيير
- تحسَّنت عنونة حقول XFA: تقبل واجهات قيم حقول XFA الآن جذور SOM البيانات القياسية مثل
$dataوxfa.datasets.dataإضافة إلى مسارات الحقول النسبية
Version 3.192.0
تم التغيير
- تحسَّنت معالجة حزم XML في XFA: تُفكّ تدفقات XFA ذات علامات ترتيب البايتات UTF-16 أو أنماط بايتات XML من نوع UTF-16 ترميزَها الآن قبل تحليل XML، فتبقى قيم النماذج المرمزة بـ UTF-16 متاحة عبر واجهات قراءة وكتابة حقول XFA
Version 3.191.0
تم التغيير
- تحسَّن تأليف حزم XFA: تُنشئ
SetXFAFromStringالآن حاويةAcroFormالمطلوبة عندما لا يتضمن المستند بيانات نموذج أصلاً، وتستبدل حالة XFA المُحلَّلة المتقادمة عند تخزين حزمة XFA كاملة، وتُبقي الحزمة المحفوظة متاحة عبر واجهات قراءة وكتابة حقول XFA
Version 3.190.0
تم التغيير
- تحسَّن تبادل التعليقات التوضيحية في XFDF: تكتب تصديرات التعليقات الآن السمة الشائعة
colorمن مصفوفة RGB في/C، وتستعيد عمليات الاستيراد قيمcolor="#RRGGBB"في مصفوفة ألوان التعليق التوضيحي المدرج
Version 3.189.0
تمت الإضافة
- أُضيفت واجهات تبادل التعليقات التوضيحية في XFDF: تقرأ
ExportAnnotationsToXFDFوExportAnnotationsToXFDFStringوImportAnnotationsFromXFDFوImportAnnotationsFromXFDFStringالآن بيانات<annots>وفق ISO 19444 وتكتبها لتعليقات التعليقات التوضيحية النصية، بما في ذلك بيانات الصفحة والمستطيل والعنوان والموضوع والمحتويات النصية العادية
Version 3.188.0
تم التغيير
- تحسَّن استيراد حقول النص الغني في XFDF: تحفظ الحقول ذات
<value-richtext>الآن نص XML الغني في قيمةRVللحقل مع الاستمرار في تطبيق البديل العادي<value>عند وجوده
Version 3.187.0
تم التغيير
- تحسَّن تبادل بيانات النماذج في XFDF لحقول الاختيار متعددة التحديد: تستورد عناصر
<value>المتكررة الآن إلى مصفوفة القيم المحددة، وتكتب تصدير حقل اختيار متعدد التحديد عنصر<value>واحداً لكل عنصر محدد بدلاً من دمجها في عقدة نصية واحدة مهربة
Version 3.186.0
تم التغيير
- تحسَّن تصدير بيانات النماذج في XFDF لحقول النص الغني: تتضمن الحقول ذات قيمة نص غني
RVالآن عنصر<value-richtext>مع الإبقاء على البديل العادي<value>
Version 3.185.0
تم التغيير
- تحسَّن استيراد بيانات النماذج في XFDF لحقول النص الغني: عندما يوفر حقل
<value-richtext>دون<value>عادية، يستخرج المستورد الآن محتوى نص XHTML ويطبقه على حقل AcroForm المطابق بدلاً من تخطي الحقل
Version 3.184.0
تم التغيير
- تحسَّن تبادل بيانات النماذج في XFDF: تستخدم التصديرات الآن نطاق أسماء XFDF القياسي مع
xml:space="preserve"، وتُصدر عناصر<field>متداخلة لأسماء AcroForm الهرمية، وتتخطى قيم الحقول الأب غير النهائية، وتكتب تصديرات الملفات بترميز UTF-8، وتستورد XFDF متسامحة مع المسافات البيضاء بحقول متداخلة وسمات بعلامات اقتباس مفردة وCDATA وكيانات XML ومراجع محارف رقمية
Version 3.183.0
تمت الإضافة
- أُضيف
SanitizeDocument(Flags)الذي ينزع المحتوى الحساس في استدعاء واحد: يزيل كل JavaScript العام، ويزيل OpenAction الخاص بالكتالوج، وينزع إجراءات /A من كل تعليق توضيحي، ويمحو البيانات الوصفية Author/Subject/Keywords/Creator/Producer (في /Info وXMP معاً)، ويمحو اختيارياً كل التعليقات التوضيحية. تجتمع بتات الأعلامSANITIZE_JAVASCRIPT/SANITIZE_ACTIONS/SANITIZE_METADATA/SANITIZE_ANNOTATIONS/SANITIZE_OPEN_ACTION؛ ويطبقSANITIZE_ALLكل عملية نزع. يسد هذا الثغرة الكلاسيكية لتسريب البيانات حيث يزيل الحجب المحتوى المرئي لكنه يترك البيانات الوصفية أو السكربتات المخفية قابلة للاستعادة - أُضيف
TPDFAnnots.RemoveAnnotAction(Index)لنزع قاموس إجراء /A من تعليق توضيحي مفرد (يستخدمه SanitizeDocument، وهو مفيد أيضاً بمعزل عنه)
Version 3.182.0
تمت الإضافة
- تحمل عناصر الصور التي تعيدها
EnumPageElementsالآن مستطيل موضعها الحقيقي (Left/Top/Right/Bottom) بدلاً من الأصفار. تدعم ذلك طريقةTPDFContentProgram.EnumImagePlacementsالجديدة التي تجتاز تدفق المحتوى متتبعة CTM (cm/q/Q) وتطابق مربع الوحدة 1x1 لكل معاملDoفي إحداثيات الصفحة - أُضيفت أربعة عروض توضيحية: DocumentProperties (DocInfo/صندوق الصفحة/تدوير/انتقال/تفضيلات العارض/رحلة ذهاب وعودة لـ XMP)، وFormProperties (شبكة خصائص لكل حقل: type/value/readonly/MaxLength/MultiLine/description)، وSignatureValidator (تعداد حقول التوقيع + تحقق + شهادة الموقّع)، وReader (VCL TPDFlibViewer مع فتح/تنقل/تكبير/نسخ نص)
Version 3.181.0
تمت الإضافة
- أُضيف
SetXMPPropertyالذي يكشف محرك XMP المدرك للمخططات الموجود (PDFlibXMP) عبر الواجهة العامة: يضبط أي خاصية من Dublin Core (dc:) أو XMP Basic (xmp:) أو Adobe PDF (pdf:) أو PDF/A ID (pdfaid:) أو PDF/UA ID (pdfuaid:) أو XMP Media Management (xmpMM:) بنطاق الاسم + المفتاح دون كتابة RDF XML يدوياً - أُضيف
ImportFormDataFromFDF/ImportFormDataFromFDFStringاللذان يحللان مصفوفة FDF /Fields (كل<< /T (name) /V (value) >>) ويطبق كل قيمة على حقل AcroForm المطابق بحسب العنوان، بعكس ترميز EscapePDFText الثماني/الأقواس. يسد ذلك فجوة التصدير فقط غير المتناظرة - أُضيف
ExportFormDataToXFDF/ExportFormDataToXFDFString/ImportFormDataFromXFDF/ImportFormDataFromXFDFStringللتبادل ثنائي الاتجاه بصيغة XFDF (XML Forms Data Format) - النظير الحديث لـ FDF بلغة XML - أُعلنت أدوات الضبط الستة لنطاقات أسماء XMP (
SetDublinCore،SetXMPBasic،SetAdobePDF،SetPDFA،SetPDFUA،SetXMPMM) كعامة علىTPDFlibXMPليتمكن المستدعون المتقدمون من قيادة المحرك مباشرة
Version 3.180.0
تمت الإضافة
- أُضيف
SearchAndReplaceTextInContentالذي يجري استبدال نص حقيقياً في تدفق المحتوى (بإعادة كتابة معاملات عرض النص Tj/TJ/'/" في موضعها عبرTPDFContentProgram.ReplaceTextRun)، بخلافSearchAndReplaceTextالقائم على القناع الذي يرسم مستطيلاً فوق المحارف الأصلية فقط. يزول النص الأصلي من التدفق ولا يمكن استعادته. يحدد النتائج عبرSearchText، ويطابق مستطيل كل نتيجة التعليمة التي تغطيها عبرFindInstructionsInRect، ثم يعيد الكتابة ويكتب الطبقة من جديد
Version 3.179.0
تمت الإضافة
- أُضيف مسجّل داخلي مهيكل (
TPDFlibLogger) في وحدةLib/PDFlibLogger.pasجديدة بأربعة مستويات (Debug/Info/Warn/Error)، واستدعاء رجعي للمضيف (OnLog)، ومصدر ملف اختياري آمن خيوطياً، وخريطة من رمز الخطأ إلى الرسالة (PDFlibErrorMessage) تمنح أخيراً الرموز الرقمية الموجودة (1xx/3xx/4xx/5xx) نصاً بشرياً مفهوماً. مكشوف علىTPDFlibعبر خاصيةLogger - أُضيف
RenderPagesToFilesParallelالذي يعرض نطاق صفحات في ملف واحد لكل صفحة باستخدام مسبحTTaskبنسخةTPDFlibواحدة لكل عامل (TPDFlib ليست آمنة خيوطياً) وCoInitializeلكل خيط لضمان سلامة شقة GDI+. يتوسع شبه خطياً مع أنوية المعالجة لإخراج الصور النقطية المرتبط بالمعالج
Version 3.178.0
تمت الإضافة
- أُضيف
EnumCertificatesلتعداد كل شهادة في مخزن نظام Windows ("MY"، "Root"، ...) عائداً الموضوع والمصدر والرقم التسلسلي ونافذة الصلاحية وHasPrivateKey وQualified (امتداد eIDAS QCStatements، OID 0.4.0.1862.1.7، يُكتشف عبر فك ترميز DER مدمج جديد في PDFlibASN1) - ويحل محل قيدSetSignProcessCertFromStoreالسابق المحدود بشهادة واحدة بحسب CN - أُضيف
SetSignProcessCertFromStoreByHandleلاختيار شهادة التوقيع بمقبض PCCERT_CONTEXT خام يُحصل عليه من التعداد، مما يتيح للمستدعين الاختيار بأي معيار (تصفية مؤهَّلة، صلاحية، بصمة) لا بحسب Subject CN فقط - أُضيف
RedactRegionالذي يزيل فعلياً النص والمسارات المتجهة وصور XObjects التي يتقاطع مساحتها المرسومة مع مستطيل (بتحرير تدفق المحتوى بحيث لا يمكن استعادة المحتوى المزال، بخلافMaskRectالذي يغطيه فقط)، مع تعبئة سوداء اختيارية وتعليق /Redact. يدعمه محلل تدفق محتوى يتتبع CTM في PDFlibContentModel (FindInstructionsInRect) - أُضيفت دوال فك ترميز DER بسيطة (
DERDecodeLength،DERFindExtensionByOID) إلى PDFlibASN1 لفحص امتدادات الشهادات داخل العملية دون CryptDecodeObjectEx
Version 3.177.0
تمت الإضافة
- أُضيفت واجهات تركيب الصفحات التي تؤلف الصفحات الموجودة في تخطيطات جديدة عبر التقاط Form XObject متجهي (محافظةً على الوفاء المتجهي الكامل، بخلاف سلسلة تدفقات المحتوى): يُراكب
StitchPageOverlayصفحة على أخرى في موضع مع تعتيم اختياري، ويضعStitchPagesSideBySideصفحتين يسار/يمين على صفحة جديدة أعرض، ويرصStitchPagesVerticallyنطاق صفحات في صفحة جديدة طويلة بأسلوب الملصق - أُضيفت طبقة قوالب علامات مائية قابلة للتركيب في وحدة
Lib/PDFlibWatermark.pasجديدة:TPDFlibWatermarkBaseبتحديد الموضع ذي التسع نقاط (wpTopLeft..wpBottomRightمعwpCustom)، وTPDFlibTextWatermark، وTPDFlibImageWatermark، وTPDFlibCompositeWatermarkالذي يطبق قائمة علامات مائية فرعية تكرارياً عبر نطاق صفحات مشترك - أُضيف
TPDFlib.ApplyWatermarkبوصفه نقطة دخول ملاءمة تفوض إلى نطاق صفحات القالب المائي وإعداداته الخاصة
Version 3.176.0
تمت الإضافة
- أُضيفت ثوابت مسمَّاة لصيغ مخرجات العرض (
PDF_RENDER_BMP،PDF_RENDER_EMF،PDF_RENDER_EMFPLUS،PDF_RENDER_EMF_DUAL، إلخ) تقابل قيماً صحيحة لـOptionsتقبلهاRenderPageToFileوRenderPageToStreamوRenderPagesToFilesوRenderDocumentToFileتقابلاً واحداً لواحد - أُضيف تعداد
TPDFlibMetafileFormatوالطريقتان الملائمتانRenderPageToMetafileStreamوRenderPageToMetafileFileاللتان تقبلان صيغة ميتافايل مسمَّاة (mfEMF, mfEMFPlus, mfEMFDual, mfWMF) بدلاً من عدد صحيح مجرد - أُضيف وضع إخراج EMF+ Dual (قيمة Options 11 / mfEMFDual) الذي يسجل أوامر GDI وGDI+ معاً في الميتافايل نفسه من أجل التوافق مع المستهلكين الأقدم المقيدين بـ GDI
- أُضيف تعداد
TPDFlibClipboardFormatوRenderPageToClipboardالذي يضع صفحة معروضة على حافظة Windows كميتافايل محسَّن (CF_ENHMETAFILE) أو صورة نقطية DIB (CF_DIB) أو نص Unicode للصفحة (CF_UNICODETEXT) أو الثلاثة معاً - أُضيفت وحدة
Lib/PDFlibClipboard.pasجديدة بمساعدات منخفضة المستوى لوضع المحتوى في حافظة Win32 تستخدمهاRenderPageToClipboard - أُضيف وعي كامل بـ DPI لكل شاشة إلى
TPDFlibViewer: خاصيةScreenDPIعامة جديدة، وتجاوزCreateWndيكتشف تلقائياً DPI شاشة المضيف عبرGetDpiForWindow(مع بديلGetDeviceCaps)، ومعالجWM_DPICHANGEDيعيد بناء التخطيط ويمحو المخزن المؤقت للصور النقطية عندما تنتقل النافذة بين الشاشات - أُضيف
TPDFRenderer.SetEMFPlusMetafileTypeللاختيار بين تسجيل EMF+ Only وEMF+ Dual على مستوى العارض
تم الإصلاح
- صُحِّحت صفحة مرجع
RenderPageToFileالتي كانت قائمة قيم Options في موضع خاطئ في صف Page وكانت خلية Options فارغة
Version 3.175.3
تمت الإضافة
- أُضيفت وحدة Lib/PDFlibTableExport.pas تعرض أي TDataSet (FireDAC, ClientDataSet, نتيجة استعلام) في جدول PDF مقسم إلى صفحات برأس منسق وتظليل مخطط وسواد وأعمدة رقمية محاذاة إلى اليمين واستكمال تلقائي للصفحات، إضافة إلى عرض توضيحي وحدة تحكم Demo/Delphi/DataSetExport يحمّل عينة customer.FDS من RAD Studio عبر FireDAC ويصدرها
Version 3.175.2
تمت الإضافة
- أُضيفت مشاريع Demo/ReportBridges من طرف إلى طرف تبني تقريراً بسيطاً في FastReport وQuickReport وReportBuilder وتصدره إلى PDF عبر جسر Addons المطابق، مع سكربت build-ReportBridges.cmd مخصص يوفر مسارات مصدر المحرك ورموز التهيئة بحيث ما يزال البناء القياسي للعروض التوضيحية يترجم المشاريع كهياكل فارغة
Version 3.175.1
تمت الإضافة
- أُضيف عرض توضيحي لمصفوفة خيارات JBIG2 بلغة Delphi يجوب تركيبات SymbolExtract وSkipBlackDots وBlackDotSize وLossyLevel مقارنةً بخطوط أساس CCITT G4 وFlate، مع مخرجات PDF وCSV وملخص لكل صف
- أُضيف عرض توضيحي Pattern بلغة Delphi يغطي مظلات RGB المحورية والشعاعية، ومظلة شبكية برقعة Coons، ونمط تبليط مخصص يُطبق كلون تعبئة وحد ونص
- أُضيف عرض توضيحي لمصفوفة فاكس CCITT بلغة Delphi يقارن ضغط Group 3 1-D وGroup 3 2-D وGroup 4 مع بتَي خيار BlackIs1 وInterpolate، مبلِّغاً عن حجم كل مخرج واسم /Filter الناتج
- أُضيفت جسور تصدير FastReport وQuickReport وReportBuilder تحت Addons تعرض تقريراً مُعداً في مكتبة PDF لـ Delphi عبر سطح كائن المحرك الأصلي والميتافايل وDrawCommand على التوالي
Version 3.175.0
تم التغيير
- وُسِّع عرض WorkflowGallery التوضيحي بمصفوفة تنويعات تعليقات توضيحية تسجل تعبئة إبراز النص وأنماط الترميز وأيقونات الملاحظات والنص الحر وعلامة Caret وتعليقات الختم في تقارير CSV وHTML مرافقة
Version 3.174.0
تم التغيير
- وُسِّع عرض AdvancedWorkflowMatrix التوضيحي في C++Builder ليشمل تقريرات المصفوفة المولَّدة في التنقل عبر الإجراءات وسير عمل PDF/A وAcroForm وتشخيصات الخطوط والتسليم عبر البث ومساعدات ضغط المسوحات الضوئية الأحدث
Version 3.173.0
تمت الإضافة
- أُضيف عرض DeliveryWorkflowMatrix التوضيحي بلغة Delphi لإخراج PDF عبر البث إلى الويب وCGI، والتحقق من مصغرات الصفحات، وسير عمل تسليم العلامات المائية باستخدام مخزن بايتات PDF واحد مولَّد
Version 3.172.0
تمت الإضافة
- أُضيفت واجهات ملاءمة لشجرة المخطط التفصيلي للإدراج المرتب للأشقاء وإنشاء الأبناء وحذف الأشجار الفرعية وتعداد المخطط التفصيلي بالترتيب الابتدائي مع تفاصيل الأب والأشقاء والمستوى وصفحة الوجهة وحالة الفتح والعنوان
Version 3.171.0
تمت الإضافة
- أُضيف عرض FontDiagnosticsMatrix التوضيحي لوحدة تحكم بلغة Delphi لمسارات خطوط CJK وUnicode، وتحديثات المجموعات الجزئية لخطوط TrueType، وفحص الخطوط المثبتة، وتعداد خطوط المستند، وتقارير تشخيصات الخطوط
Version 3.170.0
تمت الإضافة
- أُضيف عرض CanvasMigrationMatrix التوضيحي لوحدة تحكم بلغة Delphi لترحيل Canvas DC، ونقاط دخول المحتوى الخام والمسارات، ومساعدات الألوان في Delphi، والنص المملوء بأنماط، والعلامات المائية، وسير عمل مصغرات الصفحات، ومعاينات تحقق معروضة
Version 3.169.0
تمت الإضافة
- أُضيفت عروض توضيحية مخصصة لوحدة التحكم بلغة Delphi هي LayerCompositionMatrix وTransparencyMaskMatrix وComplianceFormWorkflowMatrix لسياسة طباعة/تصدير المحتوى الاختياري، وتركيب Pattern/Form XObject، ومقارنة أقنعة الشفافية، وأمثلة نجاح وفشل PDF/A-1b، وسير عمل إجراءات AcroForm، وإعادة بناء المظاهر، وقوالب التوقيع المرئي
Version 3.168.0
تمت الإضافة
- أُضيف عرضان توضيحيان مخصصان لوحدة التحكم بلغة Delphi هما ImageCompressionMatrix وSecurityPermissionMatrix مع تقارير PDF وCSV وHTML مولَّدة لاختيار استراتيجية ضغط الصور، وضغط المسوحات الضوئية، وجودة عرض JPEG، وتدقيق ملفات الأذونات المشفرة
Version 3.167.0
تمت الإضافة
- أُضيفت واجهات مساعدة مسمَّاة لترميز صور JBIG2 النقطية، وخيارات استيراد EMF، وإجراءات أحداث AcroForm، والإجراءات المتسلسلة بحيث يستخدم المستدعون مفاتيح خيارات صريحة بدلاً من تركيب أقنعة بتات صحيحة يدوياً
Version 3.166.0
تمت الإضافة
- أُضيف عرض AdvancedWorkflowMatrix تشغيلي لوحدة تحكم بلغة C++Builder مع مخرجات PDF وCSV وHTML تحدد مواضع ترحيل Canvas المتقدم، واستيراد EMF، وضغط الصور، وAcroForm، والتوقيع، والأمان، وPDF/A، والمحتوى الاختياري، والنمط، وسير عمل Form XObject في نقاط دخول مشاريع C++Builder
Version 3.165.0
تمت الإضافة
- أُضيف عرض توضيحي لمصفوفة التنقل عبر الإجراءات بلغة Delphi يستعرض إجراءات فتح المستند، وJavaScript على مستوى المستند، وروابط الملفات المضمَّنة، وروابط GoTo البعيدة، وإجراءات أحداث AcroForm، ومساعدات روابط Submit/Reset/Hide، وإجراءات Next المتسلسلة مع مخرجات PDF وCSV وHTML
تم الإصلاح
- صُحِّحت مساعدات روابط الملفات البعيدة بحيث تنشئ AddLinkToFile وAddLinkToFileEx وAddLinkToFileDest وروابط تشغيل الملفات المحلية تعليقاً توضيحياً واحداً وتعود بدلاً من الدوران إلى ما لا نهاية
Version 3.164.0
مضاف
- تمت إضافة عرض تجريبي لمصفوفة حراسة PDF/A في Delphi يختبر قرارات الرفض المبكر أو المسارات المسموح بها لإعداد وضع PDF/A والشفافية وأنماط المزج والتشفير وJavaScript والوسائط المتعددة والملفات المضمّنة وسير عمل الملفات المرتبطة بـ PDF/A-3، مع تقارير PDF وCSV وHTML مولّدة
Version 3.163.0
مضاف
- تمت إضافة مصفوفة جسر ReportAdapter صريحة لمسارات التصدير في FastReport وQuickReport وReportBuilder وDBGrid ومسارات لوحة الرسم المخصصة، مع مخرجات CSV وHTML للتعيين وصفحة PDF تعرض استراتيجية المهايئ القابلة لإعادة الاستخدام
Version 3.162.0
مضاف
- تمت إضافة مصفوفة عروض توضيحية لسير عمل متقدم تولّد مخرجات فعلية لترحيل اللوحة واستيراد EMF ومقارنات ضغط الصور وسير عمل إجراءات AcroForm والتواقيع الفارغة المرئية وأذونات الأمان وفحوص PDF/A-1b والمحتوى الاختياري وأنماط التبليط وForm XObjects وتصدير الجداول على نمط DBGrid وإبلاغ ذروة الذاكرة للملفات الكبيرة
Version 3.161.0
مضاف
- تمت إضافة أدوات مساعدة في Delphi لبناء إجراءات فتح المستندات المختصرة، وإجراءات ظهور حقول النموذج، ومبدلات ألوان TColor والرمادي، وإدراج محتوى خام مباشر في تيار المحتوى للنص والمسار والمصفوفة
Version 3.160.0
مضاف
- تمت إضافة أدوات مساعدة في Delphi لضغط الصور الممسوحة إلى JBIG2، وإعداد قناع الصورة والشفافية بمفتاح اللون بضغطة واحدة، وتسلسل إجراءات GoTo، وأسماء أحداث AcroForm القابلة للقراءة لـ JavaScript أو إسناد الإجراءات القائمة
تم توسيع ImportEMFFromFileEx وImportEMFFromStreamEx بحيث يمكن لأعلام Options فرض استيراد البت ماب، وتمكين إعادة ضغط صور EMF بصيغة JPEG، وطلب عناصر تحكم معالجة GDI+
Version 3.159.1
تم التغيير
- تحسّن
SaveToStreamوحفظ تيار الإخراج المرتبط، بحيث تُكتب كائنات تيار PDF الكبيرة على دفعات محدودة بدلاً من نسخ كل كائن تيار إلى سلسلة إخراج وسيطة واحدة
Version 3.159.0
تمت الإضافة
- تمت إضافة أدوات وضع الصورة التي ترسم صورة محددة أو تضبطها ثم تُحرر المقبض مباشرة بعد ذلك، مع نقاط دخول Delphi وDLL وActiveX لخفض ذروة الذاكرة في تدفقات إنشاء الصور أحادية الاستخدام
- تمت إضافة
RenderPageToMonochromeFileExلتصيير BMP بعمق 1 بت مع تحويل العتبة وتنظيف البيكسلات السوداء المعزولة قبل سير عمل ضغط الصور الممسوحة
Version 3.158.1
تمت الإضافة
- تمت إضافة عروض Delphi التوضيحية لسير عمل قابلة لإعادة الاستخدام لتصدير بأسلوب التقارير، واستيراد النص الغني من RichEdit إلى EMF، وسيناريوهات مجمعة للصور المصغرة للصفحة، والتعليقات، وForm XObject، والجداول، والضغط، وJavaScript، وإخراج التيار المرتبط
Version 3.158.0
تمت الإضافة
- تمت إضافة واجهات برمجة تطبيقات للتحكم في تشفير البيانات الوصفية مع نقاط دخول Delphi وDLL وActiveX: يستطيع SetEncryptMetadata كتابة ملفات PDF بأمان Standard مع تدفقات XMP غير مشفرة، بينما يبلّغ GetEncryptMetadata عن حالة /EncryptMetadata المعلقة أو المحمّلة
Version 3.151.0
تمت الإضافة
- تمت إضافة
DrawPieوDrawChordوDrawEllipticPieوDrawEllipticChordلرسم الأقواس الدائرية والبيضاوية المغلقة صراحةً بوضع حدود أو تعبئة أو حد مع تعبئة
Version 3.150.0
تمت الإضافة
- تمت إضافة
NewGraphicsStateوSetGraphicsStateبحيث يمكن للمستدعين إنشاء موارد ExtGState قابلة لإعادة الاستخدام لإعدادات شفافية التعبئة وشفافية الحد وعرض الخط ونهاية الخط ووصلات الخط وحدّ الميل
Version 3.149.1
تم الإصلاح
- تم إصلاح معرّفات dispatch مكررة في ActiveX لطرق Form XObject وحدّ الميل بحيث يحل المستدعون COM المرتبطون لاحقاً كل طريقة بلا لبس
Version 3.149.0
تمت الإضافة
- تمت إضافة
SetMiterLimitللتحكم في نسب حد الميل للمسارات التي تستخدم وصلات الميل - أُتيح
BeginFormXObjectوEndFormXObjectوCancelFormXObjectعبر واجهات DLL وActiveX
Version 3.148.0
تمت الإضافة
- تمت إضافة واجهات بناء Form XObject قابلة لإعادة الاستخدام: يتيح
BeginFormXObjectوEndFormXObjectوCancelFormXObjectللمستدعين رسم قالب قابل لإعادة الاستخدام بأوامر رسم الصفحة العادية ووضعه مراراً عبر واجهات رسم الصفحة الملتقطة
Version 3.147.0
تمت الإضافة
- تمت إضافة
SetTextTilingPatternوSetLineTilingPatternبحيث يمكن إعادة استخدام أنماط التبليط الملتقطة للنص والتسطير والرسوم ذات الحد من دون تكرار أوامر الرسم
تم الإصلاح
- أصبحت ألوان shader وأنماط التبليط ذات الحد الآن تكتب معامل لون النمط ذي الحد بدلاً من تحديث حالة اللون غير ذي الحد
Version 3.146.0
تمت الإضافة
- تمت إضافة
BeginOptionalContentوEndOptionalContentبحيث يمكن للمستدعين تعليم أوامر الرسم اللاحقة فقط بمجموعة محتوى اختيارية من دون إعادة كتابة تيار المحتوى القائم
تم الإصلاح
- تُفرَّغ معاملات marked-content الخاصة بإغلاق النطاقات الآن فور إغلاق مجموعات المحتوى الاختياري أو PDF الموسوم أو artifact عند نهاية تيار المحتوى
Version 3.145.0
تمت الإضافة
- تمت إضافة
SetTransparencyExبحيث يمكن للمستدعين تعيين قيم شفافية التعبئة والحد منفصلة للنص والرسوم المرسومة لاحقاً مع الحفاظ على سلوك الترقية التلقائية إلى PDF 1.4
Version 3.144.0
تمت الإضافة
- تمت إضافة
AddLinkToNamedDestinationبحيث يمكن لمنطقة ارتباط في الصفحة القفز إلى وجهة مسماة داخل المستند نفسه من دون حل صفحة الهدف عند إنشاء الرابط
تم الإصلاح
- تُرجع قارئات إجراءات التعليقات الآن لا إجراء للصفحات من دون تعليقات بدلاً من فك مرجع ذاكرة تعليقات فارغ
Version 3.143.0
تمت الإضافة
- تمت إضافة واجهات إدارة إجراءات حقول النماذج بحيث يمكن للمستدعين ربط إجراء موجود بمشغّل حقل، وفحص الإجراء المشغّل المطبّع، وإزالة إجراءات الحقول الأساسية أو الإضافية
تم الإصلاح
- يرفض
FormFieldJavaScriptActionالآن مستندات PDF/A وأسماء المشغلات غير الصالحة بدلاً من كتابة قواميس إجراءات حقول غير مطابقة
Version 3.142.0
تمت الإضافة
- تمت إضافة واجهات برمجة تطبيقات لتسلسل الإجراءات بحيث يمكن للمستدعين إلحاق إجراءات URI وnamed وJavaScript التالية بإجراء تعليق أو مخطط أو حقل نموذج موجود وفحص الإجراءات المتسلسلة عبر
GetActionNextCountوGetActionNextInfo
Version 3.141.0
تمت الإضافة
- أُضيف
AddLinkToSubmitFormوAddLinkToResetFormبحيث تستطيع البقع الساخنة على الصفحات إرسال حقول AcroForm أو إعادة تعيينها عبر إجراءات PDF قياسية دون JavaScript
Version 3.140.0
تمت الإضافة
- أُضيف
AppendToStreamبحيث تستطيع سير عمل التحديث التزايدي الكتابة مباشرة في تدفق يوفره المستدعي بدلاً من تجسيد التحديث أولاً كـAnsiString
تم التغيير
- تُسلسل
SaveToStreamالآن مباشرة في التدفق الهدف، ويعيدAppendToString(1)قسم التحديث التزايدي فقط دون نسخ بايتات المصدر الأصلية إلى مخزن مؤقت
Version 3.139.0
تمت الإضافة
- أُضيف
GetAnnotReplyToوGetAnnotReplyTypeبحيث يمكن فحص ردود التعليقات التوضيحية المتسلسلة عبر موصلات قراءة مسمَّاة بدلاً من وسوم خصائص تعليقات توضيحية عامة
Version 3.138.0
تمت الإضافة
- أُضيفت عينة Delphi
DocumentInspectionWorkbenchلفحص ملفات PDF دفعة واحدة بتشخيصات خطوط مجمعة وأخذ عينات من الصور واكتشاف فضاءات الألوان وتوقيتات التحميل وتقارير JSON وCSV وHTML
Version 3.137.0
تمت الإضافة
- أُضيفت عينة Delphi
ImageDecodeBenchmarkلقياس اكتشاف صور الصفحات وبايتات الصور المفكوكة واكتشاف فضاء ألوان الصفحة مع تقارير توقيت CSV وHTML
Version 3.136.0
تمت الإضافة
- أُضيف
GetDocumentFontDiagnosticsوTPDFlibFontDiagnosticsلتلخيص تضمين خطوط المستند والمجموعات الجزئية وStandard 14 وCID وType3 وعدد الخطوط غير المعروفة في استدعاء واحد
Version 3.135.0
تمت الإضافة
- يبني
TPDFlibSignatureVerifier.VerifySignerCertificateChainالآن سلسلة شهادة الموقّع المضمَّنة عبر Windows CryptoAPI ويعيدvsValidفقط عندما تستوفي السلسلة سياسة الثقة الأساسية في Windows، بينما تعيد الشهادات الموقعة ذاتياً أو غير الموثوقة بطريقة أخرىvsInvalidدون تغيير نتيجة سلامة المحتوى فيVerifySignature
Version 3.134.0
تم الإصلاح
- يتحقق
TPDFlibSignatureVerifier.VerifySignatureالآن من صحة تواقيعadbe.pkcs7.sha1القديمة، عائداًvsValidعندما يطابق الملخص الموقع بايتات/ByteRangeالمغطاة، وvsInvalidبعد تغير المحتوى المغطى
Version 3.133.0
تمت الإضافة
- إضافة
RenderPagesToFilesوDARenderPagesToFilesلتصيير نطاقات صفحات عشوائية إلى ملفات إخراج مرقمة مع إعادة استخدام إعداد المُصيّر عبر الصفحات المحددة
Version 3.132.0
تمت الإضافة
- إضافة أداتي الختم المريحتين
AddPageHeaderوAddPageFooterاللتين تضعان النص في هامش علوي أو سفلي ثابت على كل صفحة في نطاق معين، مع محاذاة إلى اليسار/الوسط/اليمين وتوسيع الرموز (&Pالصفحة الحالية،&Nإجمالي الصفحات،&Dالتاريخ،&Tعنوان المستند،&&علامة العطف الحرفية) - يضع الآن كل من
StampTextوStampImageمعsoUnderlayالمحتوى فعلياً أسفل محتوى الصفحة الحالي عن طريق إضافة طبقة محتوى جديدة في البداية (سابقاً كان يرسم في الأعلى مثلsoOverlay)؛ مدعوماً بطريقة شجرة صفحات جديدةPrependContentLayer
Version 3.131.0
تمت الإضافة
- إضافة
ScalePage(ScaleX, ScaleY, Anchor)التي تقوم بتحجيم محتوى الصفحة المحددة عن طريق تغليف كل طبقة محتوى في كتلة حالة رسوميةq sx 0 0 sy tx ty cm ... Qوتغيير حجم MediaBox و CropBox؛ تحافظ نقطة الارتساء على الأصل في الأسفل لليسار (0)، أو توسّط المحتوى (1)، أو تحافظ على الأعلى لليسار (2) - توسيع
EnumPageElementsبنوع عنصر جديدekPath: تُبلغ كل صفحة الآن أيضاً عن مساراتها المتجهة باستخدام مربع إحاطة، وعدد النقاط، وعلامة الإغلاق، ومُعامل الرسم، والمستخرجة من تدفقات المحتوى عبر نموذج المحتوى المهيكل
Version 3.130.0
تمت الإضافة
- إضافة ثلاث واجهات برمجة تطبيقات لتحسين حجم الملف تقوم بتقليص المستندات المحملة عند إعادة الحفظ: تقوم
SubsetEmbeddedFontsبإعادة كتابة كل برنامج خط TrueType مضمن (FontFile2) وصولاً إلى أحرف Unicode التي يصيّرها المستند فعلياً عبر خدمةCreateFontPackageالخاصة بـ FontSub.dll؛ وتقومDownsampleImages(MaxDPI, Quality, Filter)بفك تشفير كل كائن XObject لصور أعلى من نقطة لكل بوصة (DPI) المستهدفة، وإعادة أخذ عينات منه (box أو bilinear) وإعادة تشفيره كـ JPEG أو PNG؛ وتقومNormalizeLZWStreamsبإعادة كتابة كل تدفق لا يزال مصفى باستخدام LZWDecode إلى FlateDecode من خلال وحدة فك تشفير LZW ووحدة تشفير Flate الحالية، مع الحفاظ على معلمات Predictor
Version 3.129.0
تمت الإضافة
- إضافة واجهات برمجة تطبيقات لإنشاء تظليل الشبكة لأنواع التظليل الأربعة التي كانت تدعم القراءة/التحليل فقط في السابق:
NewRGBFreeFormTriangleMesh(التظليل من النوع 4، مثلثات Gouraud حرة الشكل)، وNewRGBLatticeTriangleMesh(التظليل من النوع 5، شكل شبكة Gouraud)، وNewRGBCoonsPatchMesh(التظليل من النوع 6، شبكة رقعة Coons)، وNewRGBTensorPatchMesh(التظليل من النوع 7، شبكة رقعة منتج الموتر) — يبني كل منها نمط تظليل شبكة مسمى من قائمة رؤوس أو رقع مسطحة بعمق بتات الإحداثيات/الألوان قابل للتحديد ومربع إحاطة، قابل للتحديد باستخدامSetFillShader/SetLineShader/SetTextShaderمثل المظللات المحورية والشعاعية الحالية
Version 3.128.0
تمت الإضافة
- إضافة شريط صور مصغرة للعارض: يعرض
TPDFlibThumbnailBarصورة مصغرة لكل صفحة، يتم عرضها لاحقاً عند التمرير بحيث تصبح الصفوف مرئية، مع وجود رقم الصفحة في الأسفل؛ يؤدي النقر فوق صورة مصغرة إلى انتقال العارض المرفق إلى تلك الصفحة — مما يكمل مجموعة عناصر تحكم العارض (العارض، لوحة الإشارات المرجعية، لوحة البحث، الصور المصغرة)
Version 3.127.0
تمت الإضافة
- إضافة لوحة بحث للعارض: يبحث
TPDFlibSearchPanel.RunSearchفي المستند المرفق بأكمله ويسرد صفاً واحداً لكل نتيجة مع رقم صفحتها والنص المطابق؛ يؤدي النقر فوق نتيجة إلى انتقال العارض إلى تلك الصفحة
Version 3.126.0
تمت الإضافة
- إضافة لوحة إشارات مرجعية للعارض: يسرد
TPDFlibOutlineViewerشجرة مخطط المستند مع مسافة بادئة وينقل العارض المرفق (عبرAttachViewer) إلى الصفحة الوجهة للإشارة المرجعية عند النقر؛ تم بناؤه على فئة أساسية للوحة قابلة لإعادة الاستخدام تتشارك فيها اللوحات الجانبية اللاحقة
Version 3.125.0
تمت الإضافة
- إضافة إمكانية تحديد النص إلى عنصر تحكم العارض: اسحب بزر الماوس الأيسر للتحديد، واضغط على Ctrl+C أو استدعِ
CopySelectedTextلنسخ التحديد إلى الحافظة؛ يتوفر النص الملتقط من خلال خاصيةSelectedText، مرتباً من أعلى إلى أسفل مع فواصل أسطر بين النطاقات - إضافة
GetTextInRegion، الذي يعيد نص منطقة صفحة مستطيلة مباشرةً — نفس البحث المستند إلى الكتلة الذي يستخدمه تحديد الماوس، متاح لواجهات التحديد المخصصة
Version 3.124.0
تمت الإضافة
- يقوم عنصر تحكم العارض الآن بالعرض المسبق للصفحات المجاورة في سلسلة رسائل في الخلفية، بحيث يؤدي التنقل للأمام أو للخلف إلى إظهار الصفحة التالية على الفور؛ يستخدم العامل مثيل المستند الخاص به ويسلم العروض النهائية إلى ذاكرة التخزين المؤقت دون حظر واجهة المستخدم
- إضافة تفاعل الروابط إلى العارض: يؤدي النقر فوق تعليق توضيحي للرابط إلى إطلاق
OnLinkClickمع رقم الصفحة ونفس ملخص الإجراء المكتوب الذي ينتجهGetAnnotActionInfo(عنوان الويب، وجهة المستند، الإجراء المسمى وما إلى ذلك)؛ يعرضLinkActionAtPagePointاختبار الإصابة الأساسي للمعالجة المخصصة
Version 3.123.0
تمت الإضافة
- اكتسب عنصر تحكم العارض تمريراً مستمراً: يبدّل
SetDisplayModeالتحكم فيTPDFlibViewerبين عرض الصفحة الواحدة والتمرير العمودي المستمر عبر المستند بأكمله، مع عرض الصفحات المرئية في منفذ العرض فقط وتتبع الصفحة الحالية لموضع التمرير (إطلاقOnPageChangeعند ظهور الصفحات) - يتم الآن الاحتفاظ بالصفحات المعروضة في ذاكرة تخزين مؤقت للصور النقطية الأقل استخداماً مؤخراً، لذلك لا يؤدي التمرير ذهاباً وإياباً إلى إعادة العرض؛ تبلغ ميزانية الذاكرة الافتراضية 128 ميجابايت وتتغير باستخدام
SetCacheLimit، مما يؤدي إلى إخلاء أقدم الصفحات عندما تتقلص الميزانية أو تمتلئ - إضافة التمرير بعجلة الماوس والتنقل بلوحة المفاتيح إلى العارض: PageUp/PageDown (خطوات الصفحة في وضع الصفحة الواحدة، وخطوات منفذ العرض في الوضع المستمر)، ومفاتيح الأسهم، وHome، وEnd
Version 3.122.0
تمت الإضافة
- إضافة عنصر تحكم عارض PDF تفاعلي:
TPDFlibViewerهو عنصر تحكم تمرير VCL يفتح مستنداً من ملف أو يُرفق بمثيلTPDFlibموجود، ويعرض الصفحات من خلال محرك العرض المحدد (GDI+، أو Cairo، أو PDFium)، ويوفر التنقل في الصفحة (GoToPage/NextPage/PrevPageمع حدثOnPageChange) والتحكم في التكبير والتصغير — نسبة مئوية ثابتة، أو الملاءمة للعرض، أو الملاءمة للصفحة، والتي يُعاد حسابها تلقائياً عند تغيير حجم عنصر التحكم؛ الصفحات الأعرض من منفذ العرض يتم تمريرها، والصفحات الأضيق يتم توسيطها - إضافة حزمة وقت التصميم (
Package\PDFlibViewerPkg.dpk) التي تسجل عنصر التحكم في صفحة لوحة losLab PDF لاستخدامه بالسحب والإفلات في بيئة التطوير المتكاملة (IDE)
Version 3.121.0
تمت الإضافة
- التشكيل التلقائي للنصوص المعقدة في
DrawText: يتم الآن اكتشاف وتشكيل النص الذي يحتوي على أحرف عربية أو عبرية أو هندية أو نصوص معقدة أخرى تلقائياً — حيث تظهر أشكال الحروف السياقية والوصلات الإلزامية والترتيب من اليمين إلى اليسار بشكل صحيح دون تغييرات في التعليمات البرمجية؛ يتم تعيين الأسماء الأساسية الـ 14 القياسية إلى الخطوط المثبتة المتوافقة قياسياً (Helvetica إلى Arial، وTimes إلى Times New Roman، وCourier إلى Courier New) ويقيسGetTextWidthمن خلال مسار التشكيل نفسه بحيث يظل المحاذاة متسقاً؛ بينما تحتفظ النصوص اللاتينية والسيريلية واليونانية والصينية واليابانية والكورية بمسار رسمها الحالي بايت ببايت - إضافة
SetTextShapingلتبديل التوجيه التلقائي (مُمكّن افتراضياً؛ مرر 0 لاستعادة السلوك الدقيق قبل التشكيل)
Version 3.120.0
تم التغيير
- يتم الآن تجميع الخطوط المصاحبة للنص المُشكل فرعياً في وقت الحفظ بحيث تقتصر فقط على الصور الرمزية (glyphs) التي يُظهرها المستند، مما يؤدي إلى تقليص ملفات الإخراج بشكل كبير (ينخفض حجم برنامج الخط الكامل الذي يزيد عن ميغابايت إلى الصور الرمزية المستخدمة فقط)؛ يحتفظ الخط الفرعي بترقيم صوره الرمزية، ويحمل اسم
BaseFontموسوماً بعلامة المجموعة الفرعية، ويحتوي على عروض فعلية للصورة الرمزية/W، ويكتسب خريطة ToUnicode تترجم كل صورة رمزية مُشكلة مرة أخرى إلى أحرفها المصدرية — لذلك فإن نسخ أو استخراج إخراجDrawShapedTextيعيد السلسلة الأصلية، بما في ذلك كلا الحرفين وراء الوصلة المركبة لام-ألف
Version 3.119.0
تمت الإضافة
- إضافة إمكانية رسم نصوص الكتابة المعقدة: يُشكل
DrawShapedTextالسلاسل النصية العربية والعبرية والنصوص المعقدة الأخرى قبل رسمها — وتظهر أشكال الحروف السياقية والوصلات الإلزامية مثل لام-ألف، والترتيب من اليمين إلى اليسار بشكل صحيح تماماً — ويكتب الصور الرمزية المُشكلة من خلال خط النوع 0 المصاحب (Identity-H) بتضمين برنامج الخط بالكامل، بحيث تُعرض الأشكال التي ليس لها رمز حرف خاص بها بدقة؛ يتم إنشاء خط مصاحب واحد لكل وجه نص ويُعاد استخدامه عبر الاستدعاءات - إضافة
GetShapedTextWidth، والذي يقيس النص من خلال دورة التشكيل ذاتها بحيث يتم قياس النص المتصل بعرض الرسم الفعلي له — يُستخدم لمحاذاة الفقرات المُشكلة إلى اليمين أو توسيطها
Version 3.118.0
تمت الإضافة
- تمت الإضافة the foundation for complex-script text shaping: a new Uniscribe (usp10.dll) binding turns Arabic, Hebrew and other complex-script strings into correctly ordered and shaped glyph runs — contextual Arabic forms, mandatory ligatures such as lam-alef, and right-to-left ordering — reporting each glyph's font glyph index, advance and source-character cluster; this is the shaping engine that later versions build the drawing path on, and it is loaded lazily so platforms without Uniscribe simply keep the existing per-character path
Version 3.117.0
تمت الإضافة
- تمت الإضافة ICC profile introspection:
GetOutputIntentICCInfoparses the ICC profile attached to the document's OutputIntent and reports its version, device class, data colour space, profile connection space, rendering intent and component count — useful for inspecting the print condition of PDF/A and PDF/X files; the renderer's ICCBased colour-space handling now also derives the component count from the profile header itself when a shading's colour space carries neither/Alternatenor/N
Version 3.116.0
تمت الإضافة
- تمت الإضافة a table-aware text extraction mode:
GetPageTextoption 10 clusters the left edges of the page's text blocks into global column positions and emits tab-separated rows, so tabular layouts extract as ready-to-import TSV with vertically aligned cells staying aligned across rows
Version 3.115.0
تمت الإضافة
- تمت الإضافة page imposition:
ImposePagesNUplays every page of the document out on new sheets in an n-up grid (2-up, 4-up, 9-up or any Columns x Rows arrangement) with each page aspect-fit and centred in its cell as live vector content, or — with the booklet option — produces saddle-stitch sheets whose page pairing folds into a booklet when printed duplex and stacked
Version 3.114.0
تمت الإضافة
- تم توسيع قارئات الإجراءات المكتوبة
GetAnnotActionInfoوGetOutlineActionInfoإلى أربعة أنواع أخرى من الإجراءات — إخفاء (مع عدد الأهداف المخفية وعلامة الإخفاء/الإظهار)، SubmitForm (عنوان URL للإرسال وعدد الحقول)، ResetForm (عدد الحقول) و ImportData (الملف المصدر) — ولعرض حمولة الاسم للإجراءات المسماة (مثلNextPage)؛ يشترك كلا القارئين الآن في محلل واحد، لذا تبلغ روابط التعليقات التوضيحية والإشارات المرجعية عن معلومات متطابقة
Version 3.113.0
تمت الإضافة
- تمت الإضافة form-field formatting helpers:
SetFormFieldNumberFormat(decimal places, separator style, negative style and currency placement),SetFormFieldPercentFormatandSetFormFieldDateFormat(Acrobat date picture strings such asmm/dd/yyyy) each write the standard Acrobat formatting JavaScript pair onto the field's additional actions — a keystroke filter plus a display formatter — so conforming viewers validate input and render formatted values without hand-written JavaScript
Version 3.112.0
تمت الإضافة
- تمت الإضافة Sound annotation creation:
AddSoundAnnotationFromFilereads an uncompressed PCM WAV file (8 or 16 bit, mono or stereo) and embeds its samples behind a speaker-icon annotation as a/Soundstream in the signed encoding the PDF sound machinery expects, completing the round trip with the existingGetAnnotSoundToFile/GetAnnotSoundToStringreaders
Version 3.111.0
تمت الإضافة
- تمت الإضافة threaded annotation replies (ISO 32000-1 §12.5.6.3):
AddAnnotationReplyappends a reply to any existing annotation as a hidden Text annotation whose/IRTreferences the target with the/RTreply relationship, so Acrobat and other viewers show it threaded under the target in the comment panel; combine withAddAnnotationStateand the FDF comment interchange for complete collaborative-review round trips
Version 3.110.0
تمت الإضافة
- تمت الإضافة mesh and function-based shading rendering, completing coverage of all seven PDF shading types: free-form Gouraud triangle meshes (type 4), lattice-form Gouraud meshes (type 5), Coons patch meshes (type 6) and tensor-product patch meshes (type 7) are decoded from their bit-packed data streams — including shared-edge patch flags,
/Decodevalue mapping and optional colour/Functionramps — and painted through the Cairo engine's native mesh gradients; function-based shadings (type 1) are approximated by sampling the shading function over its domain into a fine patch grid; supported colour spaces cover DeviceRGB, DeviceGray, DeviceCMYK and ICCBased alternates (the GDI+ engine has no mesh gradient primitive and leaves mesh-shaded areas unpainted)
Version 3.109.0
تمت الإضافة
- تم الانتهاء من إطار عمل تحرير المحتوى (المرحلة 4) من خلال التحرير على مستوى النص: يقوم
TPDFContentProgram.GetTextRunsبسرد إرشادات عرض النص لصفحة مع مورد الخط والحجم النشط في كل منها (تتبع حالة الخط من خلال تداخل الحفظ/الاستعادة)، ويقومReplaceTextRunبتبديل النص المعروض في مكانه — استبدال حقيقي لتيار المحتوى يحافظ على الموضع والخط واللون الأصليين، على عكس الأساليب القائمة على التراكب التي تخفي النص القديم وتعيد الرسم في الأعلى
Version 3.108.0
تمت الإضافة
- تمت الإضافة an object model for page geometry to the content editing framework (phase 3):
TPDFContentProgram.LiftPathraises a path object (move/line/curve/rectangle construction operators plus the clipping and painting operators that end it) into an editableTPDFPathof subpaths and segments;TPDFPath.Transformapplies an affine matrix to every point (move, scale, rotate or skew existing artwork);LowerPathwrites the modified geometry back over the original instructions, ready forWritePageContentLayer
Version 3.107.0
تمت الإضافة
- تم توسيع إطار عمل تحرير المحتوى (المرحلة 2) مع وسائل الراحة على مستوى التعليمات على
TPDFContentProgram: يحللInsertFromSourceمقتطف محتوى ويوصل تعليماته في أي موضع؛ يعيدSetOperandكتابة معامل واحد من بناء جملة المصدر (إعادة ترقيم إحداثي، إعادة تلوين تعبئة)؛ يقرأOperandTextمعاملاً مرة أخرى؛ يتنقلInstructionGroupوFindNextOpوFindNextGroupفي قائمة التعليمات بواسطة المشغل أو بواسطة فئة مشغل ISO 32000-1
Version 3.106.0
تمت الإضافة
- تمت الإضافة the first phase of the structured content editing framework:
ParsePageContentLayerdecodes a page content layer into an editableTPDFContentProgram— a list of instructions, each one PDF content operator (all 73 operators of ISO 32000-1 Table 51) with its decoded operand objects — andWritePageContentLayerserialises the program back into the page, so callers can parse, inspect, delete or reorder drawing instructions and rewrite the page;GetPageContentLayerCountreports the number of content layers, which are edited independently; the emitter is behaviour-preserving (an unmodified round trip renders pixel-identically), unknown operators survive unchanged and inline images are carried verbatim
Version 3.105.0
تمت الإضافة
- تمت الإضافة a reading-order text extraction mode:
GetPageTextoption 9 returns the page text in visual reading order using recursive whitespace analysis (XY-cut), so multi-column layouts come out column by column — a full-width heading first, then the whole left column, then the right column — instead of interleaving the columns line by line as the geometric top-then-left orderings do
Version 3.104.0
تمت الإضافة
- تمت الإضافة signer-certificate introspection to the signature verifier:
GetSignerCertificatedecodes the PKCS#7 payload of the first signature field and returns a typed summary of the embedded signer certificate — subject and issuer display names, the serial number in conventional hex form, the UTC validity window (NotBefore/NotAfter) and a convenience flag reporting whether the certificate is currently within that window; the signer is matched among the embedded certificates by issuer and serial number
Version 3.103.0
تمت الإضافة
- تمت الإضافة
NewRGBRadialShader, the radial counterpart ofNewRGBAxialShader: registers a named two-circle radial gradient (ShadingType 3, ISO 32000-1 §8.7.4.5.3) blending between two RGB colours, with optional colour extension beyond the circles; select it with the existingSetFillShader,SetLineShaderorSetTextShaderto paint circular “glow” fills, strokes and text
Version 3.102.0
تمت الإضافة
- تمت الإضافة radial (ShadingType 3) gradient rendering (ISO 32000-1 §8.7.4.5.4): the page renderer now paints two-circle radial shadings used by
shoperators and shading-pattern fills, in addition to the previously supported axial (ShadingType 2) gradients; supported through both the GDI+ and Cairo raster engines with multi-stop colour functions, DeviceRGB/DeviceCMYK/DeviceN/Separation/ICCBased colour spaces and/Extendhandling
Version 3.101.0
تمت الإضافة
- تمت الإضافة cloudy border effects (ISO 32000-1 §12.5.4):
SetAnnotCloudyEffectturns the border of a Square, Circle, Polygon or FreeText annotation into a “revision cloud” of connected semicircles by writing the/BEborder effect dictionary, with intensity 1 or 2 matching Acrobat's Cloudy styles and 0 removing the effect again;GetAnnotCloudyEffectreads the setting back (0 = no cloud, else the 1..2 intensity)
Version 3.100.0
تمت الإضافة
- تمت الإضافة annotation review states (ISO 32000-1 §12.5.6.3):
AddAnnotationStaterecords a review status change for an existing annotation by appending a hidden Text annotation whose/IRTpoints at the target and whose/State+/StateModelcarry the status, supporting theReviewmodel (None/Accepted/Rejected/Cancelled/Completed) and theMarkedmodel (Unmarked/Marked) used by Acrobat's comment-review workflow;GetAnnotStateandGetAnnotStateModelread the recorded strings back from any annotation (empty when absent)
تم الإصلاح
- تم الإصلاح a load-time failure that prevented applications built with recent development versions from starting (a Windows certificate-name lookup was bound to a non-existent DLL entry point), and repaired compile regressions in the FDF comment import, page-range rotation and signature-flag paths
Version 3.99.0
تمت الإضافة
- إضافة واجهات API لقراءة بصمة المستند والانتقال: يعيد
GetDocumentFileIDمعرّف المستند الدائم من مصفوفة/IDفي التذييل (العنصر الأول المشفر بالنظام الست عشري)، وهو مفيد كمفتاح ذاكرة تخزين مؤقت مستقر أو بصمة مستند؛ يُعدGetPageTransitionالنظير من جانب القراءة لـSetPageTransition، حيث يعيد نمط الانتقال كقيمة ذات نوعTPDFlibPageTransitionبالإضافة إلى مدة العرض ومدة الانتقال عن طريق التعيين العكسي لمدخلات/Transو/Sو/Dmو/Mالمخزنة
Version 3.98.0
تمت الإضافة
- إضافة واجهات API لتدوير نطاق الصفحات واستبطان الصور المصغرة: يطبق
RotatePageRangeدورانًا بمقدار 0/90/180/270 على كل صفحة ضمن نطاق (مغلفًا لـRotatePageالحالية للصفحة الواحدة بحيث لا يحتاج المستدعون بعد الآن إلى حلقة لكل صفحة)؛ يُبلغHasPageThumbnailعما إذا كانت الصفحة تحمل مدخلًا من نوع/Thumb؛ يقرأGetPageThumbnailInfoالعرض والارتفاع والبتات لكل مكون لصورة XObject المصغرة
Version 3.97.0
تمت الإضافة
- إضافة قارئات خصائص التعليقات التوضيحية الموسعة: يقرأ
GetAnnotColorمصفوفة الألوان/C(0..1 RGB، مع علامة HasColor التي تميز بين “بدون لون صريح” و“أسود صريح”)؛ يقرأGetAnnotBorderWidth/BS /W، متراجعًا إلى مصفوفة/Borderالقديمة؛ يقرأGetAnnotOpacityقيمة ألفا لخط الرسم/CA(الافتراضي 1.0)؛ يقرأGetAnnotCreationDateالطابع الزمني لـ/CreationDate؛ يقرأGetAnnotFlagsبايت علامات الرؤية/الطباعة/F
Version 3.96.0
تمت الإضافة
- إضافة واجهات API لاستبطان الأمان من جانب القراءة: يُبلغ
IsEncryptedعما إذا كان المستند المحمل يحمل قاموس/Encrypt؛ يعيدGetEncryptionLevelقوة ذات نوع (0=none، 1=RC4-40، 2=RC4-128، 3=AES-128، 4=AES-256، 5=AES-256 Acrobat X) مطابقة لخيارات التشفير من جانب الكتابة؛ يعيدGetUserPermissionsكلمة الصلاحيات/Pالخام لاختبار البتات المباشر؛ يُبلغIsOwnerPasswordعما إذا كان قد تم فتح المستند باستخدام بيانات اعتماد المالك
Version 3.95.0
تمت الإضافة
- إضافة واجهات للطباعة المتقدمة واستبدال النصوص: يُشغّل
PrintDocumentAdvancedإعدادات الطابعة الكاملة DEVMODE (مزدوج، الاتجاه، اللون، جودة الطباعة، حجم الورق، درج الورق) بالإضافة إلى النسخ/الترتيب عبر سجلTPDFlibPrintSettingsذي نوع، مُطبقًا كل حقل غير افتراضي من خلال آلية ملف تعريف الطابعة المخصص الحالية؛ يُجريSearchAndReplaceTextبحثًا عبر نطاق صفحات، ولكل تطابق، يُخفي كتلة النص الأصلية بمستطيل أبيض غير شفاف ويُعيد رسم النص البديل عند نقطة بداية الكتلة بالخط الذي حدده المستدعي، ليطابق سلوك التراكب-الاستبدال الخاص بـ SearchAndReplace في PDFtoolkit
Version 3.94.0
تمت الإضافة
- إضافة تبادل التعليقات التوضيحية بصيغة FDF (وظيفة “Export/Import Comments” في Acrobat): ينتقل
ExportAnnotationsToFDFStringوExportAnnotationsToFDFعبر مدخلات/Annotsلكل صفحة ويقومان بتسلسل كل تعليق توضيحي كمدخل/Type /Annotداخل مصفوفة/Annotsفي FDF، مع تضمين/Subtypeو/Contentsو/Rectوتسمية المؤلف/Tو/Subjوفهرس/Pageالذي يبدأ من الصفر؛ يقومImportAnnotationsFromFDFStringوImportAnnotationsFromFDFبتحليل ملف FDF هذا باستخدام آلة حالة صغيرة وإعادة إنشاء كل مدخل كتعليق توضيحي جديد في الصفحة المطابقة، مع الحفاظ على قاموس التعليق التوضيحي بالكامل بدلاً من طيه إلى ملاحظة لاصقة