小编Raj*_*ara的帖子

如何访问web api控制器中的mvc控制器以从视图中获取pdf

我为单页面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)

c# asp.net-mvc asp.net-mvc-4 asp.net-web-api angularjs

8
推荐指数
1
解决办法
2770
查看次数

Ghostscript.NET.dll将pdf打印到指定的打印机

如何使用ghostscript api打印pdf.我试过谷歌,但仍然没有得到适当的解决方案.请帮我完成这项任务.

c# vb.net ghostscript winforms ghostscript.net

3
推荐指数
1
解决办法
8578
查看次数