Convertir libro de Excel a PDF

Conversión de libro de Excel a PDF

Los archivos PDF son ampliamente utilizados para intercambiar documentos entre organizaciones, sectores gubernamentales e individuos. Es un formato de documento estándar y a menudo se pide a los desarrolladores de software que encuentren una forma de convertir archivos de Microsoft Excel en documentos PDF.

Aspose.Cells admite la conversión de archivos de Excel a PDF y mantiene una alta fidelidad visual en la conversión.

Conversión Directa

Aspose.Cells admite la conversión de hojas de cálculo a PDF de forma independiente a otro software. Simplemente guarda un archivo de Excel en PDF usando el método Save clase SaveFormat_Pdf para convertir los archivos de Excel nativos al formato PDF.

Siga los siguientes pasos para convertir directamente las hojas de cálculo de Excel al formato PDF:

  1. Instantiate un objeto de la clase Workbook llamando a su constructor vacío.
  2. Puede abrir/cargar un archivo de plantilla existente o saltarse este paso si está creando el libro de trabajo desde cero.
  3. Realiza cualquier trabajo (ingreso de datos, aplicación de formato, definición de fórmulas, inserción de imágenes u otros objetos de dibujo, etc.) en la hoja de cálculo usando las APIs de Aspose.Cells.
  4. Cuando el código de la hoja de cálculo esté completo, llama al método Save de la clase Workbook para guardar la hoja de cálculo.

El formato del archivo debería ser PDF, así que selecciona el PDF relevante (un valor predefinido) de la enumeración SaveFormat para generar el documento PDF final

Por favor, consulta el siguiente código de muestra, su archivo de Excel de muestra y PDF de salida para tu referencia.

Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Source directory path.
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input Excel file
U16String sampleConvertExcelWorkbookToPDF = srcDir+ u"sampleConvertExcelWorkbookToPDF.xlsx";
// Path of output Pdf file
U16String outputConvertExcelWorkbookToPDF = outDir+ u"outputConvertExcelWorkbookToPDF_DirectConversion.pdf";
// Load the sample Excel file.
Workbook workbook(sampleConvertExcelWorkbookToPDF);
// Save the Excel Document in PDF format
workbook.Save(outputConvertExcelWorkbookToPDF, SaveFormat::Pdf);
Aspose::Cells::Cleanup();

Conversión Avanzada

También puedes optar por usar la clase PdfSaveOptions para establecer diferentes atributos para la conversión. Establecer diferentes propiedades de la clase PdfSaveOptions te da control sobre la impresión, fuente, seguridad y configuración de compresión para el PDF de salida. La propiedad más importante es SetCompliance que te permite guardar los archivos de Excel en archivos PDF/A compatibles con PDF.

Guardando el Libro de Trabajo en Archivos PDF/A Compilados

El siguiente fragmento de código demuestra cómo utilizar la clase PdfSaveOptions para guardar archivos de Excel en formato PDF/A compatible

Por favor, consulte el siguiente código de muestra y su PDF de salida para su referencia.

Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output Pdf file.
U16String outputConvertExcelWorkbookToPDF = outDir+ u"outputConvertExcelWorkbookToPDF_PdfCompliance_PdfA1b.pdf";
// Create an empty workbook.
Workbook workbook;
// Access first worksheet.
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Access cell A1.
Cell cell = worksheet.GetCells().Get(u"A1");
// Add some text in cell.
cell.PutValue(u"Testing PDF/A");
// Create pdf save options object.
PdfSaveOptions pdfSaveOptions;
// Set the compliance to PDF/A-1b.
pdfSaveOptions.SetCompliance(PdfCompliance::PdfA1b);
// Save the Excel Document in PDF format
workbook.Save(outputConvertExcelWorkbookToPDF, pdfSaveOptions);
Aspose::Cells::Cleanup();

Establecer la Hora de Creación del PDF

Con la clase IPdfSaveOptions, puede obtener o establecer la hora de creación del PDF

Por favor, consulte el siguiente código de muestra y su PDF de salida para su referencia.

Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of output Pdf file.
U16String outputConvertExcelWorkbookToPDF = outDir + u"outputConvertExcelWorkbookToPDF_PDFCreationTime.pdf";
// Create an empty workbook.
Workbook workbook;
// Access first worksheet.
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Access cell A1.
Cell cell = worksheet.GetCells().Get(u"A1");
// Add some text in cell.
cell.PutValue(u"PDF Creation Time is 25-May-2017.");
// Create pdf save options object.
PdfSaveOptions pdfSaveOptions;
// Set the created time for the PDF i.e. 25-May-2017
pdfSaveOptions.SetCreatedTime(Date{2017, 5, 25});
// Save the Excel Document in PDF format
workbook.Save(outputConvertExcelWorkbookToPDF, pdfSaveOptions);
Aspose::Cells::Cleanup();