基本上,我的建议是生成带有图表,图像和某些样式的动态PDF,并将其制作成视图或局部视图,以供用户打印或下载。
我过去使用过TCPDF,因此想知道是否有任何方法可以利用我的TCPDF php文件将生成的PDF传递到视图中?
我也看过ITextSharp,但我担心缺少自定义功能,包括TCPDF过去为我提供的动态图表。
有人能指出我正确的方向吗?当前,我正在尝试为Visual Studio 2010安装VS.PHP模块,希望可以将生成的TCPDF文件加载到memorystream中并将其传递给视图(内联)。
我的逻辑完全错误吗?请指教。
谢谢。
[编辑]
我已经在我的项目中添加了Phalanger(http://phalanger.codeplex.com/)以及Content / reports文件夹中的一些tcpdf示例。
我的控制器代码非常简单(我从Phalanger论坛上的另一篇文章中获得了大部分):
public ActionResult SummaryReport()
{
var context = PHP.Core.ScriptContext.CurrentContext;
using (var request_context = PHP.Core.RequestContext.Initialize(PHP.Core.ApplicationContext.Default, System.Web.HttpContext.Current))
{
var output = request_context.ScriptContext.Include(Server.MapPath(Url.Content("~/Content/reports/testoutput.php")), false);
return Content("");
}
}
但是,当控制器尝试执行TCPDF示例时,我现在收到TCPDF错误:
Warning: preg_match(): Invalid argument 'pattern': u0192\u2039\u008D\u203A\u017E\u0178\u00A1-\u00BA] # AL | Ù[\u20AC-\u0160\u00AD-\u00AF\u00B1-\u00BF] # AL | Ú[\u20AC-\u00BF] # AL | Û[\u20AC-\u2022\u009D\u00A5\u00A6\u00AE\u00AF\u00BA-\u00BF] # AL | Ü[\u20AC-\u008D\u0090\u2019-\u00AF] # AL | Ý[\u008D-\u00AD] # AL | Þ[\u20AC-\u00A5\u00B1] # AL | ï[\u0090-\u00BF] # AL | ï®[\u20AC-\u00B1] # AL | ï¯[\u201C-\u00BF] # AL | ï[\u00B0-\u00B3][\u20AC-\u00BF] # AL | ï´[\u20AC-\u00BD] # AL | ïµ[\u0090-\u00BF] # AL | ï¶[\u20AC-\u008F\u2019-\u00BF] # AL | ï·[\u20AC-\u2021\u00B0-\u00BC] # AL | ï¹[\u00B0-\u00B4\u00B6-\u00BF] # AL | ïº[\u20AC-\u00BF] # AL | ï»[\u20AC-\u00BC] ..." - [x-y] range in reverse order. in (MYPATH)\Content\reports\tcpdf\tcpdf.php on line 15859, column 7.
Warning: preg_match(): Invalid argument 'pattern': [x-y] range in reverse order. in (MYPATH)\Content\reports\tcpdf\tcpdf.php on line 15865, column 7.
有谁知道如何克服这个问题?我已经在TCPDF论坛上发布了最新的TCPDF。我担心如果无法解决这些问题,我将不得不使用.NET PDF库,因为我受到严格的时间限制。
谢谢你的时间。
最佳答案
您看过ABCpdf吗?
它似乎是适合您的解决方案:)
ps:链接包含在我的评论中
关于c# - 使用TCPDF在ASP.NET MVC中生成PDF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11052355/