Excel a PDF C#

Los archivos de Excel se usan ampliamente para guardar y compartir los datos tabulares. Por otro lado, el formato PDF ha estado entre los formatos dominantes de documentos digitales. En ciertos casos, los archivos de Excel deben convertirse a formato PDF mediante programación. Para lograrlo, este artículo demuestra cómo convertir Excel XLS XLSX a PDF en C#.

API de C# para la conversión de Excel a PDF

Aspose.Cells for .NET API hace que la conversión de hojas de cálculo de Excel a PDF sea muy sencilla. Puede descargar la DLL de la API o instalarla mediante NuGet.

PM> Install-Package Aspose.Cells

Cómo convertir un archivo de Excel a PDF en C#

Con Aspose.Cells for .NET, puede convertir fácilmente un archivo de Excel a PDF en un par de pasos. Así es como puede guardar un archivo de Excel usando la API.

  • Cargue el archivo de Excel desde el disco.
  • Guárdelo como PDF en la ubicación deseada.

Y eso es. Ahora, echemos un vistazo a cómo realizar la conversión de Excel a PDF a través del código C#.

Convierta Excel XLS o XLSX a PDF en C#

Aspose.Cells for .NET proporciona una API fácil de usar con la que puede convertir archivos de Excel a PDF con estos sencillos pasos.

  1. Cree una instancia de la clase Workbook con el documento de Excel que desea convertir.
  2. Guarde el documento en formato PDF especificando el formato de guardado como PDF usando la enumeración SaveFormat

El siguiente fragmento de código demuestra cómo convertir Excel XLS a PDF en 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);

Conversión de PDF compatible con C# Excel a PDF/A

PDF/A es una versión de PDF estandarizada por ISO que prohíbe funciones que no son adecuadas para el archivo a largo plazo. Guardar PDF de esta manera garantiza que nada se rompa a largo plazo.

El siguiente fragmento de código demuestra cómo convertir un libro de Excel a un formato PDF compatible con PDF/A en 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 a PDF - Seguimiento de la conversión

Aspose.Cells for .NET brinda la capacidad de realizar un seguimiento del progreso de la conversión al proporcionar la interfaz IPageSavingCallback. Puede crear una clase personalizada que implemente esta interfaz y asignar su instancia a la propiedad PdfSaveOptions.PageSavingCallback.

El siguiente fragmento de código demuestra cómo realizar un seguimiento del progreso de la conversión de Excel a PDF mediante 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);

La siguiente es la clase personalizada que implementa la interfaz IPageSavingCallback para realizar un seguimiento del proceso de conversión.

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 - Obtenga una licencia gratuita

Puede usar Aspose.Cells for .NET sin limitaciones de evaluación usando una licencia temporal.

Conclusión

En este artículo, ha aprendido cómo convertir archivos Excel XLSX o XLS a PDF en C#. Para obtener más información sobre cómo convertir archivos de Excel a PDF, diríjase a nuestra documentación, Convertir libro de trabajo de Excel a PDF. En caso de que tenga alguna consulta, no dude en hacérnosla saber a través de nuestro foro.

Ver también