THotPDF.GetProgressiveLinearizedLoadInfo Method
מאמת כותרת ליניאריזציה תחומה ומדווח על טווח העמוד הראשון העצמאי
הצהרה
function GetProgressiveLinearizedLoadInfo(Source: THPDFRandomAccessSource; out Info: THPDFProgressiveLoadInfo): boolean;
יחידה
HPDFDoc
פרמטרים
| שם | מטרה |
|---|---|
Source | מקור גישה אקראית שיודע לדווח על טווחים זמינים באופן עצמאי |
Info | מקבל את ה-offsets המאומתים של הליניאריזציה, דגלי טווחים, סטטוס ו-diagnostics |
ערך מוחזר
מחזיר True כשמילון ליניאריזציה תקין פוענח, גם אם טווחים נדרשים עדיין אינם זמינים
הערות שימוש
- בדיקת הכותרת התחומה משתמשת ב-parser הקפדני לטווחי עמודים ומאמתת את /L, /H, /O, /E, /N, /T, את מבנה ה-tokenים ואת האובייקט העקיף המכיל
- מוכנות העמוד הראשון דורשת רק את המקטע המבוסס-אפס
[0, /E)ואינה תלויה בזנב ה-cross-reference הראשי - קריאות קצרות חוקיות נצברות עד שכל בקשה תחומה מושלמת, עם בדיקת ביטול בין קריאות
- המתודה לא לוקחת בעלות על Source
תכנון טווחים לעמוד שרירותי
function PlanProgressiveLinearizedPageRanges(Source: THPDFRandomAccessSource; PageIndex: Integer; out Plan: THPDFLinearizedPageRangePlan): boolean; overload;
function PlanProgressiveLinearizedPageRanges(Source: THPDFRandomAccessSource; PageIndex: Integer; const Options: THPDFLinearizedPageRangeOptions; out Plan: THPDFLinearizedPageRangePlan): boolean; overload;
ה-planner מפענח hint streams ראשיים ו-overflow גולמיים או Flate, ממפה את העמוד המבוקש דרך /P, כולל את ה-bootstrap המלא בתוספת קבוצות shared-object מופנות ונתוני cross-reference, מקבל קידומות entry-zero של traditional-xref עם LF ו-CRLF, ומחזיר טווחי בייטים מינימליים ממוינים
תוכנית העמוד הראשון תמיד משתמשת במקטע העצמאי [0, /E) ואינה דורשת פענוח hints
ברירת המחדל מקבלת שורות מיושרות-בייטים הניתנות לפעולה הדדית עם רצף shared-object משולב אחד ורצף הפיצול הרצוף MSB-first המתואר בנספח F; HintEncoding מזהה את הפרשנות שנבחרה, פרשנויות כפולות שקולות נשארות מפורשות, ופרשנויות סותרות נכשלות בסגירה
ל-AllowRowAlignedHints ברירת מחדל True ואפשר לנטרל אותו לאימות של נספח F בלבד
מגבלות המשאבים מכסות בייטי hint מפוענחים, מספר עמודים, קבוצות והפניות משותפות, מספר טווחים, merge gap, סך הבייטים המתוכננים וזיכרון planner עם תקרת ברירת מחדל של 256 MiB; פרשנות hint חלופית שלא ניתן לבדוק בתוך התקרה הזו נכשלת בסגירה, ולכשלי מגבלה, filter, hint, xref, זמינות ואינדקס עמוד יש ערכי THPDFLinearizedPagePlanStatus נפרדים