在當今的數位時代,將 HTML 轉換為 PDF 的需求變得越來越重要。 HTML 是網路語言,它使我們能夠創建可跨各種裝置和平台存取的動態互動內容。然而,在某些情況下,我們需要為我們的網路內容提供更靜態和普遍可存取的格式。 PDF 具有一致的佈局、跨平台相容性和可列印的特性,是理想的解決方案。在本文中,我們將探討使用 .NET REST API 將 HTML 轉換為 PDF 的細節,讓您能夠利用 PDF 的強大功能,將您的 Web 內容提升到新的高度。
HTML 到 PDF 轉換 REST API
Aspose.HTML Cloud SDK for .NET 是一個功能強大的工具,可以將 HTML 無縫轉換為 PDF。該SDK提供了用戶友好的介面以及豐富的方法和選項,可根據特定要求自訂轉換過程。因此,借助 Aspose.HTML Cloud SDK for .NET,開發人員可以輕鬆地將 HTML 到 PDF 轉換功能整合到其 .NET 應用程式中,從而簡化工作流程並增強 Web 內容的可存取性和可用性。
可從 NuGet 或 GitHub 下載 SDK。現在,為了透過 NuGet 安裝 SDK,請在終端機視窗中執行以下命令:
nuget install Aspose.HTML-Cloud
您也可以透過執行以下命令透過 NuGet 套件管理器安裝該套件:
PM> Install-Package Aspose.HTML-Cloud
另一個最簡單的方法是透過 Visual Studio IDE 中的 NuGet 套件管理器安裝 SDK。
- 開啟解決方案資源管理器。
- 展開專案並右鍵單擊解決方案中的 Packages 資料夾。
- 選擇管理 NuGet 套件…選項。
- 點擊“瀏覽”選項卡並蒐索“Aspose.HTML-Cloud”。
- 按一下 Aspose.HTML-Cloud 包,在右側標籤中選擇適當的版本,然後按一下「新增套件」按鈕。
下一個主要步驟是使用 GitHub 或 Google 帳戶透過 Aspose.Cloud 儀表板 免費訂閱我們的雲端服務。或者,只需建立新帳戶並取得您的客戶憑證詳細資訊。
C# 中的 HTML 到 PDF
本節介紹如何將網頁轉換為 PDF。輸入的 HTML 已儲存在雲端儲存中,轉換後,產生的檔案也儲存在雲端儲存中。
- 首先,請建立 HtmlApi 實例,同時傳遞 ClientID 和 ClientSecret 詳細資料作為參數。
- 其次,使用 File.OpenRead(..) 方法讀取 HTML 檔案內容。
- 第三,建立 StorageApi 實例並使用 UploadFile(…) 方法將輸入 HTML 上傳到雲端儲存。
- 最後,呼叫方法 PutConvertDocumentToPdf(…) 執行 HTML 到 PDF 的轉換並將輸出儲存到雲端儲存。
// 從 https://dashboard.aspose.cloud/ 取得 ClientID
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// 基本 URL 字串
const string SERVICE_API_HOST = "https://api.aspose.cloud";
// 建立HtmlApi實例
HtmlApi htmlApi = new HtmlApi(clientID, clientSecret,SERVICE_API_HOST);
String name = "inputHTML.html";// inpit Document name.
int width = 800; // Resulting image width.
int height = 1000; // Resulting image height.
int leftMargin = 10; // Left resulting image margin.
int rightMargin = 10; // Right resulting image margin.
int topMargin = 10; // Top resulting image margin.
int bottomMargin = 10; // Bottom resulting image margin.
// 結果文件的名稱
string resultantFile = "Resultant.pdf";
try
{
// 從本機磁碟機載入文件
using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Desktop\" + name))
{
// 建立StorageApi實例
var uploadFileRequest = new StorageApi(clientID, clientSecret, SERVICE_API_HOST);
// 將 HTML 文件上傳到雲端存儲
uploadFileRequest.UploadFile(file, "inputHTML.html");
}
// 執行轉換為 PDF 格式
// 將輸出保存到雲端存儲
AsposeResponse response = htmlApi.PutConvertDocumentToPdf(
name, resultantFile, width, height,
leftMargin, rightMargin, topMargin, bottomMargin);
// 如果轉換成功則列印成功訊息
if (response != null && response.Equals("OK"))
{
Console.WriteLine("HTML successfully converted to PDF !");
}
}catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
您可以分別從 inputHTML.html 和 Resultant.pdf 下載上例中使用的範例檔案。
使用 cURL 指令將網頁轉換為 PDF
使用 cURL 指令將 HTML 轉換為 PDF 有幾個好處。首先,它提供了一種簡單直接的方法來啟動轉換過程,而無需複雜的編碼或整合。其次,透過利用 cURL,您可以輕鬆傳送 HTTP 請求並處理回應,使其成為執行 HTML 到 PDF 轉換的便捷選項。此外,cURL 指令可以輕鬆合併到腳本或自動化工作流程中,從而實現高效、自動化的批次轉換。
請依照以下步驟執行 HTML 到 PDF 的轉換。
- 從雲端儀表板取得您的客戶端 ID 和客戶端金鑰。
- 根據客戶端憑證取得 JSON Web 存取權杖。
- 呼叫 PutConvertDocumentToPdf API。
現在,請執行以下 cURL 指令來產生 JWT 存取權杖。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
請執行以下命令將輸入的 HTML 檔案上傳到雲端儲存:
curl -X PUT "https://api.aspose.cloud/html/storage/file/inputHTML.html" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"File":{}}
現在,請執行以下命令將網頁儲存為 HTML。然後生成的檔案儲存在雲端儲存中。
curl -X PUT "https://api.aspose.cloud/html/inputHTML.html/convert/pdf?outPath=Converted.pdf&width=800&height=1000&leftMargin=10&rightMargin=10&topMargin=10&bottomMargin=10" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
有用的連結
結論
總而言之,將 HTML 轉換為 PDF 是許多應用程式的關鍵要求,並且隨著 Aspose.HTML Cloud SDK for .NET 和 cURL 命令等強大工具的可用性,您有多種選擇來完成此任務。無論您喜歡專用 SDK 的簡單性和便利性,還是喜歡 cURL 指令的靈活性和自動化功能,這兩種方法都可以提供高效可靠的解決方案。
因此,無論您是建立 Web 應用程式、產生報告或歸檔 Web 內容,使用 .NET REST API 將 HTML 轉換為 PDF 的能力可確保您輕鬆有效地滿足您的業務需求。
相關文章
我們強烈建議訪問以下連結以了解更多資訊: