Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC核心从控制器返回pdf_C#_Asp.net Core_Asp.net Core Mvc_Pdf Generation - Fatal编程技术网

C# MVC核心从控制器返回pdf

C# MVC核心从控制器返回pdf,c#,asp.net-core,asp.net-core-mvc,pdf-generation,C#,Asp.net Core,Asp.net Core Mvc,Pdf Generation,我正在与概念作斗争。 预期结果是将动态生成的pdf文件返回给用户。我很可能会使用一个将html转换为pdf的库来生成pdf,例如IronPDF等,因为目前这似乎是合理的方法。 到目前为止,我已经在API控制器中创建了pdf,该控制器将pdf文件返回给用户。到目前为止,我已经使用了PDFSharp和MigraDoc。但是,如果我理解正确,那么使用控制器将html文件转换为pdf并返回该文件会容易得多 目前的问题是: 我是否应该在另一个控制器中生成html文件,然后从返回pdf的控制器调用该结果?

我正在与概念作斗争。
预期结果是将动态生成的pdf文件返回给用户。我很可能会使用一个将html转换为pdf的库来生成pdf,例如IronPDF等,因为目前这似乎是合理的方法。
到目前为止,我已经在API控制器中创建了pdf,该控制器将pdf文件返回给用户。到目前为止,我已经使用了PDFSharp和MigraDoc。但是,如果我理解正确,那么使用控制器将html文件转换为pdf并返回该文件会容易得多

目前的问题是:
我是否应该在另一个控制器中生成html文件,然后从返回pdf的控制器调用该结果?
在控制器中创建html字符串,然后将其转换为pdf,这似乎有点麻烦

所以在我看来,我会有一个返回普通视图的控制器,在我的ConvertToPdfController中,我会调用第一个控制器的结果页面。我是否接近一个合理的解决方案

解决方案如下: 网页上会有一个“打印发票”按钮。此按钮将在控制器中调用我的
printpdfindvoice
方法。此
printpdfindvoice
方法将在同一控制器中返回我的
GenerateInvoice
方法的结果,该方法将生成一个html页面的发票,并返回一个正常视图,从而返回一个完整的html页面。我调用该页面的
printpdfindvoice
方法将该页面转换为pdf


我知道这还不清楚,但对我来说也是。我需要一个返回正常视图的控制器来生成html页面。然后另一个控制器将此转换为pdf。这是一种合理的方法吗?

我不明白,您想将pdf文件返回给客户端,并询问是否应将其作为FileResult或HTML返回?我知道这很混乱。我编辑了这个问题。我真的不知道如何进一步澄清。我对方法还没有一个清晰的概念/所以你想知道1。如果您应该以HTML格式生成发票,则将HMTL转换为PDF或2。生成包含数据的PDF?我说得对吗?然后将结果返回给用户?我两个都做了,我选择了选项2。我创建了一个模板PDF文件,然后用新值修改xml来替换所需的数据。它使修改变得非常容易。是的,确实如此。我想知道的原因是,较旧的库,如PDFSharp和MigraDoc,允许我在控制器中以相对良好的控制和轻松方式生成pdf。最近的库似乎都旨在将html转换为pdf,在控制器中生成html并转换并返回它是一件痛苦的事情。有什么好的(而且价格合理的)库可以从代码生成pdf吗?我使用它的价格是1400美元,因为我们可以为多个客户端实现很多自动化。您可以选择涉猎选项1 html到pdf或选项2模板与数据的方法。