如何在Umbraco 4.11中使用RazorPDF

时间:2013-08-12 13:14:14

标签: asp.net-mvc pdf razor umbraco razorpdf

我正在使用Umbraco 4.11.8并想要创建PDF。 我有HTML代码,可以下载为PDF

我找到了一个包 RazorPDF ,它在MVC样本中完美运行。

但是当我在Umbraco尝试时,我不知道如何得到它。

我是否需要SurfaceController或其他任何东西。

如果是,我怎么说Umbraco使用我的(Surface)控制器?

2 个答案:

答案 0 :(得分:0)

最适合您需要的地方是:http://our.umbraco.org/documentation/Reference/Mvc/

但不,严格来说你不需要SurfaceController。如果您想通过控制器访问Umbraco上下文,您只需要一个。

因此,如果您只想让控制器提供PDF,您可以使用标准控制器实现。您将不得不调整您的路线,这在上面的Umbraco文档中都有所涉及。

修改

你需要这样的路线:

RouteTable.Routes.MapRoute(
    name: "PdfRazor",
    url: "PdfCreator/{action}"
);

您还需要将Umbraco的Web.config路径添加到忽略中,例如:

<add key="umbracoReservedPaths" value="~/umbraco,~/install,~/pdfcreator" />

答案 1 :(得分:0)

我把它作为答案,因此它更具可读性。随意编辑。

我没有发现我的错或我错过了什么。

我的控制器签名是这样的:public class PdfCreatorController : Controller

我要调用的方法称为public override ActionResult Pdf()

我的路线:

RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    RouteTable.Routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );`. 

然后我尝试将控制器称为www.url.com/PdfCreator/Pdf