PDFium Delphi Component Docs

מתודת SaveAsReachable

Component: TPdf  ·  Unit: PDFium
כותב מחדש את המסמך כרוויזיה נקייה יחידה ששומרת רק על האובייקטים העקיפים הניתנים להשגה מהקטלוג וממילון ה-/Info של ה-trailer

Syntax

function SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;

Description

PDFium כותב תחילה עותק לא מצטבר של המסמך הנוכחי בזיכרון כך שהכתיבה מחדש מתחילה מבתים קנוניים

גרף האובייקטים מנותח אז והליכת השגה ברמת מסמך מהקטלוג אוספת כל אובייקט עקיף שורד, כולל עץ העמודים, משאבי עמוד, גופנים, תמונות, form XObjects, AcroForm, עץ מבנה, מתווים, עצי שמות, תוכן אופציונלי, מטה-נתונים, output intents וקבצים משויכים

אובייקטים שנותרו בלתי ניתנים להשגה על ידי עדכונים מצטברים, מיזוגי עמודים או שמירות מתוקנות מושלכים, והפלט הוא רוויזיה קלאסית יחידה ללא זרמי אובייקטים וללא זרם cross-reference

מספרי אובייקטים ודורות נשמרים, כך שכל הפניה צולבת שורדת נותרת תקפה ללא מספור מחדש; אובייקטים בלתי ניתנים להשגה הופכים לרשומות חופשיות בטבלת ה-cross-reference הקלאסית שנבנתה מחדש

ה-trailer שנבנה מחדש נושא את /Root, /Info ו-/ID קדימה רק כאשר האובייקטים המופנים שרדו את הסריקה

Policies and limits

Example

Pdf.SaveAsReachable('pruned.pdf', Report);
WriteLn('Kept ', Report.KeptObjectCount, ' pruned ', Report.PrunedObjectCount);

See Also

SaveAs, SaveAsRepaired, SaveAsNormalizedContent