我想在我的网站(ASP.NET Core6.0)中将html转换成pdf格式,但我找不到解决方案。
它应该通过指定一个url来创建。
在ASP.NET MVC 5时代,我使用了一个名为Tuespeckin的库。
有没有可以在ASP.NET Core6.0中工作的免费和优雅的解决方案?
虽然下面的文章很有帮助,但可能有点过时。
第一个答案提到SelectPDF,但我希望有更多的现代方法。
发布于 2022-10-26 08:25:26
您可以使用Syncfusion将html转换为pdf。
首先,安装Syncfusion.HtmlToPdfConverter.Net.Windows NuGet软件包。
然后,在控制器中编辑相应的方法:
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult ExportToPDF()
{
HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter();
//Convert URL to PDF document
PdfDocument document = htmlConverter.Convert("https://www.syncfusion.com");
//Create memory stream
MemoryStream stream = new MemoryStream();
//Save the document
document.Save(stream);
return File(stream.ToArray(), System.Net.Mime.MediaTypeNames.Application.Pdf, "HTML-to-PDF.pdf");
}
}不要忘记添加名称空间:
using Syncfusion.Pdf;
using Syncfusion.HtmlConverter;最后,在Index.cshtml中添加调用
@{
Html.BeginForm("ExportToPDF", "Home", FormMethod.Post);
{
<div>
<input type="submit" value="Convert HTML to PDF" style="width:250px;height:27px" />
</div>
}
Html.EndForm();
}您可以在控制器方法中更改要下载的URL页:
PdfDocument document = htmlConverter.Convert("Your Url");有关更多细节,您可以参考本文件。
更新:
是的,它实际上不是开源的,您需要获得一个许可证密钥来删除它(只有30天的免费试用)。
自由和有效的首选实际上是SelectPDF。
如果您真的不想使用它,可以选择以下两种:
PuppeteerSharp:它是一个无头铬实例,可以捕获pdfs,并且有一个很好的C#库(Puppeteer )。
jsPDF:这也是开源使用的转换工具。
我个人的看法是,我认为这两人的经历不如SelectPDF好。也许还有其他免费的和最新的PDF转换器,但我没有找到,也没有使用它们。
https://stackoverflow.com/questions/74204447
复制相似问题