
如何將多張圖像合併為一個PDF
IronPDF,一個知名的C#程式庫,可與Blazor應用程式搭配使用。 本篇評論將引導您使用IronPDF在Blazor應用程式中嵌入PDF報告,展示其無縫整合與高效能。
如何在Blazor中建立PDF檔案
在Visual Studio中建立一個新的Blazor專案
安裝適用於Blazor應用程式的HTML到PDF程式庫
透過URL從網頁建立PDF文件
從HTML字串建立PDF文件
1. IronPDF功能
開發人員可以藉助強大的IronPDF .NET PDF程式庫,快速建立、閱讀和處理PDF文件。 IronPDF具有內建的Chrome引擎,提供豐富且強大的實用功能。 這些功能包括將HTML5、JavaScript、CSS和圖像轉換成PDF的能力、為PDF文件新增獨特標題和頁腳的功能,以及生成與網頁瀏覽器中顯示一致的PDF。 IronPDF支持各種網頁技術,包括HTML、ASPX、Razor Pages和MVC框架。
IronPDF的主要特徵如下:
- IronPDF在.NET C#應用程式中提供對PDF文件建立和修改的全面控制
- IronPDF可以透過使用特定使用者代理、代理伺服器、標頭和Cookie配置生成網站頁面的PDF文件。
- IronPDF可以為位於登錄表單之後的網頁生成PDF文件,使用表單變數
- IronPDF可以從現有的PDF文件中提取和/或移除照片
- IronPDF可以為PDF文件新增文字、照片、書籤、浮水印及其他元素
- IronPDF讓您能夠輕鬆合併和拆分一個或多個PDF文件的頁面。
- IronPDF可以處理網頁資產,如JavaScript、CSS和多媒體文件,並將其渲染到PDF文件中,就像在瀏覽器中顯示一樣。
- IronPDF支持所有的.NET框架,包括.NET Core、.NET Standard等。
2. 什麼是Blazor?
Blazor是一個網頁應用程式框架,使得可以使用C#和HTML通過Web Assembly建立使用者端網頁應用程式。
Web Assembly應用程式以二進位指令格式發送到瀏覽器,可以以接近本機速度運行。 這為C#等語言在瀏覽器中運行創造了新的潛力。
在Visual Studio中建立新專案
首先,打開Microsoft Visual Studio應用程式,並從"檔案"選單中選擇"新建專案"。 然後,選擇"Blazor Server App"。
在Visual Studio中建立新專案
輸入專案名稱並選擇文件路徑。 然後,點擊建立按鈕。
選擇新Blazor應用程式的名稱和位置
選擇所需的.NET框架(在本教程中我們將使用.NET 6.0),如下圖所示:
在Visual Studio中使用.NET 6.0框架建立新專案
Microsoft Visual Studio現在會為此Blazor應用程式生成結構。
接下來,將IronPDF程式庫新增到這個新專案中。
3. 安裝IronPDF程式庫
IronPDF程式庫可以通過四種方式下載和安裝:
- 使用Visual Studio的NuGet Package Manager
- 使用Visual Studio的命令行
- 直接從NuGet網站下載
- 直接從IronPDF網站下載
3.1 使用Visual Studio的NuGet Package Manager
Visual Studio提供NuGet Package Manager以協助直接將程式庫安裝到專案中。 下面的截圖展示了如何打開NuGet Package Manager。
存取Visual Studio的NuGet Package Manager
在"瀏覽"標籤下的搜尋欄位中搜尋"IronPDF",如下圖所示:
在NuGet Package Manager GUI中搜尋IronPDF程式庫
從上方的圖片中顯示了相關搜索結果的列表。 選擇所需的選項將套件安裝到您的專案中。
3.2 使用Visual Studio命令行
In Visual Studio, go to Tools > NuGet Package Manager > Package Manager Console
在Package Manager Console標籤中輸入以下行:
該套件現在將被下載並安裝到當前項目中。
使用NuGet Package Manager Console安裝IronPDF程式庫
3.3 直接從NuGet網站下載
安裝IronPDF程式庫的第三種方式是直接從網站下載NuGet套件。
導航至NuGet IronPDF網站。
- 從右側選單中點擊"下載套件"選項。
- 在文件系統中打開下載的套件。 它將會自動安裝。
- 重新載入解決方案並開始在您的專案中使用它。
3.4 直接從IronPDF網站下載
存取IronPDF網站直接下載IronPDF套件。
下載後,按照以下步驟將套件新增到您的專案中:
- 右鍵單擊解決方案窗口中的專案。
- 選擇"新增">"參考"選項,然後導航到您之前下載的程式庫的位置。
- 點擊確定以將程式庫新增為引用。
4. 在Blazor Server App中建立PDF文件
此教程中的Blazor應用程式將使用IronPDF通過URL獲取網頁的HTML內容並將其轉換為PDF文件。
在專案中包含的.razor文件中輸入以下源程式碼。
@using IronPdf
@code {
/// <summary>
/// This method exports data by converting a URL to a PDF file and initiating its download.
/// </summary>
public async Task ExportData()
{
try
{
string fileName = "Demo.pdf";
var renderer = new ChromePdfRenderer();
// Render the contents of the URL as a PDF document
var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");
// Save the PDF using a JavaScript function
await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()));
}
catch (Exception ex)
{
// Handle any exceptions that may occur
Console.Error.WriteLine($"Error in ExportData: {ex.Message}");
}
}
}@Code
' <summary>
' This method exports data by converting a URL to a PDF file and initiating its download.
' </summary>
Public Async Function ExportData() As Task
Try
Dim fileName As String = "Demo.pdf"
Dim renderer As New ChromePdfRenderer()
' Render the contents of the URL as a PDF document
Dim pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata")
' Save the PDF using a JavaScript function
Await JSRuntime.InvokeVoidAsync("saveAsFile", fileName, Convert.ToBase64String(pdf.Stream.ToArray()))
Catch ex As Exception
' Handle any exceptions that may occur
Console.Error.WriteLine($"Error in ExportData: {ex.Message}")
End Try
End Function上面的程式碼片段使用了兩種方法從HTML中生成PDF文件。 第一種是IronPDF的RenderUrlAsPdf方法,該方法從給定的URL下載HTML內容並將其轉換為PDF格式。
第二種方法是靜態的JSRuntime.InvokeVoidAsync方法,該方法觸發瀏覽器的JavaScript引擎在網頁範圍內調用JavaScript函式,該函式將PDF內容保存到客戶端的文件系統。
此JavaScript函式包含如下:
<script type="text/javascript">
/**
* Saves the PDF data as a file on the client's system.
* @param {string} filename - The name of the file to be created.
* @param {string} bytesBase64 - The Base64 encoded string of the PDF data.
*/
function saveAsFile(filename, bytesBase64) {
if (navigator.msSaveBlob) {
// Download the document in Microsoft Edge browser
var data = window.atob(bytesBase64);
var bytes = new Uint8Array(data.length);
for (var i = 0; i < data.length; i++) {
bytes[i] = data.charCodeAt(i);
}
var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
navigator.msSaveBlob(blob, filename);
window.navigator.msSaveOrOpenBlob(blob);
}
else {
var link = document.createElement('a');
link.download = filename;
link.href = "data:application/octet-stream;base64," + bytesBase64;
document.body.appendChild(link); // Needed for Firefox
link.click();
document.body.removeChild(link);
}
}
</script>
上述JavaScript函式從Blazor接收Base64資料,並將其轉換為blob,然後將其保存到客戶端位置。
或者,可以使用SaveAs方法,該方法來自ChromePdfRenderer類,也可以用來將PDF文件保存到瀏覽器的本地儲存中。
5. 從HTML字串建立PDF文件
以下程式碼片段顯示如何將HTTP字串轉變為文件。
@using IronPdf
@code {
/// <summary>
/// Demonstrates turning an HTML string into a PDF document.
/// </summary>
public void GeneratePdfFromHtmlString()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>");
// You can save the generated PDF locally
pdf.SaveAs("HelloWorld.pdf");
}
}@Using IronPdf
@Code
''' <summary>
''' Demonstrates turning an HTML string into a PDF document.
''' </summary>
Public Sub GeneratePdfFromHtmlString()
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!!</h1>")
' You can save the generated PDF locally
pdf.SaveAs("HelloWorld.pdf")
End Sub前面的範例使用了RenderHtmlAsPdf實例方法來將任何HTTP字串轉化為PDF內容。 此外,可以使用SaveAs方法在上述描述的程式中將此內容保存到客戶端的計算機上。
在本教程中建立的Blazor PDF生成應用程式
上方的截圖展示了在本教程中開發的網頁應用程式。 點擊下載按鈕將觸發C#程式碼以生成PDF內容,並觸發JavaScript函式在客戶端下載PDF內容。
結論
本文演示了如何開發一個Blazor網頁應用程式,該應用程式使用IronPDF文件程式庫生成網站頁面的PDF文件。
IronPDF不是開源的,但免費試用密鑰允許您在生產中使用它而不含浮水印。

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
相關文章


