Excel para PDF C#

Os arquivos do Excel são amplamente usados para manter e compartilhar os dados tabulares. Por outro lado, o formato PDF tem estado entre os formatos de documentos digitais dominantes. Em certos casos, os arquivos do Excel devem ser convertidos em formato PDF programaticamente. Para conseguir isso, este artigo demonstra como converter Excel XLS XLSX para PDF em C#.

C# API para conversão de Excel para PDF

Aspose.Cells for .NET API torna a conversão de planilhas do Excel para PDF muito fácil. Você pode baixar a DLL da API ou instalá-la usando o NuGet.

PM> Install-Package Aspose.Cells

Como converter um arquivo do Excel para PDF em C

Usando o Aspose.Cells para .NET, você pode facilmente converter um arquivo do Excel para PDF em algumas etapas. É assim que você pode salvar um arquivo do Excel usando a API.

  • Carregue o arquivo Excel do disco.
  • Salve-o como PDF no local desejado.

E é isso. Agora, vamos dar uma olhada em como realizar a conversão de Excel para PDF via código C#.

Converter Excel XLS ou XLSX para PDF em C#

Aspose.Cells for .NET fornece uma API fácil de usar com a qual você pode converter arquivos do Excel em PDF com estes passos simples.

  1. Instancie a classe Workbook com o documento do Excel que você deseja converter.
  2. Salve o documento em formato PDF especificando o formato de salvamento como PDF usando a enumeração SaveFormat

O trecho de código a seguir demonstra como converter Excel XLS em PDF em C#.

// Instantiate the Workbook object with the Excel file
Workbook workbook = new Workbook("SampleExcel.xls");

// Save the document in PDF format
workbook.Save("outputPDF.pdf", SaveFormat.Pdf);

C# Excel para conversão de PDF compatível com PDF/A

PDF/A é uma versão de PDF padronizada pela ISO que proíbe recursos que não são adequados para arquivamento de longo prazo. Salvar PDF assim garante que nada quebrará a longo prazo.

O trecho de código a seguir demonstra como converter uma pasta de trabalho do Excel em um formato PDF compatível com PDF/A em C#.

// Instantiate new workbook
Workbook workbook = new Workbook();

// Insert a value into the cell A1
workbook.Worksheets[0].Cells[0, 0].PutValue("Testing PDF/A");

// Define PdfSaveOptions
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();

// Set the compliance type
pdfSaveOptions.Compliance = PdfCompliance.PdfA1b;

// Save the file
workbook.Save(dataDir + "output.pdf", pdfSaveOptions);

C# Excel XLS XLSX para PDF - Acompanhar conversão

Aspose.Cells para .NET fornece a capacidade de rastrear o progresso da conversão fornecendo a interface IPageSavingCallback. Você pode criar uma classe personalizada que implemente essa interface e atribuir sua instância à propriedade PdfSaveOptions.PageSavingCallback.

O trecho de código a seguir demonstra como acompanhar o progresso da conversão do Excel para PDF usando C#.

//load the workbook
Workbook workbook = new Workbook("PagesBook1.xlsx");

PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();

//assign the custom class that implements IPageSavingCallback interface
pdfSaveOptions.PageSavingCallback = new TestPageSavingCallback();

workbook.Save("DocumentConversionProgress.pdf", pdfSaveOptions);

Veja a seguir a classe personalizada que implementa a interface IPageSavingCallback para acompanhar o processo de conversão.

public class TestPageSavingCallback : IPageSavingCallback
{
    public void PageStartSaving(PageStartSavingArgs args)
    {
        Console.WriteLine("Start saving page index {0} of pages {1}", args.PageIndex, args.PageCount);

        //pages before page index 2 are not rendered.
        if (args.PageIndex < 2)
        {
            args.IsToOutput = false;
        }
    }

    public void PageEndSaving(PageEndSavingArgs args)
    {
        Console.WriteLine("End saving page index {0} of pages {1}", args.PageIndex, args.PageCount);

        //pages after page index 8 are not rendered.
        if (args.PageIndex >= 8)
        {
            args.HasMorePages = false;
        }
    }
}

C# Excel to PDF Converter - Obtenha uma licença gratuita

Você pode usar o Aspose.Cells para .NET sem limitações de avaliação usando uma licença temporária.

Conclusão

Neste artigo, você aprendeu como converter arquivos Excel XLSX ou XLS em PDF em C#. Para obter mais informações sobre como converter arquivos do Excel em PDF, acesse nossa documentação Converter a pasta de trabalho do Excel em PDF. Caso você tenha alguma dúvida, sinta-se à vontade para nos informar através do nosso fórum.

Veja também