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。如果您有任何疑問,請隨時通過我們的 論壇 告訴我們。

也可以看看