Як експортувати та зберігати документи 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) робить формат явним незалежно від розширення, приймаючи значення перерахування 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. Деякі елементи перерахування 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.
Які формати підтримують двостороннє перетворення в цьому випуску?
DOCX, DOCM, DOTX, DOTM, Flat OPC (разом з їхніми макросумісними та шаблонними варіантами), Markdown та простий текст.
Як захистити збережений файл паролем, щоб його не можна було навіть відкрити?
Встановіть Password у екземплярі OoxmlSaveOptions і передайте його до Document.Save(fileName, saveOptions).
Як контролювати закінчення рядків в експортованому текстовому файлі?
Встановіть ParagraphBreak у екземплярі TxtSaveOptions перед збереженням.
Як перевірити формат файлу перед його конвертацією?
Викличте FileFormatUtil.DetectFileFormat(fileName) і прочитайте повернений FileFormatInfo.LoadFormat.