Конвертация PDF в документы Microsoft Word в .NET

Обзор

В этой статье объясняется, как конвертировать PDF в документы Microsoft Word с использованием C#. Она охватывает следующие темы.

Формат: DOC

Формат: DOCX

Формат: Word

Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing. Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.

Конвертация PDF в DOC и DOCX

Одной из самых популярных функций является конвертация PDF в Microsoft Word DOC, что облегчает управление содержимым. Aspose.PDF для .NET позволяет быстро и эффективно конвертировать файлы PDF в форматы DOC и DOCX.

Конвертация PDF в DOC (файл Microsoft Word 97-2003)

Конвертируйте файлы PDF в формат DOC легко и с полным контролем. Aspose.PDF для .NET является гибким и поддерживает широкий спектр конверсий. Например, очень популярной функцией является конвертация страниц из документов PDF в изображения.

Многие наши клиенты запросили конвертацию из PDF в DOC: конвертацию файла PDF в документ Microsoft Word. Клиенты желают это, потому что файлы PDF не так легко редактировать, в то время как документы Word можно. Некоторые компании хотят, чтобы их пользователи могли манипулировать текстом, таблицами и изображениями в файлах, которые начинались как PDF.

Сохраняя традиции делать вещи простыми и понятными, Aspose.PDF для .NET позволяет преобразовать исходный файл PDF в файл DOC всего двумя строками кода. Сохраняя традицию делать вещи простыми и понятными, Aspose.PDF для .NET позволяет преобразовать исходный PDF файл в DOC файл всего двумя строками кода.

Следующий фрагмент кода на C# демонстрирует конвертацию PDF файла в формат DOC.

Шаги: Конвертация PDF в DOC на C#

  1. Создайте экземпляр объекта Document с исходным PDF документом.
  2. Сохраните его в формат SaveFormat.Doc, вызвав метод Document.Save().
public static void ConvertPDFtoWord()
{
    // Открыть исходный PDF документ
    Document pdfDocument = new Document(_dataDir + "PDFToDOC.pdf");
    // Сохранить файл в формате MS document
    pdfDocument.Save(_dataDir + "PDFToDOC_out.doc", SaveFormat.Doc);

}

Использование класса DocSaveOptions

Класс DocSaveOptions предоставляет множество свойств, которые улучшают конвертацию PDF файлов в формат DOC. Класс DocSaveOptions предоставляет множество свойств, которые улучшают конвертацию PDF файлов в формат DOC.

  • Режим Textbox быстрый и хорошо сохраняет оригинальный вид PDF файла, но редактируемость результирующего документа может быть ограничена. Каждый визуально сгруппированный текстовый блок в оригинальном PDF преобразуется в текстовое поле в выходном документе. Это достигает максимального сходства с оригиналом, поэтому выходной документ выглядит хорошо, но полностью состоит из текстовых полей, редактирование которых в Microsoft Word может быть довольно сложным.
  • Режим Flow это полный режим распознавания, где движок выполняет группировку и многоуровневый анализ для восстановления оригинального документа согласно замыслу автора, при этом производя легко редактируемый документ.
  • Flow - это полный режим распознавания, где движок выполняет группировку и многоуровневый анализ для восстановления оригинального документа в соответствии с намерениями автора, создавая при этом легко редактируемый документ.

Свойство RelativeHorizontalProximity можно использовать для контроля относительной близости между текстовыми элементами. Это означает, что расстояние нормируется размером шрифта. У более крупных шрифтов могут быть большие промежутки между слогами, но они всё ещё считаются единым целым. Указывается в процентах от размера шрифта; например, 1 = 100%. Это означает, что два символа размером 12pt, размещенные на расстоянии 12 pt друг от друга, являются близкими.

  • RecognitionBullets используется для включения распознавания маркеров во время конвертации.
public static void ConvertPDFtoWordDocAdvanced()
{
    var pdfFile = Path.Combine(_dataDir, "PDF-to-DOC.pdf");
    var docFile = Path.Combine(_dataDir, "PDF-to-DOC.doc");
    Document pdfDocument = new Document(pdfFile);
    DocSaveOptions saveOptions = new DocSaveOptions
    {
        Format = DocSaveOptions.DocFormat.Doc,
        // Установить режим распознавания как Flow
        Mode = DocSaveOptions.RecognitionMode.Flow,
        // Установить горизонтальную близость как 2.5
        RelativeHorizontalProximity = 2.5f,
        // Включить значение для распознавания маркеров в процессе конвертации
        RecognizeBullets = true
    };
    pdfDocument.Save(docFile, saveOptions);
}

Конвертирование PDF в DOCX (файл Microsoft Word 2007-2021)

API Aspose.PDF для .NET позволяет читать и конвертировать документы PDF в формат DOCX с использованием C# и любого .NET языка. DOCX — это хорошо известный формат для документов Microsoft Word, структура которого была изменена с простого бинарного на комбинацию XML и бинарных файлов. Файлы docx могут быть открыты в Word 2007 и более поздних версиях, но не в более ранних версиях MS Word, которые поддерживают расширения файлов DOC.

Следующий фрагмент кода на C# показывает конвертацию файла PDF в формат DOCX.

Шаги: Конвертация PDF в DOCX на C#

  1. Сохраните в формате SaveFormat.DocX, вызвав метод Document.Save().
public static void ConvertPDFtoWord_DOCX_Format()
{
    // Откройте исходный PDF документ
    Document pdfDocument = new Document(_dataDir + "PDFToDOC.pdf");
    // Сохраните результат в DOC файл
    pdfDocument.Save(_dataDir + "saveOptionsOutput_out.doc", SaveFormat.DocX);
}

Конвертирование PDF в DOCX в улучшенном режиме

Для получения лучших результатов конвертации PDF в DOCX, вы можете использовать режим EnhancedFlow. Основное отличие между режимами Flow и Enhanced Flow заключается в том, что таблицы (как с границами, так и без) распознаются как настоящие таблицы, а не как текст с картинкой на фоне. Также происходит распознавание нумерованных списков и множество других мелких деталей.

public static void ConvertPDFtoWord_Advanced_DOCX_Format()
{    
    // Откройте исходный PDF документ
    Document pdfDocument = new Document(_dataDir + "PDFToDOC.pdf");

    // Создайте объект DocSaveOptions
    DocSaveOptions saveOptions = new DocSaveOptions
    {
        // Укажите выходной формат как DOCX
        Format = DocSaveOptions.DocFormat.DocX,
        // Установите другие параметры DocSaveOptions
        Mode = DocSaveOptions.RecognitionMode.EnhancedFlow
    };
    // Сохраните документ в формате docx
    pdfDocument.Save("ConvertToDOCX_out.docx", saveOptions);
}

Смотрите также

Эта статья также охватывает следующие темы. Коды такие же, как указано выше.

Формат: Word

Формат: DOC

Формат: DOCX