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 וב-