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.

Conversiones de PDF a Excel en C#

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 convierte archivos PDF en libros 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.

Convertir PDF a XLS

  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 .xls extensión llamando al método Document.Save() y pasándole ExcelSaveOptions.

Convertir PDF a XLSX

  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 .xlsx extensión 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 una sola hoja de Excel

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 por defecto. Para asegurarte de que todas las páginas se exporten a una sola hoja en el archivo de Excel de salida, establece la propiedad MinimizeTheNumberOfWorksheets en true.

Convertir PDF a XLS o XLSX con una sola hoja de trabajo

  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 de trabajo 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.

Convertir PDF a formato Excel 2003 XML

  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 Excel 2003 XML 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.

Convertir PDF a CSV

  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

Convertir PDF a ODS

  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 demás 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);
    }
}

Convertir a XLSM

Convertir PDF a XLSM

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

La conversión a formato XLSM se realiza de la misma manera que todos los demás formatos.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFToXLSM()
{
    // 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.XLSM
        };

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