LoadFromRangeSource

إدارة المستندات، الأداء

الوصف

يحمّل ويحدد PDF عبر دالة رد نداء وصول عشوائي متزامنة، مسموحًا لعملاء HTTP وقواعد البيانات ومخازن الكائنات ومزودي التخزين المخصصين بتوريد نطاقات البايتات التي يمسها المحلل فقط

الصيغة

Delphi

Function TPDFlib.LoadFromRangeSource(SourceSize: Int64;
  ReadCallback: TPDFlibRangeReadEvent; Const Password: WideString;
  ChunkSize: LongInt= 0; CacheLimitBytes: Int64= 0;
  CoalesceWindowMS: Cardinal= PDF_NET_DEFAULT_COALESCE_WINDOW_MS;
  AvailabilityCallback: TPDFlibRangeAvailabilityEvent= Nil): Integer;

المعاملات

SourceSizeالحجم الكلي الموثوق للمصدر بالبايتات
ReadCallbackدالة رد النداء التي تنسخ بايتات عند إزاحة مصدر مطلقة
Passwordكلمة المرور المستخدمة لفتح ملف PDF، أو سلسلة فارغة لمستند غير مشفر
ChunkSizeحبيبية جلب النطاقات المحاذاة؛ والصفر يختار الافتراضي 64 KiB وتستخدم القيم دون 4096 الافتراضي أيضًا
CacheLimitBytesالحد الأقصى للبايتات المحتجزة عبر نوافذ الأقل استخدامًا مؤخرًا؛ والصفر يختار الافتراضي 4 MiB وتُرفع القيم دون مقطع واحد إلى مقطع واحد
CoalesceWindowMSنافذة التجميع لأول مقطع غير مخزَّن من كل قراءة مطلقة؛ والافتراض ملّي ثانيتان والصفر يعطل التأخير الأولي
AvailabilityCallbackاختبار اختياري غير جالب لنطاقات البايتات الموجودة سلفًا في تخزين تدريجي

القيم المُرجعة

0كانت وسائط المصدر غير صالحة أو تعذر تحميل ملف PDF؛ افحص LastErrorCode
1حُمّل المستند وحدُد

ملاحظات

يتلقى رد نداء القراءة إزاحات مطلقة تبدأ من الصفر ولا يجوز أن يكتب أكثر من Count بايتًا في Buffer معيدًا العدد المكتوب

يجب أن يبقى هدف رد النداء وتخزينه الداعم صالحين حتى يغلق المستند المحمل لأن رسم الصفحات والاستخراج والحفظ قد يطلبون مدايات إضافية لاحقًا

الاستدعاءات متزامنة وقد تصل بترتيب غير متسلسل؛ النتيجة القصيرة تقبل عند النهاية الفيزيائية للمصدر، بينما تسبب النتيجة الصفرية غير المتوقعة فشل التحميل أو العملية المؤجلة الحالية

AvailabilityCallback، أرجع قيمة غير صفرية فقط عندما يمكن قراءة النطاق المطلوب كاملًا فورًا دون نقل أو إدخال/إخراج حاجبالنطاق المخزن متوفر بمعزل عن نتيجة رد النداء؛ ويحفظ رد النداء

المدى المخزن مؤقتًا متاح بغض النظر عن نتيجة رد النداء؛ ورد النداء Nil يحافظ على السلوك المتزامن معاملًا كل مدى مصدر صالح متاحًا

الكتل المحاذاة تتجنب جلبات النقل المكررة للقراءات المتداخلة، بينما تقيّد ميزانية البايتات الحمولة المحتجزة باستقلال عن حجم المستند

القراءات المؤجلة للكائنات والمقاطع تستخدم إزاحات مطلقة، فيتشارك العمل المتزامن طلبات الكتلة نفسها ويدمج الكتل المتجاورة المنتظرة دون تحريك مؤشر موضع التيار

تسلسل ردود نداء المصدر ولا يجوز أن تقرأ تكراريًا من نفس تدفق المدى

GetRangeSourceDataAvailability

استخدم GetRangeSourceCacheInfo وSetRangeSourceCacheLimit وClearRangeSourceCache لمراقبة الذاكرة النشطة أو تغييرها

تمتلك المكتبة تدفق المدى القابل للبحث الداخلي خاصتها، لكنها لا تمتلك هدف رد النداء أو مخزنه الداعم