Конвертировать Word в PDF и сохранить отредактированный документ
Введение
Если вам нужно конвертировать Word в PDF, одновременно сохраняя отредактированный документ в различных форматах вывода, вы попали по адресу. Это руководство проведёт вас через каждый шаг — от загрузки файла WordProcessing, программного редактирования его содержимого, до экспорта результата в PDF, DOCX, HTML и другие форматы — с использованием GroupDocs.Editor for .NET. К концу вы получите переиспользуемый шаблон, работающий в любом проекте на .NET 4.6.1+ и новее.
Быстрые ответы
- Может ли GroupDocs.Editor конвертировать DOCX в PDF? Да — просто загрузите документ и вызовите
Saveс нужным форматом. - Нужен ли установленный Microsoft Word? Нет, API выполняет конвертацию на сервере без Office.
- Какие версии .NET поддерживаются? .NET Framework 4.6.1+, .NET Core 3.1+, .NET 5/6+.
- Сколько форматов доступно для экспорта? Более 20 форматов WordProcessing, включая PDF, DOCX, HTML и TXT.
- Требуется ли лицензия для продакшна? Да, необходима коммерческая лицензия; доступна бесплатная пробная версия.
Что такое «конвертировать word в pdf»?
Конвертировать word в pdf означает преобразование файла Microsoft Word (.docx) в документ PDF с сохранением макета, шрифтов и изображений.
GroupDocs.Editor выполняет эту конвертацию полностью в памяти, исключая необходимость во внешних инструментах.
Почему использовать GroupDocs.Editor для этой задачи?
GroupDocs.Editor поддерживает более 50 форматов ввода и вывода и может обрабатывать документы до 500 страниц без загрузки полного файла в память, что приводит к снижению нагрузки на CPU до 40 % по сравнению с традиционной конвертацией на основе Office.
Предварительные требования
- GroupDocs.Editor for .NET — скачайте последнюю версию здесь.
- Среда разработки — Visual Studio или любая IDE, совместимая с .NET.
- .NET Framework — версия 4.6.1 или выше (или .NET Core 3.1+).
- Пример документа — файл WordProcessing (например,
sample.docx). - Базовые знания C# — знакомство с синтаксисом C# и настройкой проекта.
Импорт пространств имён
Классы Editor и связанные с ними находятся в пространстве имён GroupDocs.Editor. Импортируйте их в начале вашего C# файла:
Класс Editor является точкой входа для загрузки, редактирования и сохранения документов.
Класс EditableDocument представляет документ, который можно редактировать в памяти.
using System;
using GroupDocs.Editor.Metadata;
Разберём процесс на управляемые шаги. Следуйте внимательно, чтобы понять каждую часть.
Шаг 1: Получить путь к входному файлу
Сначала необходимо указать путь к вашему входному файлу WordProcessing. Этот файл будет загружен и отредактирован.
string inputFilePath = "Your Sample Document";
Шаг 2: Создать параметры загрузки для документа
Далее создайте параметры загрузки, специфичные для документов WordProcessing. Эти параметры помогут настроить процесс загрузки документа.
WordProcessingLoadOptions определяет параметры, используемые при загрузке файла WordProcessing, такие как обработка шрифтов и ограничения памяти.
WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
Шаг 3: Загрузить документ с параметрами
Теперь загрузите документ в экземпляр Editor, используя указанные параметры загрузки.
using (Editor editor = new Editor(inputFilePath, delegate { return loadOptions; }))
Шаг 4: Создать параметры редактирования
Подготовьте параметры редактирования для документа. Эти параметры определяют, как документ будет открыт для редактирования.
WordProcessingEditOptions задаёт поведение редактирования файлов WordProcessing, включая включение отслеживания изменений и сохранение оригинального форматирования.
WordProcessingEditOptions editOptions = new WordProcessingEditOptions();
Шаг 5: Открыть документ для редактирования
Откройте документ для редактирования, создав экземпляр EditableDocument. Этот экземпляр позволит вносить изменения в документ.
using (EditableDocument beforeEdit = editor.Edit(editOptions))
Шаг 6: Редактировать содержимое документа
Настало время редактировать содержимое документа. Сначала получите документ в виде единой строки, закодированной в base64.
GetEmbeddedHtml извлекает текущее содержимое документа как строку HTML, закодированную в base64, для удобного манипулирования.
string allEmbeddedInsideString = beforeEdit.GetEmbeddedHtml();
Например, изменим подзаголовок в документе.
string allEmbeddedInsideStringEdited = allEmbeddedInsideString.Replace("Subtitle", "Edited subtitle");
Шаг 7: Создать новый EditableDocument из отредактированного содержимого
Создайте новый экземпляр EditableDocument из отредактированного содержимого и ресурсов.
using (EditableDocument afterEdit = EditableDocument.FromMarkup(allEmbeddedInsideStringEdited, null))
Шаг 8: Сохранить документ в различных форматах
Наконец, пройдитесь по всем поддерживаемым форматам WordProcessing и сохраните отредактированный документ в каждом формате.
Метод Save записывает отредактированный документ в файл выбранного формата, выполняя конвертацию внутри.
foreach (WordProcessingFormats oneFormat in WordProcessingFormats.All)
{
// Prepare save options
WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(oneFormat);
// Prepare save path
string savePath = Path.Combine("OutputDirectory", "MultipleOutFormats." + saveOptions.OutputFormat.Extension);
// Save the document
editor.Save(afterEdit, savePath, saveOptions);
}
Сообщение о завершении
В заключение вы можете вывести сообщение, указывающее, что процесс успешно завершён.
Console.WriteLine("SavingEditedDocumentToAllFormats routine has successfully finished");
Как конвертировать Word в PDF с помощью GroupDocs.Editor?
Загрузите исходный DOCX с помощью Editor.Load (или new Editor(inputPath, loadOptions)) и затем вызовите editableDocument.Save("output.pdf", SaveFormat.Pdf). Editor.Load инициализирует экземпляр Editor с указанным файлом и необязательными параметрами загрузки, подготавливая его к редактированию. API автоматически обрабатывает шрифты, таблицы и изображения, создавая точное PDF‑представление без необходимости Microsoft Word. Убедитесь, что путь вывода доступен для записи, и обработайте возможные исключения, чтобы гарантировать успешную конвертацию.
Распространённые сценарии использования
- Автоматическое создание отчётов — создайте шаблон DOCX, заполните его программно, затем экспортируйте в PDF для распространения.
- Пакетные конвертации — пройдитесь по папке с Word‑файлами, измените метаданные и конвертируйте каждый в PDF или HTML.
- Архивирование документов — храните отредактированные версии в нейтральном, только для чтения формате PDF для соответствия требованиям.
Устранение неполадок и советы
- Большие файлы — установите
LoadOptions.MemoryLimit, чтобы избежать высокого потребления памяти. - Отсутствующие шрифты — внедрите необходимые шрифты в DOCX перед конвертацией или укажите пользовательскую папку шрифтов через
EditorSettings.FontsPath. - Проблемы с кодировкой — убедитесь, что строка base64 правильно декодируется; используйте
Convert.FromBase64Stringв C#.
Часто задаваемые вопросы
В: Что такое GroupDocs.Editor for .NET?
О: GroupDocs.Editor for .NET — мощный API, позволяющий редактировать, конвертировать и сохранять документы в десятках форматов непосредственно из .NET‑приложений.
В: Можно ли использовать GroupDocs.Editor бесплатно?
О: Да, вы можете попробовать бесплатную trial‑версию. Скачайте её здесь.
В: Какие форматы поддерживает GroupDocs.Editor?
О: Библиотека поддерживает более 20 форматов WordProcessing, включая DOCX, PDF, HTML, TXT и ODT.
В: Как получить временную лицензию для GroupDocs.Editor?
О: Вы можете получить временную лицензию здесь.
В: Где можно найти дополнительную документацию и поддержку?
О: Подробная документация доступна здесь, а поддержку сообщества можно получить здесь.
Последнее обновление: 2026-06-01
Тестировано с: GroupDocs.Editor 2.10 for .NET
Автор: GroupDocs