Excel to PDF C#

Microsoft Excel 是管理电子表格的重要工具。然而,有时您需要将 Excel 表转换为 PDF——无论是为了共享报告还是保留格式。在这篇博客文章中,我们将探讨如何使用 C# 将 Excel 表转换为 PDF,并讨论转换过程中的各种自定义选项。

目录

C# Excel 转 PDF 转换库

Aspose.Cells for .NET API 简化了将 Excel 电子表格转换为 PDF 的过程。您可以 下载 API 的 DLL 或直接通过 NuGet 安装:

PM> Install-Package Aspose.Cells

将 Excel XLS 转换为 PDF 的步骤

使用 Aspose.Cells for .NET,将 Excel 文件转换为 PDF 是非常简单的。以下是操作步骤:

  1. 从磁盘加载 Excel 文件。
  2. 将其保存为 PDF 到您所需的位置。

让我们看看如何在 C# 代码中实现这一点。

在 C# 中将 Excel XLSX 转换为 PDF

使用 Aspose.Cells for .NET,您可以通过以下步骤轻松将 Excel 文件转换为 PDF:

  1. 使用要转换的 Excel 文档实例化 Workbook 类。
  2. 通过指定使用 SaveFormat 枚举的保存格式,将文档保存为 PDF 格式。

以下是一个代码片段,演示如何在 C# 中将 Excel XLS 文件转换为 PDF:

// 用 Excel 文件实例化 Workbook 对象
Workbook workbook = new Workbook("SampleExcel.xls");

// 以 PDF 格式保存文档
workbook.Save("outputPDF.pdf", SaveFormat.Pdf);

将 Excel 转换为 PDF/A 格式

PDF/A 是一种 ISO 标准化的 PDF 版本,旨在用于长期归档。以此格式保存文件可确保它们在时间上保持可访问。

以下是在 C# 中将 Excel 工作簿转换为 PDF/A 兼容格式的方法:

// 实例化新工作簿
Workbook workbook = new Workbook();

// 在单元格 A1 中插入一个值
workbook.Worksheets[0].Cells[0, 0].PutValue("测试 PDF/A");

// 定义 PdfSaveOptions
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();

// 设置合规性类型
pdfSaveOptions.Compliance = PdfCompliance.PdfA1b;

// 保存文件
workbook.Save(dataDir + "output.pdf", pdfSaveOptions);

在 C# 中跟踪 Excel 到 PDF 的转换

Aspose.Cells for .NET 允许您使用 IPageSavingCallback 接口跟踪转换进度。您可以创建一个实现该接口的自定义类,并将其实例分配给 PdfSaveOptions.PageSavingCallback 属性。

以下是一个代码片段,演示如何跟踪 Excel 到 PDF 的转换进度:

// 加载工作簿
Workbook workbook = new Workbook("PagesBook1.xlsx");

PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();

// 分配实现 IPageSavingCallback 接口的自定义类
pdfSaveOptions.PageSavingCallback = new TestPageSavingCallback();

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

以下是实现 IPageSavingCallback 接口的自定义类,用于跟踪转换过程:

public class TestPageSavingCallback : IPageSavingCallback
{
    public void PageStartSaving(PageStartSavingArgs args)
    {
        Console.WriteLine("开始保存页面索引 {0} 的页面 {1}", args.PageIndex, args.PageCount);

        // 索引 2 之前的页面不被渲染。
        if (args.PageIndex < 2)
        {
            args.IsToOutput = false;
        }
    }

    public void PageEndSaving(PageEndSavingArgs args)
    {
        Console.WriteLine("结束保存页面索引 {0} 的页面 {1}", args.PageIndex, args.PageCount);

        // 索引 8 之后的页面不被渲染。
        if (args.PageIndex >= 8)
        {
            args.HasMorePages = false;
        }
    }
}

在线 Excel 转 PDF 转换器

您还可以利用我们的 在线 Excel 转 PDF 转换器应用,该应用由 Aspose.Cells 提供支持。此免费的应用无需注册,是快速转换的便利选择。

获取免费的 C# Excel 转 PDF 转换器

您可以通过获取 免费的临时许可证 来使用 Aspose.Cells for .NET,而没有评估限制。

结论

将 Excel 表转换为 PDF 是各种商业和开发场景中的常见需求。Aspose.Cells for .NET API 简化了这一过程,使您能够在 C# 应用程序中自动化转换。在这篇博客文章中,我们展示了如何在 C# 中将 Excel 表转换为 PDF,并探讨了各种自定义选项。如果您有任何问题,请随时通过我们的 论坛 联系我们。

另请参阅