Converter PDF em Documentos Microsoft Word no .NET

Visão Geral

Este artigo explica como converter PDF em Documentos Microsoft Word usando C#. Ele cobre os seguintes tópicos.

Formatação: DOC

Formatação: DOCX

Formatação: Word

O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.

Conversão de PDF para DOC e DOCX

Uma das funcionalidades mais populares é a conversão de PDF para Microsoft Word DOC, que torna o gerenciamento de conteúdo mais fácil. Aspose.PDF for .NET permite que você converta arquivos PDF para os formatos DOC e DOCX de forma rápida e eficiente.

Converter PDF para arquivo DOC (Microsoft Word 97-2003)

Converta arquivos PDF para o formato DOC com facilidade e controle total. Aspose.PDF for .NET é flexível e suporta uma ampla variedade de conversões. Converter páginas de documentos PDF em imagens, por exemplo, é um recurso muito popular.

Muitos de nossos clientes solicitaram uma conversão de PDF para DOC: converter um arquivo PDF em um documento Microsoft Word. Os clientes desejam isso porque arquivos PDF não podem ser facilmente editados, enquanto documentos Word podem. Algumas empresas querem que seus usuários possam manipular texto, tabelas e imagens em arquivos que começaram como PDFs.

Mantendo viva a tradição de tornar as coisas simples e compreensíveis, Aspose.PDF for .NET permite que você transforme um arquivo PDF de origem em um arquivo DOC com duas linhas de código. Para realizar essa funcionalidade, introduzimos uma enumeração chamada SaveFormat e seu valor .Doc permite que você salve o arquivo de origem no formato Microsoft Word.

O seguinte trecho de código C# mostra como converter um arquivo PDF em formato DOC.

Passos: Converter PDF para DOC em C#

  1. Crie uma instância do objeto Document com o documento PDF de origem.
  2. Salve-o no formato SaveFormat.Doc chamando o método 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);
    }
}

Usando a Classe DocSaveOptions

A classe DocSaveOptions fornece inúmeras propriedades que melhoram a conversão de arquivos PDF para o formato DOC. Entre essas propriedades, Mode permite que você especifique o modo de reconhecimento para o conteúdo PDF. Você pode selecionar qualquer valor da enumeração RecognitionMode para esta propriedade. Cada um desses valores tem benefícios e limitações específicas:

  • O modo Textbox é rápido e bom para preservar a aparência original do arquivo PDF, mas a editabilidade do documento resultante pode ser limitada. Cada bloco de texto visualmente agrupado no PDF original é convertido em uma caixa de texto no documento de saída. Isso alcança uma semelhança máxima com o original, de modo que o documento de saída parece bom, mas consiste inteiramente em caixas de texto, que podem ser editadas no Microsoft Word, o que é bastante desafiador.
  • O modo Flow é o modo de reconhecimento completo, onde o mecanismo realiza agrupamento e análise em múltiplos níveis para restaurar o documento original conforme a intenção do autor, enquanto produz um documento facilmente editável. A limitação é que o documento de saída pode parecer diferente do original.

A propriedade RelativeHorizontalProximity pode ser usada para controlar a proximidade relativa entre elementos textuais. Isso significa que a distância é normalizada pelo tamanho da fonte. Fontes maiores podem ter espaços maiores entre as sílabas e ainda serem consideradas um todo único. É especificado como uma porcentagem do tamanho da fonte; por exemplo, 1 = 100%. Isso significa que dois caracteres de 12pt colocados a 12 pt de distância são proximais.

  • RecognitionBullets é usado para ativar o reconhecimento de marcadores durante a conversão.
// 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);
    }
}

Converter PDF para arquivo DOCX (Microsoft Word 2007-2024)

A API Aspose.PDF for .NET permite que você leia e converta documentos PDF para DOCX usando C# e qualquer linguagem .NET. DOCX é um formato bem conhecido para documentos Microsoft Word cuja estrutura foi alterada de binária simples para uma combinação de arquivos XML e binários. Arquivos Docx podem ser abertos com o Word 2007 e versões posteriores, mas não com versões anteriores do MS Word, que suportam extensões de arquivo DOC.

O seguinte trecho de código C# mostra como converter um arquivo PDF em formato DOCX.

Passos: Converter PDF para DOCX em C#

  1. Crie uma instância do objeto Document com o documento PDF de origem.
  2. Salve-o no formato SaveFormat.DocX chamando o método 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);
    }
}

Converter PDF para DOCX em Modo Aprimorado

Para obter melhores resultados na conversão de PDF para DOCX, você pode usar o modo EnhancedFlow. A principal diferença entre Flow e Enhanced Flow é que tabelas (tanto com quanto sem bordas) são reconhecidas como tabelas reais, não como texto com uma imagem de fundo. Há também reconhecimento de listas numeradas e muitas outras pequenas coisas.

// 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);
    }
}

Veja Também

Este artigo também cobre os seguintes tópicos. Os códigos são os mesmos que acima.

Formatação: Word

Formatação: DOC

Formatação: DOCX