المكونات الأساسية
- TPdf — مكون رئيسي لمعالجة مستندات PDF لفتحها والتنقل فيها واستخراج النصوص وتحرير مستندات PDF
- TPdfView — مكون مرئي لعرض صفحات PDF والتفاعل معها
- TPdfReadingSession — مكون تنسيق القراءة الجهرية لمحركات النطق الخارجية وتتبع كلمة TPdfView
- TPdfThumbnailView — لوحة جانبية قابلة للتمرير للصور المصغرة للتنقل بين الصفحات
- منصات LCL الأصلية - تستخدم Linux Qt6 و macOS Cocoa PDFium أصليًا وربط LP64 صحيحًا وخدمات خطوط وملفات المنصة وتخطيط قنوات bitmap الفعلي؛ راجع التهيئة الأصلية للتكوينات المؤهلة وحدودها
عمليات المستندات
- تحميل المستندات — تحميل ملفات PDF من القرص أو streams الذاكرة أو مصفوفات بايتات كاملة أو نوافذ مصفوفات بايتات
Index/Countذات أساس صفري، أو محولات TStream عند الطلب عبرLoadCustomDocument. تضيف سياسات التوافق والصرامة والاسترداد تشخيصات xref كلاسيكية وهجينة ومسارية محدودة دون استبدال المحلل الدلالي لـ PDFium- مخرجات مصلحة متحقق منها — ينشئ
SaveAsRepairedنسخة كاملة أحادية المراجعة ويجري تحميلًا صارمًا مستقلًا لجدول xref وبنية الصفحات قبل إرجاع البايتات أو استبدال الملف ذريًا- رسم كائنات منمط — يصدر
ExportObjectGraphJSON منمطًا محدودًا للقيم المباشرة وقيم object streams، بينما يطبقSaveAsObjectGraphPatchedتغييرات قاموس عليا متحقق منها كمراجعة تدريجية مدارة ويجري تحميلًا صارمًا للنتيجة قبل التسليم- الحماية بكلمة مرور — فتح مستندات PDF المحمية بكلمة مرور والإبلاغ عن الصلاحيات الفعّالة
UserPermissionsللجلسة المُصادَق عليها- إنشاء المستندات — بناء مستندات PDF جديدة من الصفر باستخدام
CreateDocumentوAddPageوAddTextوAddImageوAddPictureوAddJpegImageوCreatePath- حفظ المستندات — حفظ المستندات المعدلة بخيارات متنوعة (تدريجي، إزالة الأمان) وإصدارات هدف PDF صريحة من PDF 1.0 إلى PDF 1.7
- إخراج PDF/A-1b —
SaveAsPdfA/SaveAsPdfAToStreamيعالجان الحفظ الأساسي بعد ذلك بتحديث تدريجي يحقن مجرى بيانات XMP وصفية وOutputIntent ICC من نوع sRGB وCatalog مستند مُحدَّث بحيث تكون النتيجة متوافقة مع PDF/A-1b. ملفات تعريف ICC المخصصة مدعومة عبرTPdfASaveOptions.IccProfileData- التحقق من PDF/A —
ValidatePdfAوخاصية القراءة فقطPdfAConformanceتفحصان مستندًا مفتوحًا بحثًا عن علامات XMPpdfaidوOutputIntent مع ICC مضمن ووجود التشفير، وتقدمان مستوى التوافق (pac1a،pac1b،pac2b،pac3b،pacNone، أوpacUnknown) إضافة إلى قائمة من إدخالاتTPdfAValidationIssueتصف كل مشكلة تم العثور عليها- مدقق التوافق مع إصدار PDF — عندما يستهدف SaveAs PDF 1.0 إلى PDF 1.7، يرفض الكاتب أي إدخال قاموس أو filter أو نوع فرعي للتعليق التوضيحي أو نوع إجراء أو خط أو مساحة لون أو معامل تشفير تم تقديمه بعد الإصدار الهدف المختار (مثل JBIG2Decode، MarkInfo، OutputIntents، AES / AES-256، تعليقات Polygon / Caret / Watermark / Redact، إجراءات JavaScript / Trans / SetState)
- ضغط Stream — ضغط FlateDecode تلقائي يضمن أن جميع streams PDF مضغوطة على النحو الأمثل عند الحفظ؛ اضبط
Compressed := Falseللانسحاب لخطوط أنابيب التصحيح- دمج دفعي قابل للتوسع — يستورد
MergeFilesمصادر مدعومة بالملفات مع نطاقات صفحات وكلمات مرور لكل مصدر، ويبقي مصدرًا واحدًا على الأكثر مفتوحًا، ويكشف تقدمًا وإلغاء ومعالجة إيقاف أو تخطي وتراجعًا وسياسات للنماذج والمخطط والموارد وتفضيلات العارض- استيراد مجموعة فرعية من الصفحات —
ImportPagesByIndexينسخ مصفوفة فهارس صريحة بدءًا من الصفر من مستند مصدر، حيث InsertAt = 0 للإدراج قبل الصفحة 1 أو InsertAt = PageCount للإلحاق في النهاية. مرّر مصفوفة فهارس فارغة لاستيراد كل صفحات المصدر- تركيب N-up —
ImportNPagesToOneيُرجعTPdfجديدًا تمامًا، صفحاته مركبات NumX×NumY من صفحات المستند المصدر، بأبعاد محسوبة بوحدات مستخدم PDF (1 وحدة = 1/72 بوصة)- إعادة ترتيب الصفحات —
MovePagesيعيد ترتيب الصفحات في مكانها باستخدام مصفوفة فهارس ذات أساس صفري وفهرس الوجهة للصفحة الأولى المنقولة- التحقق من خطة الصفحات — يعرض
ValidatePagePlanمسبقًا تعيينات الحذف والنقل والإدراج والتجزئة والدمج، ويجرد تأثيرات التنقل والتسميات والنماذج وشجرة البنية والميزات المستوردة والتواقيع، ويرفض الخطط التي قد تترك أهدافًا معلقة أو تعدل محتوى موقعًا دون تخويل صريح- توليد تخطيط بتمريرتين — يقيس
GenerateLayoutالنصوص الملتفة والخطوط والصور وصفحات XObjects والترويسات والتذييلات ويقسمها إلى صفحات قبل إصدار كائنات صفحات أصلية ذريًا، بينما تحافظ العناصر النائبة المستقرة{page}و{pages}على عدد الصفحات المقاس- تخطيط مقسم لصفحات مدعوم بالقرص — يكتب
GeneratePagedLayoutالأوامر إلى تخزين قابل للبحث يختاره المستدعي، ويستعيد كل صفحة من مقاطع مضغوطة غير متجاورة، ويحد مصفوفات الصفحات المحتفظ بها بذاكرة LRU مؤقتة، ويلحق صفحات PDFium تسلسليًا- تخطيط جداول عابرة للصفحات — يحل
TPdfLayoutTableالأعمدة الثابتة والكسرية والمحتوى-المقاس مرة واحدة، ويكرر صفوف الترويسة المتجاورة، ويجزئ صفوف الجسم المؤهلة، ويبقي مجموعات امتداد الصفوف سليمة، ويصدر تسميات توضيحية وحدود خلايا وروابط وتسلسلًا دلاليًا متصلًا واحدًا من Table / TR / TH / TD عبر الصفحات- عقد تخطيط مخزنة مؤقتًا — تخزن خطط التخطيط مؤقتًا حسب هويات القيود والمحتوى والخطوط والأنماط والمصدر والمقاس الكاملة، بينما يبني
TPdfLayoutCachedNodeالقوالب المتكررة بكسل ويصدر كل موضع من Form XObject أصلي واحد قابل لإعادة الاستخدام- تخطيط Tagged PDF تلقائي — يصدر
GenerateTaggedLayoutعناصر MCIDs أصلية و artifacts وشجرة بنية Document وتعيينات ParentTree و IDTree وعناوين وقوائم وأشكالًا مع نص بديل وترويسات جداول وتعليقات روابط بملكية OBJR من خطة التخطيط المقاسة نفسها؛ تبقي قيود العناصر الكتل والعناوين معًا وتفرض حدودًا دنيا للأسطر اليتيمة والأرامل وفواصل صفحات فعلية- تحرير المحتوى الموسوم — تفحص
PageObjectMarksوAddPageObjectMarkوSetPageObjectMarkParamوRemovePageObjectMarkParamوRemovePageObjectMarkقوائم خصائص BDC وتعدلها عبر علامات أصلية مستقرة- نصوص ثنائية الاتجاه والنصوص المركبة — يحول
AddShapedTextالمقاطع الاتجاهية والأشكال السياقية والحروف الملتصقة والإزاحات إلى محارف CID Type 2 موضعية، بينما تحافظ تعيينات ToUnicode المولدة وActualTextعلى دلالات Unicode المنطقية- تأليف خطوط CID Type 2 — يضمن
AddCidType2Textبيانات TrueType يوفرها المستدعي مع تعيينات صريحة من CID إلى GID و ToUnicode، وتجزئة اختيارية آمنة، وتراجع محكوم للخط الكامل، وفحوصات سلامة الاستخراج- ميزانية بايتات موحدة للذاكرة المؤقتة — ينسق
TPdf.CacheBudgetBytesمشاهد الصفحات المحللة والصور المصغرة وبيانات البنية ولقطات النصوص ولقطات كائنات الصفحات عبر LRU عالمي واحد قابل للقياس، بينما يمكن لـTPdfTileCacheوذاكرة خطوط النظام الانضمام إلى محافظ يختاره المستدعي- مزود خطوط النظام للمضيف — يوجه
ConfigureSystemFontProviderطلبات الخطوط المفقودة الأصلية عبر مزود يوفره التطبيق مع تحقق بايتات وذاكرة LRU محدودة وحوكمة بايتات مشتركة اختيارية وتراجع أصلي واستخراج جداول وإحصاءات دورة حياة- إعادة استخدام صفحات Form XObject —
CreateXObjectFromPageيصنع مقبضTPdfXObjectقابلًا لإعادة الاستخدام من أي صفحة في مستند آخر؛InsertFormObjectFromXObjectيدرج نسخة واحدة من الصفحة الملفوفة في الصفحة الحالية. مثالي للعلامات المائية وتراكبات القوالب وسير عمل «ختم صفحة واحدة على عدة صفحات». يمكن تحديد موضع كائن صفحة الوجهة وتحجيمه وتدويره عبرFPDFPageObj_SetMatrixومساعداتTPdfMatrix- إدارة الصفحات — إضافة وحذف ومعالجة الصفحات الفردية؛
AddPage(0, ...)يُدرج الصفحة الأولى ويُنشّطها فورًا- صناديق الصفحة — قراءة وكتابة MediaBox وCropBox وBleedBox وTrimBox وArtBox على الصفحة الحالية
- لغة Catalog — قراءة وكتابة لغة المستند المخزنة في إدخال Catalog /Lang
- معرّفات ملف Trailer — قراءة إدخالات /ID الثابتة والمتغيرة في Trailer كبايتات ثنائية
- إجراءات JavaScript على مستوى المستند — تعداد أسماء الإجراءات والسكريبتات في شجرة أسماء JavaScript على مستوى المستند
- شجرة بنية Tagged PDF — فحص عناصر البنية المنطقية ونص الإتاحة واللغة ومعرّفات المحتوى الموسوم والتسلسل الهرمي لصفحات Tagged PDF
- تفضيلات العارض — قراءة
PrintCopiesوPrintPageRangesوPrintScalingوPrintPaperHandlingمن قاموس تفضيلات العارض في المستند؛ مستندات PDF المحفوظة تعتمد افتراضيًا على إجراء فتح Fit Height للصفحة الأولى
عمليات النصوص
- استخراج النصوص — استخراج النصوص من صفحات PDF بدقة على مستوى الحرف عبر خصائص
TextوTextInRectangleوCharacterالمُفهرسة وCharacterRectangleوCharacterOrigin- نموذج النص المهيكل — يبني
GetStructuredTextتسلسلًا هرميًا محدودًا من صفحة وكتلة وسطر ومقطع منسق من هندسة المحارف الأصلية والبيانات الوصفية للخطوط وهوية كائن النص ودلالات Tagged PDF وترتيب الاستدلال الفيزيائي للتخطيط- اكتشاف الجداول واستخراجها — يجمع
ExtractTablesوExtractDocumentTablesبين صناديق الكلمات الأصلية وخطوط المسارات المحوَّلة لاكتشاف الجداول ذات الحدود أو المحاذاة بالمسافات، ويحافظ على الامتدادات المدمجة، ويقيّن درجة الثقة، ويؤشر استمرار الصفحات، ويصدر CSV أو JSON- إعادة التدفق الدلالي و HTML متجاوب — يجمع
BuildReflowDocumentدلالات Tagged PDF والاستدلال الفيزيائي للتخطيط واستخراج الجداول في شجرة عقد محدودة قابلة لإعادة الاستخدام تحافظ مخرجاتها HTML الآمنة على العناوين والفقرات والقوائم والأشكال وأقسام الصفحات وامتدادات الجداول- طبقة OCR قابلة للبحث — يمرر
ApplyOcrSearchLayerعمليات رسم BGRA محدودة من الأعلى إلى الأسفل للصفحة إلى مزود يوفره التطبيق، ويعين أرباع الثقة عبر هندسة الصفحة الأصلية، ويضيف نصًا غير مرئي قابلًا للبحث دون إعادة ترميز صور المسح الضوئي- وحدات قراءة على مستوى الجملة - توفر TPdf.ReadingUnits و TPdf.DocumentReadingUnits و TPdfView.ReadingUnits و BuildReadingUnits سجلات TPdfReadingUnit بحجم الجملة للاستماع عبر TTS المتزامن
- تحديد الأسطر المرئي — يحدد
TPdfView.SelectLineAtسطر النص المرئي الذي يحوي فهرس صفحة بأساس واحد وفهرس حرف بأساس صفري عبر نموذج حدود الأسطر نفسه المستخدم في تحديد النقر الثلاثي وShift+HomeأوShift+End- تمييز القراءة كلمة بكلمة -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowيربط إزاحة حرف الصفحة مع TPdfWordBox الذي يحتويها ويميزها ويعيد فهرس الكلمة; يميز TPdfWordBox واحدا كالكلمة المنطوقة الحالية في TPdfView; يمسح طبقة مؤشر القراءة كلمة بكلمة الحالية في TPdfView; تتحكم في لون الطبقة المستخدم لمؤشر القراءة كلمة بكلمة الحالي; تتحكم فيما إذا كان TPdfView يمرر الكلمة المنطوقة الحالية إلى العرض أثناء تتبع القراءة- تنسيق جلسة القراءة الجهرية —
TPdfReadingSession،TPdfSpokenText،SpokenTextAppend،BuildSpokenTextFromWords،SpokenToPageChar، وEstimateSpokenWordIndexتنسق محركات النطق، والمقاطع المنطوقة، واستدعاءات موضع الكلمة، والتقدير الزمني، ومعالجة الإيقاف المؤقت والاستئناف، وتحديثات مؤشر الكلمة في TPdfView- البحث النصي — العثور على النص بخيارات الحساسية لحالة الأحرف والكلمات الكاملة والبحث المتتالي باستخدام
FindFirstوFindNextوFindPrevious، أو بث التطابقات إلى الأمام والخلف عبر المستند الكامل معTPdf.CreateDocumentSearchومستطيلات نتائج في فضاء الصفحة وإلغاء تعاوني وذاكرة مقابض صفحات ثابتة- طبقة تمييز نتائج البحث — يستبدل
TPdfView.HighlightSearchTextطبقة تطابقات الصفحة الحالية، بينما يلحقAddSearchTextHighlightنطاقات فريدة لمصطلحات إضافية بحيث تبقى عدة استعلامات مرئية معًا. يزيلClearHighlightالمجموعة كاملة؛ والانتقال إلى صفحة أخرى يمسحها تلقائيًا لأن نطاقات المحارف خاصة بالصفحة. يأخذHighlightColorالقيمة الافتراضيةclYellowوهو منشور بحيث يمكن للتطبيقات تغيير سمة الطبقة- خصائص الحروف — الوصول إلى حجم الخط والوزن والزاوية والموضع لكل حرف عبر الخصائص المُفهرسة
CharacterAngleوCharacterFontSizeوCharacterFontWeightوCharacterGeneratedوCharacterIsHyphenوCharacterMapError- دعم الحروف الأوروبية — يحمّل
AddTextويخزّن مؤقتًا خط TrueType المنظومي المطابق قبل إنشاء كائن نص، بحيث تُعرَض الحروف ذات اللكنات في التشيكية والفرنسية والألمانية والإسبانية والبرتغالية والبولندية والتركية، التي لا تستطيع خطوط PDFium القياسية المدمجة تمثيلها، بشكل صحيح الآن دون أي تغيير في الكود- إضافة النصوص — إضافة نصوص جديدة إلى صفحات PDF مع خطوط مخصصة وألوان وشفافية وتدوير
- تحديد موضع كائنات النص — تعيين مواضع لكل حرف لكائنات النص الموجودة عبر
SetTextPositionsوTPdfSingleArray- معلومات الخطوط — استرجاع خصائص الخطوط بما في ذلك اسم العائلة وحالة التضمين وزاوية الخط المائل والصعود/الهبوط وبيانات الخط الخام لكل كائن صفحة
دعم التعليقات التوضيحية
- أنواع التعليقات التوضيحية — دعم لأنواع التعليقات النصية والروابط والتمييز والتسطير والشطب وأنواع أخرى عديدة من التعليقات التوضيحية
- إنشاء التعليقات التوضيحية — إنشاء تعليقات توضيحية جديدة برمجيًا
- تحرير التعليقات التوضيحية — تعديل خصائص التعليقات الموجودة بما في ذلك اللون والشفافية والمحتوى
- تعليقات الروابط — معالجة الروابط الداخلية والخارجية مع دعم الإجراءات
دعم النماذج
- وصولات تعبئة النماذج بالصوت - توفر FocusedFormFieldValue و FocusedFormFieldName و FocusedFormFieldDetails في TPdf و TPdfView قيمة واسم و TPdfFormFieldInfo لحقل النموذج المنطقي الحالي لتعبئة النماذج بلوحة المفاتيح أو الصوت
- أنواع النماذج — دعم لنماذج AcroForm و XFA
- تعبئة النماذج — تعبئة تفاعلية للنماذج مع دعم JavaScript
- اختيار V8 DLL — اضبط
EnableV8Engineقبل التحميل لاستخدامpdfium.v8.dllمن المجلد المطابقDLLs\Win32أوDLLs\Win64، واستعلم عن توفر مساعدات V8/XFA عبرV8FeaturesAvailableوXfaBStrHelpersAvailableوGetRecommendedV8Flags- الوصول إلى الحقول — قراءة وكتابة قيم حقول النماذج حسب الفهرس أو الموضع
- معلومات الحقول — الوصول إلى نوع الحقل وأعلامه واسمه وخصائص أخرى
- أعلام الحقول — تحديث أعلام حقول AcroForm حسب الفهرس أو الموضع عبر
SetFormFieldFlags/SetFormFieldFlagsAt، بما في ذلك أعلام للقراءة فقط والمطلوب وكلمة المرور والاختيار المتعدد- تسطيح النماذج —
GenerateFormAppearancesيعيد إنشاء مجرى المظهر /AP لكل عنصر نموذج (widget) في كل صفحة، وFlattenPage/FlattenAllPagesيثبتان التعليقات التوضيحية وحقول النماذج كمحتوى ثابت في الصفحة (غير قابل للتحرير)- تحديد نصوص عناصر النماذج والحافظة والتراجع / الإعادة — على عنصر AcroForm المركّز يكشف العارض
GetSelectedFormTextوCopySelectedFormTextToClipboardوCutSelectedFormTextToClipboardوPasteFormTextFromClipboardوSelectAllFormTextوFormUndo/FormRedo/FormCanUndo/FormCanRedo. يعالج المحررCtrl+AوCtrl+CوCtrl+InsertوCtrl+XوShift+DeleteوCtrl+VوShift+Insert؛ وترفض عمليتا القص واللصق الحقول للقراءة فقط أو الجلسات دون صلاحية تعبئة النماذج أو التعديل- معاملات تحرير المستند والتراجع / الإعادة — تجمع
BeginEditTransactionوCommitEditTransactionوRollbackEditTransactionتحريرات الصفحات والكائنات والتعليقات التوضيحية والمرفقات والبيانات الوصفية العشوائية، بينما تستخدمUndoEditوRedoEditوسجلات التحرير المحمولة فروقًا ثنائية الاتجاه محدودة مُتحقَّق منها بـ SHA-256- الاسترداد بعد الأعطال والحفظ التلقائي المرتبط بالتثبيت — تربط حزم الاسترداد المفحوصة بالمجموع بصمة المصدر وبصمة المسترد بسجل تحرير محدود، بينما يحدّث الحفظ التلقائي الذري ملفًا جانبيًا صريحًا بعد كل تثبيت أو تراجع أو إعادة دون إعادة كتابة ملف PDF المصدر
عمليات الصور
- استخراج الصور — استخراج الصور النقطية (bitmaps) من صفحات PDF بخاصية
Bitmapالمُفهرسة؛ تكرارBitmapCountلحفظ كل صورة على القرص- إدراج JPEG —
AddJpegImageيأخذ TStream لبايتات JPEG الخام ويُضمِّن الصورة كـ /DCTDecode XObject بدون إعادة ترميز- دعم Picture —
AddPictureيقبل كائنTPictureمع تحويل تنسيق تلقائي من خلال فئات الرسوميات المسجلة في VCL/LCL- إدراج الصور المباشر —
AddImage(FileName)يتعرف على أي تنسيق مسجل في وحدات الرسوميات VCL أو LCL (BMP، PNG عبر PngImage، JPG، ...) ويشترك في خط أنابيب AddPicture.AddImage(TBitmap)يتخطى وسيط TPicture، مما يبسط على المستدعين الذين يمتلكون TBitmap بالفعل من أعمال العرض أو التوليد الدفعي- ملف تعريف ICC للصور — كائنات صفحة الصور تعرض بيانات ملف تعريف ICC المضمن فيها عند وجوده (ربط لـ
FPDFImageObj_GetIccProfileDataDecoded)- توليد الصور المصغرة — توليد صور مصغرة نقطية للصفحات عبر خاصية
Thumbnailأو رسم أي صفحة بأساس واحد عبرTPdf.RenderPageThumbnailدون تغييرPageNumber، مع ذاكرة LRU تراعي المراجعات ومحدودة بسقفين للإدخالات وبايتات البكسل- ذاكرة مشاهد الصفحات المحللة المؤقتة — تعيد
TPdf.RenderPageByIndexوRenderPageThumbnailوExtractThumbnailاستخدام مشاهد صفحات PDFium المخزنة مؤقتًا بـ LRU محدود، بينما تلغي تعديلات الصفحات وتغييرات شجرة الصفحات وحالة النموذج وتفكيك المستند الإدخالات البالية
وحدات المساعدة
- البنية التحتية للمعالجة غير المتزامنة — تجمع
FPdfAsyncالإلغاء التعاوني المهيكل مع callbacks قابلة للإزالة ومصادر مواعيد نهائية، وإرسال نتائجTPdfFuture<T>قابلًا للتهيئة، وTPdfAsyncExecutorقابلًا لإعادة الاستخدام بعمّال ثابتين وأربعة مسارات أولوية FIFO وضغط رجعي لطابور محدود ومقابض لكل مهمة وتشخيصات توقيت وإحصاءات مجمعة وإيقاف رشيق- محوّل Stream —
TPdfStreamAdapterيربطTStreamالخاص بـ Pascal بـ callbacksFPDF_FILEACCESSالخاصة بـ PDFium بحيث يقرأLoadCustomDocumentالكتل عند الطلب بدلاً من تخزين PDF كاملاً في الذاكرة- جلسات التحميل التدريجي — يبقي
TPdfProgressiveDocumentمزود التوفر الأصلي لـ PDFium حيًا، ويغذي تلميحات المستند والنموذج والصفحة إلىTPdfRangeRequestScheduler، ويدمج النطاقات الناقصة، ويستبق عمليات النقل في الخلفية لصالح بايتات الصفحات الحرجة، ويحد أحجام الطلبات وإعادات المحاولة، ويلغي عمليات النقل الزائدة، ويفتح صفحة مخططة قبل وصول PDF كاملًا- فحص streams محدود — يجرد
TPdfStreamInspectorكائنات streams الفيزيائية، ويكشف نوافذ خام آمنة وفك ترميز مرتب للمرشحات العامة، ويبلغ عن مسارات الوصول الأصلي للصور والمرفقات، ويفرض ميزانيات للمصدر والإخراج والقواميس والعدد ونسبة التمدد- تطبيع streams المحتوى — يقسم
TPdf.SaveAsNormalizedContentمحتوى الصفحات المنطقي إلى رموز، ويزيل التعليقات، ويتحقق من توازن الحالة والحاويات، ويحافظ على المعاملات غير المدعومة وبيانات الصور المضمنة، ويدمج مصفوفات/Contentsالآمنة- إخراج Fast Web View — يكتب
TPdf.SaveAsLinearizedكائنات الصفحة الأولى قبل الصفحات اللاحقة، ويصدر قسمي مراجع متقاطعة، ويبني جداول تلميحات لإزاحات الصفحات والكائنات المشتركة بحيث يستطيع عميل HTTP Range فتح الصفحة المطلوبة دون تنزيل الملف كاملًا- إخراج object streams — يحزم
TPdf.SaveAsObjectStreamالقيم المؤهلة في مجموعات ObjStm محدودة وفق PDF 1.5+، ويبقي الكائنات الحرجة للفتح مباشرة، ويكتب مدخلات xref تكيفية من النوع 2 لملفات أصغر دون التضحية بالوصول العشوائي- حفظ تدريجي للكائنات المتغيرة — يقارن
TPdf.BeginIncrementalSaveوCommitIncrementalSaveلقطات دلالية مستقرة، ويحافظ على كل بايت سابق مشفرًا كان أم لا، ويرث معاملات أمان R5 أو R6 أو R7، ويلحق الكائنات المتغيرة فقط، ويعيد الفتح بشكل صارم لكل نتيجة، ويستخدم ملفًا جانبيًا دائمًا واستبدالًا ذريًا لتثبيتات الملفات- التحكم في المحتوى الاختياري — يجرد
TPdf.InspectOptionalContentالطبقات والتكوينات والبيانات الوصفية للاستخدام ومجموعات الراديو والترتيب والأقفال وسياسات OCMD وتعبيرات الرؤية، بينما يكتبSaveAsOptionalContentConfiguredحالات طبقات حتمية يطبقها PDFium عبر سياق الرسم الأصلي- تخزين عمل محدود — يبقي
TPdfRandomAccessStoreالبيانات الصغيرة في الذاكرة، ويسكب مرة واحدة إلى ملف مؤقت خاص يحذف عند الإغلاق عند سقف يختاره المستدعي، ويوفر قراءات موضعية دون تغيير المؤشر المشترك؛ يطبقTPdf.SaveMemoryLimitالسياسة نفسها على معالجة ما بعد الحفظ الأساسية، بينما تستخدم تحديثات Catalog الافتراضية لإجراء الفتح وتسميات الصفحات نوافذ ثابتة الحجم وفهرس كائنات متناثرًا كسولًا- استعلام الإصدار الأصلي — يعيد
TPdf.PdfVersionاستخدام حالة المحلل فيFPDF_GetFileVersionلدلالات الترويسة والـ Catalog، مع فحص ترويسة واحد من ثمانية بايتات لرفض تخفيضات Catalog المشوهة- عدة هندسة المصفوفات — يلف
FPdfMatrixFS_MATRIXالخاص بـ PDFium بتركيب لاحق وسابق وتحويلات واعية بنقطة الارتكاز وملاءمة مستطيلات stretch / contain / cover وتشخيصات قابلية عكس واعية بالتحجيم وتفكيك ومساعدات عكس غير معدلة وتعيين متجهات وأرباع ومجموعات نقاط أو مستطيلات بعملية تخصيص واحدة ونسخ في المكان وحدود محولة بتمرير واحد- عرض تدريجي قابل للإلغاء — يُشغّل
TPdf.RenderPageProgressiveحلقةFPDF_RenderPageBitmap_Start+RenderPage_Continueالخاصة بـ PDFium ويستطلعIPdfCancellationTokenبين التكرارات عبر callbackIFSDK_PAUSEبحيث يمكن للعروض الطويلة عالية الدقة DPI أن تجهض في منتصف الصفحة بدلاً من الحجب حتى الاكتمال. يُرجعTPdfProgressiveStatusبقيمةprsDoneأوprsCancelledأوprsFailed- مسار العرض بدون نسخ —
RenderPage/RenderTile/RenderPageProgressiveتكتب مخرجات PDFium مباشرة في مخزن DIB الخاص بـTBitmapالوجهة بدلاً من المرور عبر مخزن داخلي، مما يوفر نسخة ذاكرة width × height × 4 بايتات لكل عرض — الأكثر ملاحظة عند DPI عالٍ (لوحات الصور المصغرة، تصدير بجودة الطباعة، التصدير الدفعي). يُحتفظ بمسار احتياطي لكل سطر مسح ضوئي عندما لا يمكن لف DIB الوجهة بأمان- تحويلات ألوان bitmap لضعف البصر - تحوّل InvertPdfBitmap و GrayscalePdfBitmap و DuotonePdfBitmap بكسلات TBitmap المعروضة 32 بت في مكانها لطرق عرض معكوسة أو رمادية أو ثنائية اللون لضعف البصر
- العرض الحي لضعف البصر - يدعم
TPdfView.OptionsالعلمينreInvertوreNightDuotone، بينما تتحكمNightDuotoneInkوNightDuotonePaperفي لوحة ألوان العرض الليلي قبل رسم الطبقات العليا
عمليات الرسم
- رسم المسارات — إنشاء مسارات بخطوط ومنحنيات بيزييه وأشكال مغلقة
- إزالة الكائنات — إزالة كائنات الصفحة وإعادة توليد محتوى الصفحة من TPdf أو TPdfView
- التعبئة والحد — تكوين وضع التعبئة والألوان والشفافية وخصائص الحد
- أوضاع المزج — دعم لأوضاع مزج PDF المختلفة
- أنماط الخط — تكوين نهاية الخط ووصل الخطوط وعرض الحد
التوقيعات الرقمية
- اكتشاف التوقيعات — اكتشاف وتعداد التوقيعات الرقمية في مستندات PDF
- معلومات التوقيع — الوصول إلى محتويات التوقيع ونطاق البايتات والمرشّح الفرعي والسبب والوقت
- صلاحيات MDP — الاستعلام عن صلاحيات اكتشاف وحظر تعديل المستند
- تحليل المراجعات بعد التوقيع — يصنف
AnalyzeSignatureRevisionsالتغييرات التدريجية على البايتات الأصلية مقابل DocMDP و FieldMDP، ويحدد تحديثات مواد التحقق، ويبلغ عن تعريفات الظل أو الكائنات المضغوطة غير المحلولة دون إعادة حفظ المستند- ملفات تعريف المنحنيات الإهليلجية لـ PDF 2.0 — يحدد التحقق من PAdES تواقيع NIST و Brainpool و Ed25519 و Ed448، ويفحص تطابق المنحنى مع دالة الهضم ومعاملات AlgorithmIdentifier، ويبلغ عن التشفير الأصلي غير المدعوم بمعزل عن التركيبات غير الصالحة
دعم المرفقات
- الوصول إلى المرفقات — قراءة وإنشاء وتعديل وحذف الملفات المرفقة المضمنة
- استخراج دفعي محدود — يجرد
ReadAttachmentMetadataالمرفقات مرة واحدة ويكتبExtractAttachmentsToStreamsحمولة واحدة مفكوكة في كل مرة تحت ضوابط لكل ملف وإجمالية وللقط وللإلغاء- أسماء المرفقات — الوصول إلى أسماء ملفات المرفقات
- أنواع المرفقات — قراءة قيم النوع الفرعي MIME للملفات المضمنة عند وجودها
- العلامات المرجعية (Bookmarks) — التنقل في العلامات المرجعية للمستند مع دعم هرمي عبر مصفوفة
Bookmarksومساعدات الاجتيازBookmarkChildrenوHasBookmarkChildrenوBookmarkFrom- الوجهات المسماة — الوصول إلى الوجهات المسماة حسب الفهرس أو الاسم عبر
DestinationوDestinationByNameوDestinationCount- تسميات الصفحات — استرجاع تسميات الصفحة لكل صفحة عبر
PageLabel؛ مفيد عندما تستخدم المستندات الأرقام الرومانية للمواد التمهيدية- روابط الويب — اكتشاف روابط الويب والتنقل فيها على الصفحات عبر
WebLinkوWebLinkCountوTPdfView.WebLinkAtPos- تعليقات الروابط — الوصول إلى تعليقات الروابط مع معلومات الإجراء والوجهة عبر
LinkAnnotationوLinkAnnotationCountوTPdfView.LinkAnnotationAtPos- معالجة آمنة لنقرات الروابط — يُطلق TPdfView أحداث
OnAnnotationLinkClick/OnWebLinkClickقبل معالجة goto / URI التلقائية، مع تعطيل إجراءات Launch افتراضيًا. يعمل اكتشاف نقر الروابط فقط عندما تكون الإيماءة نقرة وليست سحبًا، باستخدام مرساة MouseDown جديدة بحيث تستمر إيماءات السحب في التدفق عبر مسار التمرير الموجود دون تغيير
العرض
- عرض عالي الجودة — عرض الصفحات إلى سياق الجهاز أو bitmap أو tile عبر
RenderPage/RenderTile، مع كتابة مباشرة بدون نسخ في مخزن DIB الوجهة- عرض تدريجي قابل للإلغاء —
RenderPageProgressiveيُشغّل حلقة العرض التدريجية لـ PDFium ويستطلعIPdfCancellationTokenبين التكرارات، ويُرجعprsDoneأوprsCancelledأوprsFailed. يحتفظ bitmap بالعمل الجزئي المنجز حتى الآن عند الإلغاء- عرض متوازٍ للصفحات — يلتقط
RenderPagesParallelالمستند الحالي مرة واحدة، ويمنح كل عامل وحدة PDFium ومستندًا محملين بشكل مستقل، ويحافظ على ترتيب الطلبات، ويحد ذاكرة المخرجات المحتجزة لكل صفحة والإجمالية- حجب المحتوى الآمن — يطبق
SaveAsRedactedمستطيلات/Redactعلى لقطة معزولة، ويزيل بحذر كائنات الصفحات العليا المتقاطعة والتعليقات المتداخلة، ويرسم بدائل معتمة، ويزيل المرفقات المضمنة، ويكتب نتيجة نظيفة أحادية المراجعة دون تغيير المستند المحمل- خيارات العرض — تحسين نص LCD (
reLcd)، التعليقات التوضيحية (reAnnotations)، تدرج الرمادي، وأعلام وضع الطباعة- خطافات Skia — روابط منخفضة المستوى
FPDF_RenderPageSkiaوFPDF_FFLDrawSkiaمتاحة عندما يوفر المستدعون SkCanvas خارجيًا (يعتمد على صادرات DLL المرفقة)- اختيار وضع الطباعة — تعيين أوضاع طباعة PDFium التالية EMF، نص فقط، PostScript، تمرير مباشر، قناع صور، Type 42 عبر
SetPdfPrintModeمعTPdfPrintMode- طبقة غير متزامنة — يمكن لـ TPdfView عرض طبقة تحميل اختيارية أثناء قيام عمال خاصين بالتطبيق بالعرض باستخدام instances منفصلة من TPdf
- تدوير الصفحة — دعم للتدوير بزوايا 0 و 90 و 180 و 270 درجة (
ro0،ro90،ro180،ro270)- اكتشاف الشفافية — خاصية
Transparentتُبلغ عما إذا كان أي كائن على الصفحة الحالية يحتوي على شفافية، بما في ذلك أوضاع المزج والألفا الجزئي
العرض (TPdfView)
- أوضاع العرض —
dmSingleContinuous،dmTwoPageContinuous، وdmTwoPageContinuousWithCover(صفحة الغلاف تقف وحدها، ثم تستمر بصفحتين منتشرتين). مساعد على مستوى الوحدةComputeSpreadPagesيعرض حساب الصفحات المنتشرة دون إنشاء instance لعارض- وضع الملاءمة —
FitModeيختار كيفية ملاءمة الصفحة في منطقة العرض:pfmNone(تكبير يدوي)،pfmActualSize(100%)،pfmFitPage(الصفحة بكاملها تتسع في منطقة العرض)،pfmFitWidth(عرض الصفحة يطابق عرض منطقة العرض)، وpfmFitHeight(ارتفاع الصفحة يطابق ارتفاع منطقة العرض). يُعاد تطبيق وضع الملاءمة النشط تلقائيًا عند Resize وعند تغيير الصفحة الحالية؛ تعيين Zoom مباشرة يلغي وضع الملاءمة النشط (يعود FitMode إلىpfmNone)، مطابقًا اصطلاح عارضات PDF القياسية- التحكم في التكبير — تكبير متغير مع مساعدات لكل صفحة
PageZoomوPageWidthZoomوPageHeightZoomوActualSizeZoom- لون الصفحة —
PageColorيفصل خلفية صفحة PDF المعروضة عنColorالخاص بعنصر التحكم المحيط. الافتراضي هوclWhite، بحيث تُعرَض صفحات PDF الآن بلون أبيض ورقي بغض النظر عن سمة التطبيق المضيف. يمكن للعارضات في الوضع الداكن الحفاظ على منطقة التمرير داكنة بينما تبقى صفحة PDF الفعلية بيضاء (أو أي لون يختاره التطبيق)- تحديد النصوص التفاعلي — للمستخدم النهائي السحب لتحديد النصوص على صفحات PDF، مع التبديل التلقائي بين التحديد والتحريك بناءً على hit-test: النقر على حرف يبدأ سحب تحديد، النقر على مسافة بيضاء يحرك. النقر المزدوج يحدد الكلمة، النقر الثلاثي يحدد السطر،
Ctrl+Aيحدد الصفحة (كلتا الصفحتين في وضع الصفحات المنتشرة)،Ctrl+Cينسخ كـCF_UNICODETEXT،Shift+arrowsيمد التحديد، التحويم فوق نص يحول المؤشر إلىcrIBeam، والسحب نحو حافة العارض يحرك الصفحة تلقائيًا. منشورات جديدةSelectionColorوOnSelectionChange؛ عامة جديدةHasSelection،SelectedText،SelectionCharCount،ClearSelection،SelectAll،CopySelectionToClipboard. أوضاع العرض المنتشرة تحدد عبر كلتا الصفحتين المرئيتين مع وصل CR/LF. تظهر قائمة Copy المنبثقة عند النقر بالزر الأيمن افتراضيًا عندما لم يُعيّن المضيفPopupMenuالخاصة به. مُحكَم بعلمAllowUserTextSelectionالذي أُدخل في v1.17.0 للمضيفين الذين يحتاجون لكشك- تعيين الإحداثيات — تحويل بين إحداثيات جهاز العارض وإحداثيات صفحة PDF عبر
DeviceToPage/PageToDevice، بما في ذلك التحميلات الزائدة التي تأخذTRectوتُرجعTPdfRectangle- تحديد النصوص واختبار الإصابات — تحديد الحروف تحت نقاط العارض عبر
CharacterIndexAtPosورسم تمييزات تحديد النصوص عبرPaintSelection- الماوس ولوحة المفاتيح — دعم كامل لأجهزة الإدخال مع تمرير سحب الماوس واختصارات PgUp / PgDn / Ctrl+Home / Ctrl+End وتنقل صفحات wheel-up / wheel-down. Ctrl+wheel محجوز لتكبير التطبيق ويتم تخطيه بواسطة معالج التنقل
- قفل إدخال المستخدم —
AllowUserPageChangeيتحكم في اختصارات صفحات لوحة المفاتيح،ChangePageOnMouseScrollingيتحكم في قفزات صفحة العجلة، وAllowUserTextSelectionيتحكم في إدخال تحديد النص بالماوس / لوحة المفاتيح. كلها الثلاثة بقيمة افتراضية True؛ اقلبها إلى False لقفل الأكشاك أو ألواح المعاينة أو التضمينات للقراءة فقط دون subclassing- طبقة عرض غير متزامن —
AsyncRenderingوLoadingTextوLoadingColorترسم مؤشر «Loading...» صغير فوق الصفحة المعروضة بحيث تتشارك التطبيقات التي تستخدم العامل الخاص بها للعروض الطويلة في توفر مرئي متسق. القيم الافتراضية تحافظ على السلوك الموجود.TPdfيُسلسل الآن استدعاءات العرض وتفريغ الصفحات لكل instance؛ التطبيقات لا تزال تمتلك إرسال العامل ويجب أن تتجنب تغيير المستند أثناء جريان عرض ما- معالجة آمنة لنقرات الروابط —
LinkOptionsهي مجموعة منشورة تتحكم في السلوك التلقائي لأنواع إجراءات روابط PDF الأربعة:loAutoGoto(قفزة صفحة)،loAutoOpenURI(ShellExecute)،loAutoLaunch(ShellExecute)، وloAutoEmbeddedGoto(محجوز). الافتراضيات تُمكّنloAutoGotoوloAutoOpenURIفقط؛ يبقىloAutoLaunchوloAutoEmbeddedGotoمعطلين بحيث لا تستطيع نقرة شاردة تشغيل برنامج اعتباطي.OnAnnotationLinkClickوOnWebLinkClickيُطلقان قبل أي إجراء تلقائي ويسمحان للتطبيق بوضع علامة Handled على الحدث أو إعادة توجيهه- تفاعل النموذج — تحرير تفاعلي للنموذج داخل العارض، إضافة إلى مساعدات التحديد / التراجع / الإعادة في v1.23.0
- تنسيق مرئي —
PageShadowSizeوPageShadowColorوPageBorderColorترسم ظلًا اختياريًا تحت مستطيل الصفحة وحدًا بسماكة بكسل واحد حوله؛SmoothScrollيحرك الآن أوامر شريط التمرير للسطر/الصفحة في أجزاء مدفوعة بالمؤقت بينما يظل تتبع الإبهام فوريًا- التنقل بالصور المصغرة —
TPdfThumbnailView(وحدةFPdfThumbnail) يعرض صورة مصغرة لصفحة واحدة لكل صف في لوحة جانبية قابلة للتمرير مع تمييز عند المرور والاختيار بالإضافة إلى تنقل النقر-للذهاب. مصمم للوقوف بجانب TPdfView. الخصائص:CurrentPageIndex،ThumbnailWidth،ThumbnailHeight،TextColor،HoverColor،SelectionColor،BorderColor؛ الحدث:OnPageClick
الضغط
- ضغط تلقائي — عندما تكون خاصية
Compressedبقيمة True (افتراضي)، يُضمَن أن جميع streams PDF مضغوطة بـ FlateDecode عند الحفظ- المعالجة اللاحقة — يفحص محرك الضغط بيانات PDF المحفوظة ويضغط أي streams غير مضغوطة باستخدام أقصى ضغط من zlib
- إعادة بناء المرجع المتقاطع — يعيد بناء جدول xref تلقائيًا عندما يغير ضغط stream تعويضات البايت
- بدون أعباء — إذا كانت جميع streams مضغوطة بالفعل، تمر البيانات دون تعديل
الأمان
- دعم كلمة المرور — فتح مستندات PDF المحمية بكلمة مرور
- الصلاحيات — قراءة صلاحيات المستند والمستخدم؛ يجمع عرض
SecurityAuditالصلاحيات والمرفقات وJavaScript المستند وروابط URI / Launch والتوقيعات وXFA وتوفر V8 في سطح خطر للقراءة فقط مع إجراءات حفظ تقرير TXT / JSON ونسخ TXT- عدة DER محدودة — ترمز
FPdfAsn1أرقام وسوم منخفضة وعالية وقيمًا منمطة ومجموعات SET OF مرتبة وأشكال وقت أو سلاسل قياسية؛ وتدعم نوافذ القارئ بدون نسخ ولوحدات فك الترميز المنمط والمدقق محدود الموارد سير عمل CMS و PAdES والشهادات والأختام الزمنية- التحقق طويل الأمد الخاص بالتوقيعات — تكتب
TPadesDssOptions.Vrisقواميس VRI المعتمدة على هاش المفاتيح بينما تزود streams الشهادات و OCSP و CRL المشتركة بإزالة التكرار حسب هاش المحتوى، وينشئ توقيع PAdES بنمط B-LT أو B-LTA الـ VRI الخاص بالتوقيع الجديد تلقائيًا- التوقيع البعيد والمقاطوع — يحفظ
PreparePadesRemoteSignatureهاش SHA-256 للمستند ونطاق ByteRange الدقيق وإحداثيات العنصر النائب وبصمة PDF المعد للتوقيع لتوقيع HSM أو السحابي، بينما يرفضCompletePadesRemoteSignatureالجلسات المعدلة أو المعاد استخدامها أو الأكبر من الحد أو غير المتطابقة في الهاش قبل كتابة المخرجات- تحليل سياسة مراجعات التوقيع — يعيد
AnalyzeSignatureRevisionsبناء سلاسل المراجعات الكلاسيكية والهجينة ومسارات xref، ويطبق DocMDP و FieldMDP لكل توقيع، ويفشل بشكل آمن مغلق عند التغييرات المشوهة أو الظلية أو المضغوطة أو المتجاوزة للميزانية- ملفات تعريف تواقيع مقاومة للالتباس — يحصي التحقق من PAdES المفاتيح المطلوبة عند مستوى قاموس التوقيع الأعلى فقط، ويرفض المكررات وملفات Sig أو DocTimeStamp الشخصية غير المتسقة، ويتطلب أن يستثني ByteRange تمامًا رمز Contents الست عشري المباشر
- تصدير أدلة التواقيع المتعددة — يربط
BuildPadesEvidenceReportحقائق PDFium وسياسة CMS وحالة الثقة والختم الزمني وهاشات مسار الشهادات وتغطية DSS/VRI وقرارات المراجعات بمخرجات JSON و CSV محدودة- تجديد ختم الأرشفة الزمني — يلحق
RenewPadesArchiveTimestampختمًا زمنيًا لمستند RFC 3161 فوق تاريخ التواقيع القائم بدقة، ويجدد اختياريًا الـ DSS كاملًا أولًا، ويتحقق من سلسلة B-LTA الناتجة قبل الإخراج- التحقق غير المتزامن من الثقة — يتحقق
ValidatePadesTrustوValidatePadesTrustAsyncمن التواقيع المنفصلة على البايتات الأصلية وسلاسل الموقع و TSA وأدلة الإبطال عبر الإنترنت الاختيارية ورموز الختم الزمني RFC 3161 مع تقدم مدار واسترجاع محدود وإلغاء تعاوني- الثقة المؤهلة — يفك
TPdfEuropeanTrustedListقوائم ETSI الموثوقة التي صادق عليها المستدعي فقط، ويعيد مصادقة XML المخزنة مؤقتًا، ويقبل مصادر تحديث يملكها المستدعي، ويوفر تقييم خدمات مؤهلة دون اتصال عبرQualifiedTrustEvaluator- إزالة الأمان — حفظ المستندات مع إزالة الأمان (عند التفويض)
الطباعة
- أوضاع الطباعة — الاختيار بين أوضاع طباعة EMF، نص فقط، PostScript Level 2 / 3، PostScript pass-through، EMF image-mask، وType 42 عبر الدالة العامة
SetPdfPrintMode- تفضيلات العارض — كشف نية مؤلف المستند عبر
PrintCopiesوPrintPageRanges(نطاقات صفحات بدءًا من واحد) وPrintScalingوPrintPaperHandling؛SetPdfPrintPaperHandlingDevModeيُعيّن تلميح Duplex إلى WindowsDEVMODE.dmDuplex- طباعة N-up — تعرض عروض
PrintPreferencesلـ Delphi و C++Builder و Lazarus تركيب أوراق N-up (1 / 2 / 4 / 9 صفحات لكل ورقة) مع تصفية الصفحات الفردية/الزوجية، عرض بتدرج الرمادي، حدود خلية اختيارية بسماكة بكسل، تفضيلات طباعة مؤلف PDF، وتعيين نية Duplex عبرSetPdfPrintPaperHandlingDevMode
الأمثلة المُرفقة
تحتوي أشجار
Demo\DelphiوDemo\CBuilderوDemo\Lazarusعلى مشاريع نموذجية قابلة للتشغيل تختبر سطح API الحي عبر جميع عائلات IDE الثلاث. أبرز الأمثلة:
- PDFViewer / MultiPageViewer / SplitView — استخدام TPdfView من البداية إلى النهاية: التحميل، التنقل، التكبير، التدوير، صفحتان منتشرتان، تخطيطات مع غلاف، ومقارنة جنب-إلى-جنب لملفات PDF في Delphi / C++Builder / Lazarus مع أوامر متزامنة؛ عروض العارض هي أيضًا اختبارات سرعة عملية لملفات PDF متعددة الجيجابايت، حيث يمكن لمستندات بحجم 2.x جيجابايت الوصول إلى عرض أول قابل للاستخدام تقريبًا فورًا بينما يظل عرض الصفحات سريع الاستجابة
- ViewerInteractionLab — عروض تفاعلية مركّزة على TPdfView في Delphi و C++Builder و Lazarus لأوضاع العرض، أوضاع الملاءمة، ألوان الصفحات، التدوير، تمييز البحث، تحديد النصوص، معاينة النص المحدد، إجراءات الحافظة، وملاحظات إحداثيات DeviceToPage
- SearchAndSelect — عروض سير عمل مركّزة في Delphi و Lazarus و C++Builder لسرد نتائج البحث في كل الصفحات، التنقل السابق / التالي بين التطابقات، القفز إلى النتيجة بالنقر المزدوج،
HighlightSearchText، البحث مع مراعاة الحالة / الكلمة الكاملة،AllowUserTextSelection،SelectedText،SelectAll،CopySelectionToClipboard،ClearSelection، وأوضاع العرض المنتشرة- PreflightReport — تجمع كائنات
FPdfPreflightReportالقابلة لإعادة الاستخدام نتائج PDF/A و PDF/UA و PDF/E و PDF/X و PDF/R و PDF/VT مع الحالة وأولوية Info / Warning / Error والبحث والتصفية والتجميع الحتمي وبصمات SHA-256 مستقرة ومخرجات TXT / HTML / Markdown / JSON / CSV وصيغ أتمتة SARIF 2.1.0 / JUnit XML / NDJSON / XML؛ وتوفر عروض Delphi و Lazarus و C++Builder بالإضافة إلى سير عمل وحدة التحكم معاينات وتوجيهًا دفعيًا وملخصات ومرفقات تقارير وبوابات رموز خروج CI- ContentExtractionLab — سير عمل موحد لجرد المحتوى في Delphi و Lazarus و C++Builder لبيانات المستند الوصفية، نص الصفحة، كائنات الصفحة، الصور، المرفقات، الروابط، التعليقات التوضيحية، العلامات المرجعية، ومقاييس الخطوط / الأحرف مع تصدير TXT / JSON، اختيار كل / لا شيء للفئات، حفظ PDF المصدر، وإجراءات نسخ التقرير
- WatermarkStamp — سير عمل Form XObject قابل لإعادة الاستخدام في Delphi و Lazarus و C++Builder للعلامات المائية الموسطة، الأختام الزاوية، وتسميات أرقام الصفحات عبر هدف PDF متعدد الصفحات
- CreatePDF — بناء PDF متعدد الصفحات من الصفر مع النصوص والصور والمسارات والجداول وتركيب العلامة المائية؛ يتضمن خيار «النص الأوروبي» لكتابة نصوص بلكنات تشيكية / فرنسية / ألمانية / إسبانية / برتغالية / بولندية / تركية للتحقق من اختيار الخطوط ومعالجة Unicode
- ExtractText / ExtractImages / ContentExtractionLab — حفظ النصوص المستخرجة (بما فيها المخرجات المفصولة لكل صفحة) أو الصور المضمنة على القرص؛ أو توليد تقرير جرد محتوى متعدد الفئات في مرور واحد
- FormFill — قراءة بيانات حقول AcroForm الوصفية، كتابة القيم، إعادة توليد مظاهر /AP، وحفظ النتيجة القابلة للتحرير أو المُسطّحة
- FontProperties — فحص بيانات الحرف / الخط المُفهرسة عبر كل من TPdf و TPdfView في Delphi و C++Builder و Lazarus
- MergePDF / SplitPDF — دمج عدة ملفات PDF مصدر (مع تحديد نطاق الصفحات لكل ملف، ومسار مخرجات اختياري، وسجل تشغيل، وزر إلغاء، وملخص اكتمال الدمج) أو تقسيم ملف PDF إلى ملفات مخرجات لكل صفحة
- PDFtoJpg / BatchExport — تحويل PDF إلى JPG لمرة واحدة أو دفعيًا متعدد الملفات في Delphi و C++Builder و Lazarus مع تقدم إجمالي لكل ملف، تقدم حالي لكل صفحة، إدخالات DPI / الجودة / كلمة المرور، ودفعة قابلة للإلغاء تعاونيًا مدعومة بـ
IPdfCancellationToken- StandardsLab — عروض سير عمل في Delphi و C++Builder و Lazarus للتحقق من PDF/A و PDF/UA و PDF/E و PDF/X و PDF/R و PDF/VT، تقارير المشكلات، ومخرجات الحفظ الموجهة للمعايير
- PrintPDF / PrintPreferences — طباعة PDF القياسية في Delphi و C++Builder و Lazarus مع المعاينة، نطاقات الصفحات، النسخ، الترتيب، التقدم، والإلغاء (PrintPDF)، بالإضافة إلى تركيب أوراق N-up في Delphi و C++Builder و Lazarus مع تصفية الصفحات الفردية / الزوجية وتفضيلات طباعة مؤلف PDF (PrintPreferences)
- SecurityAudit — عروض سطح خطر للقراءة فقط في Delphi و C++Builder و Lazarus للصلاحيات، المرفقات، إجراءات JavaScript، روابط URI / Launch، روابط الويب، التوقيعات، حالة XFA، توفر مساعدات V8 / XFA، وتقارير تدقيق TXT / JSON
- Attachment — إنشاء PDFs، إضافة / سرد / استخراج / حذف / حفظ الملفات المضمنة مع عرض النوع الفرعي MIME
- ImageToPDF — تحويل دفعي للصور إلى PDF واحد في Delphi و C++Builder و Lazarus، صورة واحدة لكل صفحة، مع المعاينة والتقدم لكل صورة
تغطي مجموعات الاختبار الانحدارية في Delphi و C++Builder و Lazarus حالات 147 (Pas) / 123 (C++) تتشارك في نفس ملفات PDF التجريبية بحيث يظل السلوك متوازنًا على مستوى البايت عبر جميع عائلات IDE الثلاث
دعم المنصات
- Delphi — Delphi XE5 (RAD Studio XE5) حتى Delphi 13.1 Florence (RAD Studio 13.1)
- C++Builder — C++Builder XE5 (RAD Studio XE5) حتى C++Builder 13.1 Florence
- Lazarus — دعم Free Pascal / Lazarus
- Win32 / Win64 — منصات Windows بنواة 32-bit و 64-bit
تكشف المقارنة المحاذاة الصفحات المضافة والمحذوفة والمنقولة بتغييرات Unicode محدودة ومناطق مرئية متعددة؛ تجعل الطبقات هذه التغييرات قابلة للتصدير
يحفظ دمج التنقل بمعاملة الإشارات الهرمية والأنماط و URI والوجهات المعاد توجيهها خلال استيراد الصفحات المختارة والمعاد ترتيبها
يضيف Tesseract OCR الاختياري نصًا قابلًا للبحث إلى المسح، مع تشخيص تبعيات وإلغاء وميزانيات صريحة
يدعم دمج AcroForm للصفحات المختارة سياسات أسماء وعزل موارد صريحة؛ يولد الباركود الاختياري Code128 و QR و DataMatrix و PDF417 ويتعرف على صور رمادية