首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET Core6.0中最好的Html转换器

ASP.NET Core6.0中最好的Html转换器
EN

Stack Overflow用户
提问于 2022-10-26 07:59:05
回答 1查看 304关注 0票数 0

我想在我的网站(ASP.NET Core6.0)中将html转换成pdf格式,但我找不到解决方案。

它应该通过指定一个url来创建。

在ASP.NET MVC 5时代,我使用了一个名为Tuespeckin的库。

有没有可以在ASP.NET Core6.0中工作的免费和优雅的解决方案?

虽然下面的文章很有帮助,但可能有点过时。

PDFSharp可以从Net中的Html创建Pdf文件吗?

第一个答案提到SelectPDF,但我希望有更多的现代方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-26 08:25:26

您可以使用Syncfusion将html转换为pdf。

首先,安装Syncfusion.HtmlToPdfConverter.Net.Windows NuGet软件包。

然后,在控制器中编辑相应的方法:

代码语言:javascript
复制
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");
    }
}

不要忘记添加名称空间:

代码语言:javascript
复制
using Syncfusion.Pdf;
using Syncfusion.HtmlConverter;

最后,在Index.cshtml中添加调用

代码语言:javascript
复制
@{
    Html.BeginForm("ExportToPDF", "Home", FormMethod.Post);
    {
        <div>
            <input type="submit" value="Convert HTML to PDF" style="width:250px;height:27px" />
        </div>
    }
    Html.EndForm();
}

您可以在控制器方法中更改要下载的URL页:

代码语言:javascript
复制
PdfDocument document = htmlConverter.Convert("Your Url");

有关更多细节,您可以参考本文件

更新:

是的,它实际上不是开源的,您需要获得一个许可证密钥来删除它(只有30天的免费试用)。

自由和有效的首选实际上是SelectPDF。

如果您真的不想使用它,可以选择以下两种:

PuppeteerSharp:它是一个无头铬实例,可以捕获pdfs,并且有一个很好的C#库(Puppeteer )。

jsPDF:这也是开源使用的转换工具。

我个人的看法是,我认为这两人的经历不如SelectPDF好。也许还有其他免费的和最新的PDF转换器,但我没有找到,也没有使用它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74204447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档