כיצד לייצא ולשמור מסמכי Word ב .NET

כיצד לייצא ולשמור מסמכי Word ב .NET

מדריך זה מציג כיצד לייצא ולשמור מסמך Word עם Aspose.Words FOSS עבור .NET: שמירה עם פורמט משוער או מפורש, קונפיגורציית אפשרויות שמירה של OOXML, ייצוא ל-Markdown, ייצוא לטקסט רגיל, וזיהוי פורמט הקובץ לפני המרה. Aspose.Words FOSS עבור .NET זמין דרך NuGet או על-ידי בנייה ממקור.

מדריך שלב-אחר-שלב

שלב 1: קבל את הספרייה

שכפל את המאגר ובנה Aspose.Words.sln בהגדרת Release, ואז הוסף הפניה לפרויקט ל Aspose.Words.csproj מפרויקט .NET שלך, כפי שמתואר ב מדריך ההתקנה. הוסף using Aspose.Words; בראש כל קובץ השומר מסמכים.


שלב 2: שמור עם פורמט משוער או מפורש

Document.Save(fileName) מנחש את פורמט היעד מהרחבת הקובץ. Save(fileName, saveFormat) עושה את הפורמט מפורש ללא קשר להרחבה על-ידי קבלת ערך enum של SaveFormat, ו-Save(fileName, saveOptions) (או העומס המתאים של Stream) מקבל תת-מחלקה של SaveOptions לבקרת פורמט-ממוקדת. SaveOptions.CreateSaveOptions(saveFormat) היא מחלקה סטטית המחזירה את תת-מחלקת האפשרויות המתאימה עם ערכי ברירת המחדל שלה כבר מוגדרים עבור SaveFormat. גרסה זו שומרת במלואה הן אל ו-מן DOCX, DOCM, DOTX, DOTM, ו-Flat OPC (כולל הווריאנטים עם מקרו ותבניות), וכן ל-Markdown ו-טקסט רגיל.


שלב 3: הגדר אפשרויות ייצוא OOXML

OoxmlSaveOptions מגדיר שמירה לאחת מהגרסאות של Open XML. המאפיין SaveFormat שלו בוחר DOCX, DOCM, DOTX, DOTM, או Flat OPC באופן ספציפי; Password מגדיר סיסמה פתוחה על הקובץ השמור, בלתי תלויה במגבלת העריכה של Document.Protect; Compliance בוחר את רמת הקפדנות של OOXML; ו-CompressionLevel / Zip64Mode שולטות באריזת ZIP הבסיסית. בנה אחד עם new OoxmlSaveOptions(saveFormat) או דרך SaveOptions.CreateSaveOptions(saveFormat).


שלב 4: ייצא ל-Markdown

MarkdownSaveOptions שולט בייצוא ל-Markdown: ListExportMode ו-LinkExportMode מנהלים כיצד רשימות וקישורים מוצגים, ImagesFolder / ImagesFolderAlias קובעים היכן תמונות שהוצאו יישמרו וכיצד הן יופנו, ExportImagesAsBase64 משבצות אותן באופן פנימי במקום לכתוב קבצים נפרדים, ו-TableContentAlignment משפיע על סימון הטבלאות שנוצר. העבר מופע של MarkdownSaveOptions ל-Document.Save(fileName, saveOptions) עם שם קובץ .md, או הגדר את SaveFormat במפורש.


שלב 5: ייצא לטקסט פשוט

TxtSaveOptions (דרך הבסיס המשותף שלו TxtSaveOptionsBase, המשמש גם ב-MarkdownSaveOptions) שולט בייצוא טקסט פשוט: Encoding מגדיר את קידוד התווים, ParagraphBreak מגדיר את מחרוזת סיום השורה, MaxCharactersPerLine מעקל שורות ארוכות, SimplifyListLabels מנרמל תבליני רשימות ומספרים לתווים פשוטים, ו-PreserveTableLayout משאיר את עמודות הטבלה מיושרות באמצעות רווחים.


שלב 6: זיהוי פורמט לפני המרה

לפני המרת קובץ בפורמט לא ידוע, FileFormatUtil.DetectFileFormat(fileName) מחזיר FileFormatInfo עם ה-LoadFormat שזוהה. חבר זאת עם FileFormatUtil.LoadFormatToSaveFormat(loadFormat) כדי לבדוק האם פורמט זה יכול לבצע סיבוב מלא דרך הפורמטים הנתמכים בגרסה זו לפני קריאה ל-Document.Save. כמה חברי enum של SaveFormat קיימים לשם שלמות API, אך גרסה פתוחה מצומצמת זו אינה מיישמת קורא או כותב עובד עבורם; השתמש במשפחת DOCX/DOCM/DOTX/DOTM/Flat OPC בנוסף ל-Markdown ולטקסט פשוט לתפוקה מהימנה.

בעיות נפוצות ותיקונים

Save(fileName) כותב בפורמט הלא נכון. סיומת הקובץ אינה תואמת את הפורמט המיועד. השתמש Save(fileName, saveFormat) or Save(fileName, saveOptions) כדי להפוך את הפורמט למפורש במקום להסתמך על הסיומת.

קובץ OOXML שנשמר לא ייפתח עם סיסמה. OoxmlSaveOptions.Password לא הוגדר לפני השמירה. בנה OoxmlSaveOptions, קבע Password, והעבר אותו ל Save.

ייצוא Markdown מפזר קבצי תמונה באופן בלתי צפוי. Default MarkdownSaveOptions התנהגות זו מחלץ תמונות לקבצים נפרדים. קבע ExportImagesAsBase64 = true לקובץ Markdown עצמי אחד, או קבע ImagesFolder כדי לשלוט היכן התמונות יופיעו.

ייצוא טקסט רגיל מאבד את יישור העמודות בטבלה. TxtSaveOptions.PreserveTableLayout נשאר בברירת המחדל שלו. הגדר PreserveTableLayout = true לפני השמירה.

שאלות נפוצות

כיצד לשמור לפורמט ספציפי ללא תלות בסיומת הקובץ?

הפעל את Save(fileName, saveFormat) עם ערך SaveFormat מפורש, או Save(fileName, saveOptions) עם תת-מחלקה SaveOptions תואמת.

אילו פורמטים תומכים ב-round-trip בשני הכיוונים בגרסה זו?

DOCX, DOCM, DOTX, DOTM, Flat OPC (כולל גרסאות המאפשרות מקרו והגרסאות לתבניות), Markdown, וטקסט רגיל.

איך אפשר להגן על קובץ שמור בסיסמה כך שלא ניתן אפילו לפתוח אותו?

הגדר את Password על מופע של OoxmlSaveOptions והעבר אותו ל-Document.Save(fileName, saveOptions).

איך ניתן לשלוט בסיומות השורות בקובץ טקסט מיוצא?

הגדר את ParagraphBreak על מופע של TxtSaveOptions לפני השמירה.

איך לבדוק את פורמט הקובץ לפני המרתו?

קרא ל-FileFormatUtil.DetectFileFormat(fileName) וקרא את FileFormatInfo.LoadFormat שהוחזר.

ראה גם

 עברית