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 | הגודל הכולל הסמכותי של המקור בבתים |
|---|---|
| ReadCallback | ה-callback המעתיק בתים עבור היסט מקור מוחלט |
| Password | הסיסמה לפתיחת ה-PDF, או מחרוזת ריקה עבור מסמך שאינו מוצפן |
| ChunkSize | גרגירות אחזור הטווחים המיושרת; אפס בוחר את ברירת המחדל 64 KiB, וגם ערכים מתחת ל-4096 משתמשים בברירת המחדל |
| CacheLimitBytes | המקסימום בתים הנשמרים על פני חלונות הפחות בשימוש לאחרונה; אפס בוחר את ברירת המחדל 4 MiB, וערכים מתחת לתא אחד מועלים לתא אחד |
| CoalesceWindowMS | חלון האיסוף עבור התא הראשון שאינו במטמון בכל קריאה מוחלטת; ברירת המחדל היא 2 מילישניות ואפס מבטל את ההשהיה ההתחלתית |
| AvailabilityCallback | בדיקה אופציונלית שאינה שולפת, עבור טווחי בתים שכבר קיימים באחסון מתקדם |
ערכים מוחזרים
| 0 | ארגומנטי המקור היו שגויים או שלא ניתן היה לטעון את ה-PDF; בדקו את LastErrorCode |
|---|---|
| 1 | המסמך נטען ונבחר |
הערות
callback הקריאה מקבל היסטים מוחלטים המתחילים מ-0 וחייב לכתוב לא יותר מ-Count בתים אל Buffer, ומחזיר את מספר הבתים שנכתבויעד ה-callback ואחסון התומך בו חייבים להישאר תקפים עד סגירת המסמך הטעון, משום שעיבוד עמודים, חילוץ ושמירה יכולים לבקש טווחים נוספים מאוחר יותרהקריאות סינכרוניות ועשויות להגיע בסדר לא עוקב; תוצאה קצרה מתקבלת בסוף הפיזי של המקור, בעוד שתוצאת אפס בלתי צפויה גורמת לטעינה או לפעולה הנדחית הנוכחית להיכשלכאשר
AvailabilityCallback מוקצה, החזירו ערך שונה מאפס רק כאשר את כל הטווח המבוקש ניתן לקרוא מיד, בלי תעבורה או I/O חוסםטווח שמור במטמון זמין ללא קשר לתוצאת ה-callback; callback
Nil משמר התנהגות סינכרונית בהתייחסות לכל טווח מקור תקין כזמיןתאים מיושרים נמנעים משליפות תעבורה כפולות עבור קריאות חופפות, בעוד שתקציב הבתים חוסם את המטען הנשמר באופן בלתי תלוי בגודל המסמךקריאות אובייקטים ומקטעים נדחות משתמשות בהיסטים מוחלטים, כך שעבודה מקבילה משתפת בקשות לאותו תא ומאחדת תאים סמוכים בתור, מבלי לשנות את סמן הזרם הממוקםה-callbacks של המקור מסודרים בטור ואסור שיקראו ברקורסיה מאותו זרם טווחיםהשתמשו ב-
GetRangeSourceDataAvailability
GetRangeSourceCacheInfo לבדיקת תלויות עמוד, טופס או אובייקטים עקיפים, מבלי לקרוא טווחים המדווחים כחסריםהשתמשו ב-SetRangeSourceCacheLimit, ב-ClearRangeSourceCache וב-