Converter PDF para Excel em .NET

Visão Geral

Este artigo explica como converter PDF para formatos Excel usando C#. Ele cobre os seguintes tópicos.

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

Conversões de PDF para Excel em C#

Aspose.PDF for .NET suporta a funcionalidade de converter arquivos PDF para os formatos Excel 2007, CSV e SpeadsheetML.

Aspose.PDF for .NET é um componente de manipulação de PDF, introduzimos um recurso que renderiza o arquivo PDF em uma pasta de trabalho Excel (arquivos XLSX). Durante essa conversão, as páginas individuais do arquivo PDF são convertidas em planilhas Excel.

Para converter arquivos PDF para o formato XLSX, Aspose.PDF possui uma classe chamada ExcelSaveOptions. Um objeto da classe ExcelSaveOptions é passado como segundo argumento para o construtor Document.Save(..).

O seguinte trecho de código mostra o processo de conversão de um arquivo PDF para o formato XLS ou XLSX com Aspose.PDF for .NET.

Converter PDF para XLS

  1. Crie uma instância do objeto Document com o documento PDF de origem.
  2. Crie uma instância de ExcelSaveOptions.
  3. Salve-o no formato XLS especificando a extensão .xls chamando o método Document.Save() e passando ExcelSaveOptions.

Converter PDF para XLSX

  1. Crie uma instância do objeto Document com o documento PDF de origem.
  2. Crie uma instância de ExcelSaveOptions.
  3. Salve-o no formato XLSX especificando a extensão .xlsx chamando o método Document.Save() e passando 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);
     }
 }

Converter PDF para XLS com Controle de Coluna

Ao converter um PDF para o formato XLS, uma coluna em branco é adicionada ao arquivo de saída como a primeira coluna. A opção InsertBlankColumnAtFirst da classe ExcelSaveOptions é usada para controlar essa coluna. O valor padrão é false, o que significa que colunas em branco não serão inseridas.

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

Converter PDF para uma única planilha Excel

Ao exportar um arquivo PDF com muitas páginas para XLS, cada página é exportada para uma planilha diferente no arquivo Excel. Isso ocorre porque a propriedade MinimizeTheNumberOfWorksheets é definida como falsa por padrão. Para garantir que todas as páginas sejam exportadas para uma única planilha no arquivo Excel de saída, defina a propriedade MinimizeTheNumberOfWorksheets como verdadeira.

Converter PDF para XLS ou XLSX com uma única planilha

  1. Crie uma instância do objeto Document com o documento PDF de origem.
  2. Crie uma instância de ExcelSaveOptions com MinimizeTheNumberOfWorksheets = true.
  3. Salve-o no formato XLS ou XLSX tendo uma única planilha chamando o método Document.Save() e passando 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);
    }
}

Converter para outros formatos de planilha

Converter para formato XML Spreadsheet 2003

Desde a versão 20.8, Aspose.PDF usa o formato de arquivo Microsoft Excel Open XML Spreadsheet 2007 como padrão para armazenar dados. Para converter arquivos PDF para o formato XML Spreadsheet 2003, Aspose.PDF possui uma classe chamada ExcelSaveOptions com Format. Um objeto da classe ExcelSaveOptions é passado como segundo argumento para o método Document.Save(..).

O seguinte trecho de código mostra o processo de conversão de um arquivo PDF para o formato XLS Excel 2003 XML.

Converter PDF para o formato Excel 2003 XML

  1. Crie uma instância do objeto Document com o documento PDF de origem.
  2. Crie uma instância de ExcelSaveOptions com Format = ExcelSaveOptions.ExcelFormat.XMLSpreadSheet2003.
  3. Salve-o no formato XLS - Formato Excel 2003 XML chamando o método Document.Save() e passando 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);
     }
 }

Converter para CSV

A conversão para o formato CSV é realizada da mesma forma que acima. Tudo o que você precisa fazer é definir o formato apropriado.

Converter PDF para CSV

  1. Crie uma instância do objeto Document com o documento PDF de origem.
  2. Crie uma instância de ExcelSaveOptions com Format = ExcelSaveOptions.ExcelFormat.CSV.
  3. Salve-o no formato CSV chamando o método Document.Save() e passando 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);
    }
}

Converter para ODS

Converter PDF para ODS

  1. Crie uma instância do objeto Document com o documento PDF de origem.
  2. Crie uma instância de ExcelSaveOptions com Format = ExcelSaveOptions.ExcelFormat.ODS.
  3. Salve-o no formato ODS chamando o método Document.Save() e passando ExcelSaveOptions.

A conversão para o formato ODS é realizada da mesma forma que todos os outros 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);
    }
}

Converter para XLSM

Converter PDF para XLSM

  1. Crie uma instância do objeto Document com o documento PDF de origem.
  2. Crie uma instância de ExcelSaveOptions com Format = ExcelSaveOptions.ExcelFormat.XLSM.
  3. Salve-o no formato XLSM chamando o método Document.Save() e passando ExcelSaveOptions.

A conversão para o formato XLSM é realizada da mesma forma que todos os outros 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);
    }
}