该问题是由于在原始PDF Sharp代码中,没有为PDF文档添加任何页面而导致的。
要解决此问题,需要添加一个页面并在其上绘制所需的内容。以下是一个示例代码,可用于将HTML转换为PDF:
using PdfSharp;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using TheArtOfDev.HtmlRenderer.PdfSharp;
public HttpResponseMessage GetPdf()
{
// HTML content to convert to PDF
string html = "Hello, world!
";
// Create the PDF document
PdfDocument document = new PdfDocument();
// Add a new page to the document
PdfPage page = document.AddPage();
// Create a renderer for the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Create a PDF renderer for the HTML content
PdfSharp.Pdf.PdfRenderer renderer = new PdfSharp.Pdf.PdfRenderer();
// Render the HTML content to PDF
renderer.Render(gfx, html);
// Save the document to a stream
MemoryStream stream = new MemoryStream();
document.Save(stream, false);
// Create the response message
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent(stream);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "document.pdf"
};
return response;
}
该代码将使用HTML Renderer库在PDF Sharp中创建一个新页面并在其上绘制所需的内容。最后,将保存文档并将其作为响应返回。
希望这能帮助解决此问题!