您的位置:

Aspose Excel转PDF工具类详解

一、Aspose Excel转PDF介绍

Aspose Excel转PDF是一种高效、可靠的Excel到PDF转换工具,可将Excel文件转换为标准的可编辑PDF文件。使用Aspose Excel转PDF API,您可以轻松地在C#、Java等编程语言中将任何Excel文件转换为高质量的PDF文件。与其他PDF转换工具不同,Aspose Excel转PDF还支持XLSX、XLS、ODS等多种电子表格格式的转换。

二、转换Excel到PDF

要将Excel文件转换为PDF文件,请调用Aspose Excel转PDF API,代码示例如下:

Workbook workbook = new Workbook("input.xlsx");
PdfSaveOptions saveOptions = new PdfSaveOptions();
workbook.Save("output.pdf", saveOptions);

以上代码将以"input.xlsx"为输入,将工作簿转换为PDF格式,并将其保存为"output.pdf"。PdfSaveOptions是可选项,可用于配置PDF输出。例如,可以设置文档加密和权限等选项。

三、转换多个Excel到PDF

Aspose Excel转PDF支持批处理转换多个Excel文件到PDF文件。以下示例演示如何处理多个文件并将它们转换为PDF文件:

string[] files = Directory.GetFiles("inputFolder", "*.xlsx");
foreach (string file in files)
{
    Workbook workbook = new Workbook(file);
    PdfSaveOptions saveOptions = new PdfSaveOptions();
    string outputFileName = Path.Combine("outputFolder", Path.ChangeExtension(Path.GetFileName(file), "pdf"));
    workbook.Save(outputFileName, saveOptions);
}

以上代码将inputFolder目录下的所有Excel文件转换为PDF格式,并将它们保存到outputFolder目录中。这是一种简单而有效的方法,您可以轻松地处理数百个文件。

四、设置页面设置选项

Aspose Excel转PDF允许您根据需要自定义PDF输出的大小、方向和缩放比例。以下示例演示如何使用PdfSaveOptions设置页面设置选项:

Workbook workbook = new Workbook("input.xlsx");

PdfSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.OnePagePerSheet = true;
saveOptions.PaperSize = PaperSizeType.PaperA4;
saveOptions.Orientation = Aspose.Cells.PageOrientationType.Landscape;
saveOptions.Zoom = 90;

workbook.Save("output.pdf", saveOptions);

以上代码将读取"input.xlsx"文件,使用单个页面转换选项将每个工作表转换为单个PDF页面。文档使用A4纸张大小和横向方向进行输出,缩放比例设置为90%。

五、设置PDF输出选项

Aspose Excel转PDF允许您使用PdfSaveOptions配置PDF输出选项。以下示例演示如何设置各种选项:

Workbook workbook = new Workbook("input.xlsx");

PdfSaveOptions saveOptions = new PdfSaveOptions();

//设置字体嵌入选项
saveOptions.EmbeddedFonts = true;
saveOptions.Encoding = PdfTextEncoding.Unicode;

//设置元数据
saveOptions.Title = "PDF生成自Excel";
saveOptions.Subject = "Aspose Excel转PDF演示";
saveOptions.Author = "Aspose";

//设置PDF输出质量
saveOptions.Compliance = PdfCompliance.PdfA1b;
saveOptions.ImageCompression = PdfImageCompression.Jpeg;
saveOptions.TransparencyRenderingType = TransparencyRenderingType.Advanced;

workbook.Save("output.pdf", saveOptions);

以上代码包括各种PDF输出选项。通过设置EmbeddedFonts和Encoding选项,您可以嵌入所需的字体,以便确保PDF文档在任何系统上都能正确呈现。设置元数据包括标题、主题和作者等信息,以帮助用户了解PDF文档的来源和目的。最后,设置PDF输出质量选项包括设置格式规范、图像压缩和透明度呈现等选项。

六、非常规功能

Aspose Excel转PDF提供了许多非常规的功能和选项。以下是一些示例:

1) 导出图表

以下示例演示如何将Excel图表导出为PDF图形对象,并将其绘制到PDF页面上。

Workbook workbook = new Workbook("input.xlsx");
Chart chart = workbook.Worksheets[0].Charts[0];

PdfSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.OnePagePerSheet = true;

using (MemoryStream chartStream = new MemoryStream())
{
    chart.ToImage(chartStream, ImageFormat.Emf);
    saveOptions.CustomInputStreamProvider = new CustomInputStreamProvider(chartStream);

    workbook.Save("output.pdf", saveOptions);
}

以上代码将读取input.xlsx文件并将第一个工作表中的第一个图表图像导出为PDF图形对象。然后将它插入到每个PDF页面中。CustomInputStreamProvider用于提供图像流,而不是从文件读取。

2) 导出CellRange

以下示例演示如何将Excel中的CellRange导出为PDF。使用此方法,您可以将文本框、单元格或整个工作表中的指定数据区域导出到PDF。该区域中的所有电子表格对象将转换为PDF图像对象。

Workbook workbook = new Workbook("input.xlsx");

CellRange range = new CellRange("B2:C3");
PdfSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.OnePagePerSheet = true;

using (MemoryStream rangeStream = new MemoryStream())
{
    workbook.Worksheets[0].ToImage(rangeStream, ImageFormat.Jpeg, range);

    saveOptions.CustomInputStreamProvider = new CustomInputStreamProvider(rangeStream);

    workbook.Save("output.pdf", saveOptions);
}

以上代码将读取"input.xlsx"文件,并将B2:C3区域的所有对象导出为PDF格式。CellRange作为ToImage方法的参数传递,并将结果导出为内存流。最后,在PDF文档中插入图像。

七、总结

Aspose Excel转PDF是一个功能强大的API,可让您轻松地将Excel文件转换为高质量的PDF文件。无论您是想将单个电子表格转换为PDF文件,还是将多个文件批处理转换为PDF文件,Aspose Excel转PDF都可以为您提供简单、易于使用、灵活的解决方案。