基本上,我的建议是生成带有图表,图像和某些样式的动态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/

10-11 14:57