hik*_*iks 6 pdf-generation asp.net-core
我想在我的网站(ASP.NET Core 6.0)中将 html 转换为 pdf,但我找不到解决方案。
它应该通过指定 url 来创建。
在 ASP.NET MVC 5 时代,我使用过名为 Tuespeckin 的库。
有没有任何免费且优雅的解决方案可以在 ASP.NET Core 6.0 中工作?
尽管下面的文章很有帮助,但它可能有点过时了。
PDFSharp可以从Net Core中的Html字符串创建Pdf文件吗?
第一个答案提到 SelectPDF,但我希望有更现代的方法(如果有)。
您可以使用Syncfusion将 html 转换为 pdf。
首先,安装Syncfusion.HtmlToPdfConverter.Net.WindowsNuGet 包。
然后,在控制器中编辑相应的方法:
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");
}
}
Run Code Online (Sandbox Code Playgroud)
不要忘记添加名称空间:
using Syncfusion.Pdf;
using Syncfusion.HtmlConverter;
Run Code Online (Sandbox Code Playgroud)
最后,添加调用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();
}
Run Code Online (Sandbox Code Playgroud)
您可以在控制器方法中更改要下载的 URL 页面:
PdfDocument document = htmlConverter.Convert("Your Url");
Run Code Online (Sandbox Code Playgroud)
更多详细信息,您可以参考此文档。
更新:
是的,它实际上并不是开源的,您需要获得许可证密钥才能删除它(只有 30 天的免费试用期)。
免费有效的首选其实是SelectPDF。
如果实在不想用,可以选择以下两种:
PuppeteerSharp:这是一个无头 chrome 实例,可以捕获 pdf,并且有一个很好的 C# 库 (Puppeteer Sharp)。
jsPDF:这也是开源使用的转换工具。
只是我个人的看法,我认为这两个的体验不如SelectPDF。也许还有其他免费且最新的 PDF 转换器,但我还没有找到它们,也没有使用它们。
| 归档时间: |
|
| 查看次数: |
11164 次 |
| 最近记录: |