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 لمراقبة الذاكرة النشطة أو تغييرها
تمتلك المكتبة تدفق المدى القابل للبحث الداخلي خاصتها، لكنها لا تمتلك هدف رد النداء أو مخزنه الداعم