טעינת מסמכים עם LoadOptions

טעינת מסמכים עם LoadOptions

טעינת מסמכים עם LoadOptions

מדריך זה מראה כיצד לשלוט בטעינת מסמכים מעבר לנתיב קובץ פשוט או זרם, באמצעות מחלקת LoadOptions. ל-Document יש עומסי בנאים המקבלים מופע של LoadOptions — Document(fileName, loadOptions) ו-Document(stream, loadOptions) — כך שכל ההגדרות המתוארות כאן חלות בזמן הטעינה, לפני שמופיע אובייקט המסמך מוחזר לקוד שלך.


מחלקת LoadOptions

LoadOptions נושא את ההגדרות Aspose.Words ש-FOSS זקוקה להן בזמן טעינת מסמך לתוך אובייקט Document. הבונים שלו כוללים LoadOptions() ללא פרמטרים, LoadOptions(password) לפתיחה ישירה של קובץ מוגן בסיסמה, ו-LoadOptions(loadFormat, password, baseUri) לציון הפורמט במפורש. מעבר ל-Password ו-BaseUri (משמשים לפתרון הפניות יחסיות כגון משאבים מקושרים), LoadOptions חושף Encoding עבור פורמטים מבוססי טקסט, TempFolder לעיבוד מסמכים גדולים, MswVersion לציון איזו גרסת Word חלה על קונבנציות הפורמט, ו-UpdateDirtyFields, IgnoreOleData ו-UseSystemLcid לבקרה מדויקת יותר על התנהגות הטעינה. LoadOptions.FontSettings מאפשר לך לספק FontSettings בזמן הטעינה במקום להגדיר פונטים רק לאחר שהמסמך נטען.

אפשרויות טעינה ספציפיות לפורמט

לחלק מהפורמטים יש תת-מחלקה משלהם של LoadOptions החושפת הגדרות ספציפיות לאותו פורמט. TxtLoadOptions (לטקסט פשוט) מוסיף AutoNumberingDetection, DetectNumberingWithWhitespaces, DetectHyperlinks, DocumentDirection, וכן LeadingSpacesOptions/TrailingSpacesOptions נפרדים מסוג TxtLeadingSpacesOptions/TxtTrailingSpacesOptions לשליטה באופן שבו רווחים מובילים ונסגרים בכל שורה מטופלים. MarkdownLoadOptions מוסיף PreserveEmptyLines, ImportUnderlineFormatting ו-SoftLineBreakCharacter לשליטה כיצד קונבנציות שבירת השורה של Markdown ממופות לפסקאות ורצפים במסמך. שני התתי-מחלקות יורשות כל תכונה כללית של LoadOptions, ולכן סיסמה או קריאת משוב לטעינת משאבים המוגדרת על מופע של TxtLoadOptions או MarkdownLoadOptions פועלת בדיוק כמו במחלקה הבסיסית.

קריאות משוב לטעינת משאבים

LoadOptions.ResourceLoadingCallback מקבל מימוש של IResourceLoadingCallback, שמקבל הודעה כאשר הטוען פותר משאבים חיצוניים שמופנים במסמך הטעון. הקריאה חוזרת מקבלת ResourceLoadingArgs המתארת את ResourceType של המשאב הטעון, ומחזירה ResourceLoadingAction כדי ליידע את הטוען האם לטעון את המשאב כרגיל, לדלג עליו, או להחליף בנתונים מותאמים. זהו נקודת ההרחבה לשליטה או חטיפת פתרון משאבים במהלך הטעינה, ללא תלות בפורמט הנקרא.

הגדרות שפה, כיוון והתאוששות

LoadOptions.LanguagePreferences הוא עצם LanguagePreferences שבו DefaultEditingLanguage (ערך enum של EditingLanguage) קובע את השפה Aspose.Words ש-FOSS מניח כאשר מסמך אינו מציין אותה במפורש; AddEditingLanguage(language) ו-AddEditingLanguages(languages) רושמים שפות נוספות שהמסמך עשוי להשתמש בהן. DocumentDirection (המוצג גם ישירות ב-TxtLoadOptions) הוא enum עם ערכי LeftToRight, RightToLeft ו-Auto לשליטה בכיוון זרימת הטקסט בעת הטעינה. LoadOptions.RecoveryMode מקבל ערך DocumentRecoveryMode, השולט כיצד הטוען מגיב כאשר הוא נתקל במסמך פגום או חלקית מושחת.

קריאות חוזרות להתקדמות ואזהרות

מעבר לטעינת משאבים, LoadOptions.WarningCallback ו-LoadOptions.ProgressCallback מקבלים מימושי קריאות חוזרות שמודיעים על בעיות לא קריטיות שנתקלו בהן בזמן הטעינה ועל התקדמות הטעינה, בהתאמה — שימושי להצגת בעיות ניתנות לשחזור לקוד הקורא או לדיווח על התקדמות במסמכים גדולים ללא שאילתות.


טיפים והמלצות מומלצות

  • העבר LoadOptions(password) (או הגדר LoadOptions.Password) במקום לתפוס חריגת טעינה ולנסות שוב — Aspose.Words FOSS זקוק לסיסמה לפני שהוא יכול לנתח את המסמך בכלל.
  • הגדר LanguagePreferences.DefaultEditingLanguage בעת טעינת מסמכים שהמטא-נתונים של השפה שלהם חסרים או לא מהימנים, כך שהעיבוד התלוי בשפה במ downstream יתנהג באופן צפוי.
  • העדיף את מחלקת אפשרויות הפורמט-ספציפיות (TxtLoadOptions, MarkdownLoadOptions) על פני המחלקה הבסיסית LoadOptions בעת טעינת הפורמטים האלה, מכיוון שהמחלקה המשנית הספציפית חושפת הגדרות רלוונטיות לפורמט שהמחלקה הבסיסית אינה מציגה.
  • הטמע את IResourceLoadingCallback כאשר אתה צריך להפנות מחדש, לשמור במטמון, או לחסום את פתרון המשאבים החיצוניים בזמן הטעינה במקום לאחר שהמסמך כבר בזיכרון.
  • הגדר את LoadOptions.RecoveryMode במכוון עבור צינורות שמעבדים מסמכים ממקורות לא מהימנים או צד שלישי, במקום להסתמך על התנהגות השחזור הסטנדרטית.

בעיות נפוצות

בעיהסיבהתיקון
טעינת מסמך מוגן בסיסמה גורמת לחריגהלא סופקה סיסמה, או שהיא סופקה לאחר שהטעינה כבר החלההעבר LoadOptions(password) (או הגדר Password על מופע של LoadOptions) למעמסה של הבונה Document שמקבלת LoadOptions
רווחים מובילים/בסוף בקובץ טקסט שנטען אינם מטופלים כצפויהתנהגות ברירת המחדל של TxtLeadingSpacesOptions/TxtTrailingSpacesOptions אינה תואמת את קונבנציות הרווחים של קובץ המקורהגדר את TxtLoadOptions.LeadingSpacesOptions / TrailingSpacesOptions במפורש
מעברי שורה ב-Markdown אינם ממופים למבנה הפסקאות הצפויMarkdownLoadOptions.PreserveEmptyLines או SoftLineBreakCharacter אינו תואם את הקונבנציות של Markdown המקורהתאם את המאפיין MarkdownLoadOptions הרלוונטי לפני הטעינה
טעינת משאבים חיצוניים אינה נצפית או ניתנת לשליטהלא נרשם IResourceLoadingCallback על LoadOptions.ResourceLoadingCallbackממש את IResourceLoadingCallback והקצה אותו לפני הטעינה

FAQ

איך אני טוען מסמך מוגן בסיסמה?

בנה את LoadOptions עם הסיסמה — new LoadOptions(password) — או הגדר את LoadOptions.Password, ואז העבר אותו ל-new Document(fileName, loadOptions) או ל-new Document(stream, loadOptions).

האם אני צריך תת-מחלקה LoadOptions ספציפית לפורמט, או שהמחלקה הבסיסית מספיקה?

מחלקת הבסיס LoadOptions מכסה הגדרות משותפות לכל פורמט (password, encoding, callbacks). השתמש במחלקת-תת-מחלקה ספציפית לפורמט כגון TxtLoadOptions או MarkdownLoadOptions כאשר אתה צריך הגדרות ייחודיות לאותו פורמט, כגון טיפול ברווחים בקבצי טקסט או קונבנציות של שבירת שורות עבור Markdown.

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

מימוש IResourceLoadingCallback והקצאתו ל-LoadOptions.ResourceLoadingCallback לפני הטעינה. ה-callback מקבל ResourceLoadingArgs לכל משאב ומחזיר ResourceLoadingAction שמחליט איך הטעען ממשיך.

איך אני שולט באיזו שפה Aspose.Words FOSS מניח עבור מסמך טעון?

הגדר את LoadOptions.LanguagePreferences.DefaultEditingLanguage לערך EditingLanguage לפני הטעינה; השתמש ב-AddEditingLanguage/AddEditingLanguages כדי לרשום שפות נוספות שהמסמך עשוי להכיל.

מה קורה אם הטעען נתקל במסמך פגום?

ההתנהגות נשלטת על ידי LoadOptions.RecoveryMode, ערך DocumentRecoveryMode שמחליט איך הטעען מגיב לבעיות מבניות במסמך המקור.


API Reference סיכום

מחלקה/שיטהתיאור
LoadOptionsאובייקט אפשרויות בסיסי השולט באופן שבו מסמך נטען
Document(fileName, loadOptions) / Document(stream, loadOptions)גרסאות עומס של הקונסטרקטור שמיישמות LoadOptions בזמן הטעינה
TxtLoadOptionsאפשרויות טעינה ספציפיות למסמכי טקסט פשוט
MarkdownLoadOptionsאפשרויות טעינה ספציפיות למסמכי Markdown
IResourceLoadingCallbackממשק Callback ליירוט פתרון משאבים חיצוניים במהלך הטעינה
ResourceLoadingArgs / ResourceLoadingActionנתוני אירוע לכל משאב והפעולה המוחזרת למטען
LanguagePreferencesמגדיר את שפות העריכה ברירת המחדל והנוספות המשוערות בעת הטעינה
DocumentDirectionEnum השולט בכיוון זרימת הטקסט (LeftToRight, RightToLeft, Auto)
DocumentRecoveryModeשולט בהתנהגות הטעינה כאשר מסמך פגום

ראה גם

 עברית