Excel 到 PDF C#

Excel 文件被广泛用于保存和共享表格数据。另一方面,PDF 格式一直是主流的数字文档格式之一。在某些情况下,Excel 文件将以编程方式转换为 PDF 格式。为此,本文演示了如何在 C# 中将 Excel XLS XLSX 转换为 PDF。

用于 Excel 到 PDF 转换的 C# API

Aspose.Cells for .NET API 使将 Excel 电子表格转换为 PDF 变得轻而易举。您可以下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.Cells

如何在 C# 中将 Excel 文件转换为 PDF

使用 Aspose.Cells for .NET,您可以通过几个步骤轻松地将 Excel 文件转换为 PDF。这是使用 API 保存 Excel 文件的方法。

  • 从磁盘加载 Excel 文件。
  • 将其另存为 PDF 到所需位置。

就是这样。现在,让我们看看如何通过 C# 代码执行 Excel 到 PDF 的转换。

在 C# 中将 Excel XLS 或 XLSX 转换为 PDF

Aspose.Cells for .NET 提供了易于使用的 API,您可以通过这些简单的步骤将 Excel 文件转换为 PDF。

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

以下代码片段演示了如何在 C# 中将 Excel XLS 转换为 PDF。

// 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);

C# Excel 到 PDF/A 兼容的 PDF 转换

PDF/A 是 PDF 的 ISO 标准化版本,它禁止不适合长期存档的功能。像这样保存 PDF 可以确保从长远来看不会有任何问题。

以下代码片段演示了如何在 C# 中将 Excel 工作簿转换为 PDF/A 兼容的 PDF 格式。

// 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 到 PDF - 跟踪转换

Aspose.Cells for .NET 通过提供 IPageSavingCallback 接口来提供跟踪转换进度的能力。您可以创建一个实现此接口的自定义类并将其实例分配给 PdfSaveOptions.PageSavingCallback 属性。

以下代码片段演示了如何使用 C# 跟踪 Excel 到 PDF 的转换进度。

//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);

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

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 到 PDF 转换器 - 获得免费许可证

您可以使用 临时许可证 使用 Aspose.Cells for .NET,而不受评估限制。

结论

在本文中,您学习了如何在 C# 中将 Excel XLSX 或 XLS 文件转换为 PDF。有关将 Excel 文件转换为 PDF 的更多信息,请参阅我们的文档 将 Excel 工作簿转换为 PDF。如果您有任何疑问,请随时通过我们的 论坛 告诉我们。

也可以看看