LoadFromRangeSource

مدیریت سند، کارایی

توضیحات

یک PDF را از طریق callback دسترسی تصادفی همگام بارگذاری و انتخاب می‌کند و به کلاینت‌های 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اندازه کل معتبر مبدأ بر حسب بایت
ReadCallbackcallback‌ای که بایت‌های یک آفست مطلق مبدأ را کپی می‌کند
Passwordگذرواژه بازکردن PDF، یا رشته خالی برای سند رمزنشده
ChunkSizeدانه‌بندی هم‌تراز واکشی محدوده؛ صفر پیش‌فرض 64 KiB را برمی‌گزیند و مقادیر زیر 4096 نیز از پیش‌فرض استفاده می‌کنند
CacheLimitBytesبیشینه بایت‌های نگه‌داشته‌شده در سراسر پنجره‌های کم‌استفاده‌ترین؛ صفر پیش‌فرض 4 MiB را برمی‌گزیند و مقادیر زیر یک قطعه به یک قطعه بالا برده می‌شوند
CoalesceWindowMSپنجره گردآوری برای نخستین قطعه خارج از حافظه نهان در هر خواندن مطلق؛ 2 میلی‌ثانیه پیش‌فرض است و صفر تأخیر اولیه را غیرفعال می‌کند
AvailabilityCallbackیک آزمون اختیاری بدون واکشی برای محدوده‌های بایتی‌ای که از قبل در ذخیره‌سازی تدریجی موجودند

مقادیر بازگشتی

0آرگومان‌های مبدأ نامعتبر بود یا PDF قابل بارگذاری نبود؛ LastErrorCode را بررسی کنید
1سند بارگذاری و انتخاب شد

توضیحات

callback خواندن آفست‌های مطلق صفرمبنا دریافت می‌کند و نباید بیش از Count بایت در Buffer بنویسد و تعداد نوشته‌شده را برگرداندهدف callback و ذخیره‌سازی پشت آن باید تا بسته‌شدن سند بارگذاری‌شده معتبر بمانند، چون رندر صفحه، استخراج و ذخیره می‌توانند بعداً محدوده‌های بیشتری درخواست کنندفراخوانی‌ها همگام‌اند و ممکن است به ترتیب غیرتوالی برسند؛ نتیجه کوتاه در انتهای فیزیکی مبدأ پذیرفته می‌شود، در حالی که نتیجه صفر غیرمنتظره باعث شکست بارگذاری یا عملیات به‌تعویق‌افتاده جاری می‌شودوقتی

AvailabilityCallback منتسب شده، تنها وقتی مقدار غیرصفر برگردانید که کل محدوده درخواستی بلافاصله و بدون انتقال یا ورودی/خروجی مسدودکننده قابل خواندن باشدمحدوده ذخیره‌شده بدون توجه به نتیجه callback در دسترس است؛ callback برابر

Nil با تلقی هر محدوده مبدأ معتبر به‌عنوان در دسترس، رفتار همگام را حفظ می‌کندقطعه‌های هم‌تراز از واکشی تکراری انتقال برای خواندن‌های همپوشان می‌پرهیزند و بودجه بایتی، بار نگه‌داشته‌شده را مستقل از اندازه سند محدود می‌کندخواندن‌های به‌تعویق‌افتاده شیء و قطعه از آفست‌های مطلق استفاده می‌کنند، پس کارهای همزمان درخواست‌های هم‌قطعه را به اشتراک می‌گذارند و قطعه‌های مجاور در صف را بدون تغییر نشانگر مکانی جریان ادغام می‌کنندcallbackهای مبدأ سری می‌شوند و نباید به‌صورت بازگشتی از همان جریان محدوده بخوانندبرای آزمون وابستگی‌های صفحه، فرم یا شیء غیرمستقیم، بدون خواندن محدوده‌های گزارش‌شده به‌عنوان غایب، از

GetRangeSourceDataAvailability

GetRangeSourceCacheInfo استفاده کنیدبرای مشاهده یا تغییر حافظه نهان فعال از SetRangeSourceCacheLimit، ClearRangeSourceCache و