Convertir PDF a Documentos de Microsoft Word en .NET

Resumen

Este artículo explica cómo convertir PDF a Documentos de Microsoft Word usando C#. Cubre estos temas.

Formato: DOC

Formato: DOCX

Formato: Word

El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.

Conversión de PDF a DOC y DOCX

Una de las características más populares es la conversión de PDF a Microsoft Word DOC, que facilita la gestión de contenido. Aspose.PDF for .NET te permite convertir archivos PDF a formato DOC y DOCX de manera rápida y eficiente.

Convertir archivo PDF a DOC (Microsoft Word 97-2003)

Convierte archivos PDF a formato DOC con facilidad y control total. Aspose.PDF for .NET es flexible y admite una amplia variedad de conversiones. Convertir páginas de documentos PDF a imágenes, por ejemplo, es una característica muy popular.

Muchos de nuestros clientes han solicitado una conversión de PDF a DOC: convertir un archivo PDF a un documento de Microsoft Word. Los clientes quieren esto porque los archivos PDF no se pueden editar fácilmente, mientras que los documentos de Word sí. Algunas empresas quieren que sus usuarios puedan manipular texto, tablas e imágenes en archivos que comenzaron como PDFs.

Manteniendo viva la tradición de hacer las cosas simples y comprensibles, Aspose.PDF for .NET te permite transformar un archivo PDF de origen en un archivo DOC con dos líneas de código. Para lograr esta función, hemos introducido una enumeración llamada SaveFormat y su valor .Doc te permite guardar el archivo de origen en formato de Microsoft Word.

El siguiente fragmento de código C# muestra cómo convertir un archivo PDF en formato DOC.

Pasos: Convertir PDF a DOC en C#

  1. Crea una instancia del objeto Document con el documento PDF de origen.
  2. Guárdalo en formato SaveFormat.Doc llamando al 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 la Clase DocSaveOptions

La clase DocSaveOptions proporciona numerosas propiedades que mejoran la conversión de archivos PDF a formato DOC. Entre estas propiedades, Mode te permite especificar el modo de reconocimiento para el contenido PDF. Puedes seleccionar cualquier valor de la enumeración RecognitionMode para esta propiedad. Cada uno de estos valores tiene beneficios y limitaciones específicas:

  • El modo Textbox es rápido y bueno para preservar la apariencia original del archivo PDF, pero la editabilidad del documento resultante podría ser limitada. Cada bloque de texto visualmente agrupado en el PDF original se convierte en un cuadro de texto en el documento de salida. Esto logra una máxima semejanza con el original, por lo que el documento de salida se ve bien, pero consiste completamente en cuadros de texto, que podrían ser editados en Microsoft Word, lo cual es bastante complicado.
  • Flow es el modo de reconocimiento completo, donde el motor realiza agrupamiento y análisis multinivel para restaurar el documento original según la intención del autor mientras produce un documento fácilmente editable. La limitación es que el documento de salida podría verse diferente del original.

La propiedad RelativeHorizontalProximity se puede usar para controlar la proximidad relativa entre elementos textuales. Esto significa que la distancia se normaliza por el tamaño de la fuente. Las fuentes más grandes pueden tener espacios más grandes entre las sílabas y aún ser consideradas un todo único. Se especifica como un porcentaje del tamaño de la fuente; por ejemplo, 1 = 100%. Esto significa que dos caracteres de 12pt colocados a 12 pt de distancia son proximales.

  • RecognitionBullets se utiliza para activar el reconocimiento de viñetas durante la conversión.
// 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);
    }
}

Convertir archivo PDF a DOCX (Microsoft Word 2007-2024)

La API de Aspose.PDF for .NET te permite leer y convertir documentos PDF a DOCX usando C# y cualquier lenguaje .NET. DOCX es un formato bien conocido para documentos de Microsoft Word cuya estructura cambió de binaria simple a una combinación de archivos XML y binarios. Los archivos Docx se pueden abrir con Word 2007 y versiones posteriores, pero no con versiones anteriores de MS Word, que admiten extensiones de archivo DOC.

El siguiente fragmento de código C# muestra cómo convertir un archivo PDF en formato DOCX.

Pasos: Convertir PDF a DOCX en C#

  1. Crea una instancia del objeto Document con el documento PDF de origen.
  2. Guárdalo en formato SaveFormat.DocX llamando al 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);
    }
}

Convertir PDF a DOCX en Modo Mejorado

Para obtener mejores resultados en la conversión de PDF a DOCX, puedes usar el modo EnhancedFlow. La principal diferencia entre Flow y Enhanced Flow es que las tablas (tanto con como sin bordes) se reconocen como tablas reales, no como texto con una imagen de fondo. También hay reconocimiento de listas numeradas y muchas otras cosas menores.

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

Ver También

Este artículo también cubre estos temas. Los códigos son los mismos que los anteriores.

Formato: Word

Formato: DOC

Formato: DOCX