Convertir PDF a Excel en .NET

Resumen

Este artículo explica cómo convertir PDF a formatos Excel utilizando C#. Cubre los siguientes temas.

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

Formato: XLS

Formato: XLSX

Formato: Excel

Formato: Hoja de Excel única

Formato: Formato de hoja de cálculo XML 2003

Formato: CSV

Formato: ODS

Conversiones de C# PDF a Excel

Aspose.PDF for .NET admite la función de convertir archivos PDF a formatos Excel 2007, CSV y SpeadsheetML.

Aspose.PDF for .NET es un componente de manipulación de PDF, hemos introducido una función que renderiza el archivo PDF a un libro de Excel (archivos XLSX). Durante esta conversión, las páginas individuales del archivo PDF se convierten en hojas de Excel.

Para convertir archivos PDF a formato XLSX, Aspose.PDF tiene una clase llamada ExcelSaveOptions. Un objeto de la clase ExcelSaveOptions se pasa como segundo argumento al constructor Document.Save(..).

El siguiente fragmento de código muestra el proceso para convertir un archivo PDF en formato XLS o XLSX con Aspose.PDF for .NET.

Pasos: Convertir PDF a XLS en C#

  1. Crea una instancia del objeto Document con el documento PDF de origen.
  2. Crea una instancia de ExcelSaveOptions.
  3. Guárdalo en formato XLS especificando la extensión .xls llamando al método Document.Save() y pasándole ExcelSaveOptions.

Pasos: Convertir PDF a XLSX en C#

  1. Crea una instancia del objeto Document con el documento PDF de origen.
  2. Crea una instancia de ExcelSaveOptions.
  3. Guárdalo en formato XLSX especificando la extensión .xlsx llamando al método Document.Save() y pasándole ExcelSaveOptions.
  // For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
 private static void ConvertPDFtoExcel()
 {
     // The path to the documents directory
     var dataDir = RunExamples.GetDataDir_AsposePdf();

     // Open PDF document
     using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
     {
         // Instantiate ExcelSaveOptions object
         var saveOptions = new Aspose.Pdf.ExcelSaveOptions();

         // Save the file in XLSX format
         document.Save(dataDir + "PDFToXLS_out.xlsx", saveOptions);
     }
 }

Convertir PDF a XLS con Control de Columna

Al convertir un PDF a formato XLS, se agrega una columna en blanco al archivo de salida como primera columna. La opción InsertBlankColumnAtFirst de la clase ExcelSaveOptions se utiliza para controlar esta columna. El valor predeterminado es false, lo que significa que no se insertarán columnas en blanco.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoExcelAdvanced_InsertBlankColumnAtFirst()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Instantiate ExcelSaveOptions object
        var saveOptions = new Aspose.Pdf.ExcelSaveOptions
        {
            InsertBlankColumnAtFirst = false
        };

        // Save the file in XLSX format
        document.Save(dataDir + "PDFToXLS_out.xlsx", saveOptions);
    }
}

Convertir PDF a Hoja de Excel Única

Al exportar un archivo PDF con muchas páginas a XLS, cada página se exporta a una hoja diferente en el archivo de Excel. Esto se debe a que la propiedad MinimizeTheNumberOfWorksheets está configurada en false de forma predeterminada. Para asegurarte de que todas las páginas se exporten a una sola hoja en el archivo Excel de salida, establece la propiedad MinimizeTheNumberOfWorksheets en true.

Pasos: Convertir PDF a XLS o XLSX Hoja Única en C#

  1. Crea una instancia del objeto Document con el documento PDF de origen.
  2. Crea una instancia de ExcelSaveOptions con MinimizeTheNumberOfWorksheets = true.
  3. Guárdalo en formato XLS o XLSX teniendo una sola hoja llamando al método Document.Save() y pasándole ExcelSaveOptions.
 // For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFtoExcelAdvanced_MinimizeTheNumberOfWorksheets()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Instantiate ExcelSaveOptions object
        var saveOptions = new Aspose.Pdf.ExcelSaveOptions
        {
            MinimizeTheNumberOfWorksheets = true
        };

        // Save the file in XLSX format
        document.Save(dataDir + "PDFToXLS_out.xlsx", saveOptions);
    }
}

Convertir a otros formatos de hoja de cálculo

Convertir a formato XML Spreadsheet 2003

Desde la versión 20.8, Aspose.PDF utiliza el formato de archivo Microsoft Excel Open XML Spreadsheet 2007 como predeterminado para almacenar datos. Para convertir archivos PDF a formato XML Spreadsheet 2003, Aspose.PDF tiene una clase llamada ExcelSaveOptions con Format. Un objeto de la clase ExcelSaveOptions se pasa como segundo argumento al método Document.Save(..).

El siguiente fragmento de código muestra el proceso para convertir un archivo PDF en formato XLS Excel 2003 XML.

Pasos: Convertir PDF a Excel 2003 XML Formato en C#

  1. Crea una instancia del objeto Document con el documento PDF de origen.
  2. Crea una instancia de ExcelSaveOptions con Format = ExcelSaveOptions.ExcelFormat.XMLSpreadSheet2003.
  3. Guárdalo en formato XLS - Formato XML Excel 2003 llamando al método Document.Save() y pasándole ExcelSaveOptions.
  // For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
 private static void ConvertPDFtoExcelAdvanced_SaveXLS2003()
 {
     // The path to the documents directory
     var dataDir = RunExamples.GetDataDir_AsposePdf();

     // Open PDF document
     using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
     {
         // Instantiate ExcelSaveOptions object
         var saveOptions = new Aspose.Pdf.ExcelSaveOptions
         {
             Format = Aspose.Pdf.ExcelSaveOptions.ExcelFormat.XMLSpreadSheet2003
         };

         // Save the file in XLS format
         document.Save(dataDir + "PDFToXLS_out.xls", saveOptions);
     }
 }

Convertir a CSV

La conversión a formato CSV se realiza de la misma manera que la anterior. Todo lo que necesitas es establecer el formato apropiado.

Pasos: Convertir PDF a CSV en C#

  1. Crea una instancia del objeto Document con el documento PDF de origen.
  2. Crea una instancia de ExcelSaveOptions con Format = ExcelSaveOptions.ExcelFormat.CSV.
  3. Guárdalo en formato CSV llamando al método Document.Save() y pasándole ExcelSaveOptions.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFToCSV()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Instantiate ExcelSaveOptions object
        var saveOptions = new Aspose.Pdf.ExcelSaveOptions
        {
            Format = Aspose.Pdf.ExcelSaveOptions.ExcelFormat.CSV
        };
        
        // Save the file in CSV format
        document.Save(dataDir + "PDFToXLS_out.csv", saveOptions);
    }
}

Convertir a ODS

Pasos: Convertir PDF a ODS en C#

  1. Crea una instancia del objeto Document con el documento PDF de origen.
  2. Crea una instancia de ExcelSaveOptions con Format = ExcelSaveOptions.ExcelFormat.ODS.
  3. Guárdalo en formato ODS llamando al método Document.Save() y pasándole ExcelSaveOptions.

La conversión a formato ODS se realiza de la misma manera que todos los otros formatos.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFToODS()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();
    
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Instantiate ExcelSaveOptions object
        var saveOptions = new Aspose.Pdf.ExcelSaveOptions
        {
            Format = Aspose.Pdf.ExcelSaveOptions.ExcelFormat.ODS
        };

        // Save the file in ODS format
        document.Save(dataDir + "PDFToODS_out.ods", saveOptions);
    }
}

Ver También

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

Formato: Excel

Formato: XLS

Formato: XLSX

Formato: CSV

Formato: ODS