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

Обзор

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

Формат: DOC

Формат: DOCX

Формат: Word

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

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

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

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

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

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

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

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

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

  1. Создайте экземпляр объекта Document с исходным PDF документом.
  2. Сохраните его в формате SaveFormat.Doc, вызвав метод Document.Save().
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoWord()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    usnig (var document = new Aspose.Pdf.Document(dataDir + "PDFToDOC.pdf"))
    {
        // Save the file into MS document format
        document.Save(dataDir + "PDFToDOC_out.doc", SaveFormat.Doc);
    }
}

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

Класс DocSaveOptions предоставляет множество свойств, которые улучшают конвертацию PDF файлов в формат DOC. Среди этих свойств, Mode позволяет вам указать режим распознавания для содержимого PDF. Вы можете выбрать любое значение из перечисления RecognitionMode для этого свойства. Каждое из этих значений имеет свои преимущества и ограничения:

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

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

  • RecognitionBullets используется для включения распознавания маркеров во время конвертации.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoWordDocAdvanced()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();
    
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "PDF-to-DOC.pdf"))
    {
        var saveOptions = new Aspose.Pdf.DocSaveOptions
        {
            // Set format to save MS document
            Format = Aspose.Pdf.DocSaveOptions.DocFormat.Doc,
            // Set the recognition mode as Flow
            Mode = Aspose.Pdf.DocSaveOptions.RecognitionMode.Flow,
            // Set the Horizontal proximity as 2.5
            RelativeHorizontalProximity = 2.5f,
            // Enable the value to recognize bullets during the conversion process
            RecognizeBullets = true
        };
        // Save the file into MS document with save options
        document.Save(dataDir + "PDFtoDOC_out.doc", saveOptions);
    }
}

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

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

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

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

  1. Создайте экземпляр объекта Document с исходным PDF документом.
  2. Сохраните его в формате SaveFormat.DocX, вызвав метод Document.Save().
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoWord_DOCX_Format()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "PDFToDOC.pdf"))
    {
        // Save the file into MS document format
        document.Save(dataDir + "PDFtoDOC_out.docx", SaveFormat.DocX);
    }
}

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

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

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoWord_Advanced_DOCX_Format()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "PDFToDOC.pdf"))
    {
        // Instantiate DocSaveOptions object
        DocSaveOptions saveOptions = new Aspose.Pdf.DocSaveOptions
        {
            // Set format to save MS document
            Format = Aspose.Pdf.DocSaveOptions.DocFormat.DocX,
            // Set the recognition mode as EnhancedFlow
            Mode = Aspose.Pdf.DocSaveOptions.RecognitionMode.EnhancedFlow
        };

        // Save the file into MS document format
        document.Save(dataDir + "PDFToDOC_out.docx", saveOptions);
    }
}

См. также

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

Формат: Word

Формат: DOC

Формат: DOCX