我正在嘗試將用 C# 撰寫的 HTML 代碼轉換為 PDF,但在嘗試這樣做時遇到了問題。我收到一條錯誤訊息,指出不能將 HTMLAgilityPack.HTMLDocument 物件傳遞給 Api2PdfChromeHtmltoPDFRequest。有沒有辦法使用這兩個庫或任何更好的解決方案來做到這一點?
var html = String.Format(@"<!DOCTYPE html>
<html><h1> Hello world </h1> </html>");
var doc = new HtmlDocument();
doc.LoadHtml(html)
Api2Pdf.Api2PdfResult emailConversionResult = a2pClient.Chrome.HtmlToPdf(doc);
uj5u.com熱心網友回復:
根據檔案, HtmlToPdf 期待一個 ChromeHtmlToPdfRequest物件(https://github.com/Api2Pdf/api2pdf.dotnet/blob/ba7da6496a45e1e07627158bc76d9ea48cdc6255/Api2Pdf.DotNet/RequestModels.cs#L42)
這也是錯誤試圖告訴你的。您正在傳入一個型別的物件HTMLAgilityPack.HTMLDocument,但 HtmlToPdf 方法需要一個型別的物件ChromeHtmlToPdfRequest。然后編譯器抱怨它不能將第一個轉換為后者并向你拋出一個錯誤。
所以你的代碼應該是這樣的:
var emailConversionResult = a2pClient.Chrome.HtmlToPdf(new ChromeHtmlToPdfRequest
{
Html = html
});
Html這是一個字串。因此,如果您出于某種原因必須使用 HtmlAgilityPack,您也可以使用以下代碼段:
var emailConversionResult = a2pClient.Chrome.HtmlToPdf(new ChromeHtmlToPdfRequest
{
Html = doc.DocumentNode.OuterHtml
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/455891.html
