我为单页面Web应用程序创建了Web Api和MVC.我想调用web api并渲染mvc控制器,使用Rotativa api从视图创建pdf.问题是当我在web api中访问mvc控制器时,它不起作用.
我如何访问web api中的mvc控制器以从视图中获取pdf?
注意:在web api中声明的mvc控制器对象因此它在"GetPdfBytesFormView"方法中给出"ControllerContext"为null.
Web Api:
[RoutePrefix("api/reports/TestReport")]
public class TestReportController : ApiController
{
[HttpPost]
[Route("GetRequistionPdf")]
public HttpResponseMessage GetRequistionPdf(modelClass oModel)
{
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, "value");
ReportController _Report = new ReportController();
response.Content = new ByteArrayContent(_Report.GetPdfBytesFormView(oModel));
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
return response;
}
}
Run Code Online (Sandbox Code Playgroud)
MVC控制器:
public class ReportController : Controller
{
public ActionResult GenerateReport(modelClass oModel)
{
return View(oModel);
}
public byte[] GetPdfBytesFormView(modelClass oModel)
{
var actionPDF = new Rotativa.ActionAsPdf("GenerateReport", oModel)
{
PageSize = Size.A4,
PageOrientation = …Run Code Online (Sandbox Code Playgroud) 如何使用ghostscript api打印pdf.我试过谷歌,但仍然没有得到适当的解决方案.请帮我完成这项任务.