LoadFromMappedFile
ניהול מסמכים, ביצועים, קלט מקובץ
תיאור
טוען ובוחר PDF מקומי דרך תצוגה ממופה חסומה לקריאה בלבד, ומאפשר לקריאות אובייקטים וזרמים גדולות ונדחות לעשות שימוש חוזר בדפי קובץ של מערכת ההפעלה, מבלי להחזיק את המקור המלא בזיכרון
תחביר
Delphi
Function TPDFlib.LoadFromMappedFile(Const FileName, Password: WideString;
WindowSize: Int64= 0; Options: Integer= 0): Integer;פרמטרים
| FileName | הנתיב של ה-PDF המקומי |
|---|---|
| Password | הסיסמה לפתיחת ה-PDF, או מחרוזת ריקה עבור מסמך שאינו מוצפן |
| WindowSize | גודל התצוגה הממופה המבוקש בבתים; אפס בוחר 64 MiB, ערכים מתחת לגרגירות ההקצאה של מערכת ההפעלה מועלים לגרגירות זו וערכים מעל 1 GiB מוגבלים |
| Options | אפס מתיר החזרה לזרם קבצים לקריאה בלבד, בעוד ש-PDF_MAPPED_FILE_REQUIRE_MAPPING נכשל אלא אם תצוגה ממופה פעילה |
ערכים מוחזרים
| 0 | הארגומנטים היו שגויים, לא ניתן היה לפתוח את הקובץ, המיפוי הנדרש היה בלתי זמין או שלא ניתן היה לטעון את ה-PDF; בדקו את LastErrorCode |
|---|---|
| 1 | המסמך נטען ונבחר |
הערות
מהדורות Windows מחזיקות תצוגת קריאה-בלבד אחת וממפות אותה מחדש לפי דרישה בגבולות גרגירות ההקצאה; פלטפורמות אחרות וכישלונות מיפוי משתמשים באותו חוזה קריאה-מוחלטת מעל זרם קבצים רגיל לקריאה בלבד, אלא אם המיפוי נדרשהתצוגה המוגדרת כברירת מחדל של 64 MiB חוסמת את ניצול מרחב הכתובות באופן בלתי תלוי בגודל המקור ומתאימה לגישה דלילה לקבצים מקומיים גדולים; תצוגה קטנה יותר יכולה להפחית את מרחב הכתובות התושב, במחיר מיפויים מחדש רבים יותרקריאות מוחלטות של פרוסות אובייקטים מעתיקות ישירות מהתצוגה הנוכחית אל אחסון בבעלות המנתח, מבלי לשנות את סמן הזרם הממוקם; זהו לא API של מצביעי zero-copy מתמיד, משום שמיפוי מחדש פוסל את כתובות התצוגההמקור נשאר פתוח עד הסרת המסמך הטעון, ושמירה או חילוץ נדחה יכולים להמשיך לקרוא ממנואם
OnPassword הוקצה, כל ניסיון סיסמה שנדחה מקבל זרם ממופה ומצב מנתח טרייםהשתמשו ב-
GetMappedFileInfo כדי לאשר אם המיפוי פעיל ולבחון את סטטיסטיקות התצוגה והקריאה הנוכחיות