Converting Excel Workbook to PDF

PDF files are widely used to exchange documents between organizations, government sectors, and individuals. It is a standard document format and software developers are often asked to find a way to convert Microsoft Excel files into PDF documents.

Aspose.Cells for Python via .NET supports converting Excel files to PDF and maintains high visual fidelity in the conversion.

Direct Conversion

Aspose.Cells for Python via .NET supports conversion from spreadsheets to PDF independently of other software. Simply save an Excel file to PDF using the Workbook class' save method. The save method provides the SaveFormat.PDF enumeration member that converts the native Excel files to PDF format.

Follow the below steps to directly convert the Excel spreadsheets to PDF format:

  1. Instantiate an object of the Workbook class by calling its empty constructor.
  2. You may open/load an existing template file or skip this step if you are creating the workbook from scratch.
  3. Do any work (input data, apply formatting, set formulas, insert pictures or other drawing objects, and so on) on the spreadsheet using Aspose.Cells for Python via .NET' APIs.
  4. When the spreadsheet code is complete, call the Workbook class' save method to save the spreadsheet.

The file format should be PDF so select PDF (a pre-defined value) from the SaveFormat enumeration to generate the final PDF document.

Advanced Conversion

You may also opt to use the PdfSaveOptions class to set different attributes for the conversion. Setting different properties of the PdfSaveOptions class gives you control over the print, font, security and compression settings for the output PDF. The most important property is PdfSaveOptions.compliance which enables you to save the Excel files to PDF/A compliant PDF files.

Saving Workbook to PDF/A Complied Files

The below-provided code snippet demonstrates how to use the PdfSaveOptions class to save Excel files to PDF/A compliant PDF format.

Set the PDF Creation Time

With the PdfSaveOptions class, you can get or set the PDF creation time. The following code demonstrates the use of PdfSaveOptions.created_time property to set the creation time of the PDF file.

Set ContentCopyForAccessibility option

With the PdfSaveOptions class, you can get or set the PDF PdfSecurityOptions.accessibility_extract_content option to control the content access in the converted PDF.

Export Custom properties to PDF

With the PdfSaveOptions class, you can export the custom properties in the source workbook to the PDF. PdfCustomPropertiesExport enumerator is provided for specifying the way by which properties are exported. These properties can be observed in Adobe Acrobat Reader by clicking on File and then properties option as shown in the following image. Template file “sourceWithCustProps.xlsx”  can be downloaded here for testing and output PDF file “outSourceWithCustProps” is available here for analysis.


Conversion Attributes

We work to enhance the conversion features with each new release. Aspose.Cell’s Excel to PDF conversion still has a couple of limitations. MapChart is not supported when converting to PDF format. Also, some drawing objects are not supported well.

The table that follows lists all features that are fully or partially supported when exporting to PDF using Aspose.Cells for Python via .NET. This table is not final and does not cover all the spreadsheet attributes but it does identify those features that are not supported or partially supported for conversion to PDF.

Document Element Attribute Supported Notes
Alignment   Yes  
Background settings   Yes  
Border Color Yes  
Border Line style Yes  
Border Line width Yes  
Cell Data   Yes  
Comments   Yes  
Conditional Formatting   Yes  
Document Properties   Yes  
Drawing Objects   Partially Shadow and 3-D effects for drawing objects are not supported well; WordArt and SmartArt are partially supported.
Font Size Yes  
Font Color Yes  
Font Style Yes  
Font Underline Yes  
Font Effects Yes
Images   Yes  
Hyperlink   Yes  
Charts   Partially MapChart is not supported.
Merged Cells   Yes  
Page Break   Yes  
Page Setup Header/Footer Yes  
Page Setup Margins Yes  
Page Setup Page Orientation Yes  
Page Setup Page Size Yes  
Page Setup Print Area Yes  
Page Setup Print Titles Yes  
Page Setup Scaling Yes  
Row Height/Column Width   Yes  
RTL (Right to Left) Language   Yes  

Advance topics