我正在使用Umbraco 4.11.8并想要创建PDF。 我有HTML代码,可以下载为PDF
我找到了一个包 RazorPDF ,它在MVC样本中完美运行。
但是当我在Umbraco尝试时,我不知道如何得到它。
我是否需要SurfaceController或其他任何东西。
如果是,我怎么说Umbraco使用我的(Surface)控制器?
答案 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
。