我已经尝试了多个插件和c#类来尝试将我的asp.net项目上的HTML和CSS转换为pdf,即使使用的代码看起来很好,按钮单击适用于其他功能,我似乎无法获取任何html to pdf函数。有没有其他人遇到这个,或者知道我有什么遗漏可以解决它?
这是我在C#中为hiqpdf尝试的最新代码:
protected void Print_Button_Click(object sender, EventArgs e)
{
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// set PDF page size, orientation and margins
htmlToPdfConverter.Document.PageSize = PdfPageSize.A4;
htmlToPdfConverter.Document.PageOrientation = PdfPageOrientation.Portrait;
htmlToPdfConverter.Document.Margins = new PdfMargins(0);
// convert HTML to PDF
htmlToPdfConverter.ConvertUrlToFile("http://localhost:51091/Printout","mcn.pdf");
}
答案 0 :(得分:0)
该方法的HiQpdf文档中未直接说明,但方法ConvertUrlToFile()
将生成的pdf文件本地存储在光盘上。在某些示例页面上(将URL和HTML代码转换为PDF),可以找到以下注释:
// ConvertUrlToFile() is called to convert the html document and save the resulted PDF into a file on disk
// Alternatively, ConvertUrlToMemory() can be called to save the resulted PDF in a buffer in memory
htmlToPdfConverter.ConvertUrlToFile(url, pdfFile);
由于您的示例显示了一个按钮单击事件处理程序,因此该文件可能已生成但未用于在http响应中返回。您必须将数据写入响应。方法ConvertToStream()
或ConvertToMemory
应该派上用场。不要忘记在此之前使用Response.Clear()
或Response.ClearContent()
和Response.ClearHeader()
,之后再使用Flush() and Close()
。