尝试使用JsReport从URL生成pdf,但在github仓库中找不到任何文档或示例 .

基本上我需要生成pdf并将其附加到电子邮件中,我已设法将数据作为byte []返回,但我似乎无法弄清楚如何使用现有的View / Action .

这是生成PDF以供查看的操作...

[MiddlewareFilter(typeof(JsReportPipeline))]
    public async Task<IActionResult> Pdf(Guid id)
    {
        var serviceOrder = await _serviceOrderService.Get(id);
        if (serviceOrder == null) return new NotFoundResult();

        var model = _mapper.Map<ServiceOrderModel>(serviceOrder);
        HttpContext.JsReportFeature().Recipe(Recipe.PhantomPdf);
        return View(model);
    }

此操作应从“详细信息”中获取pdf视图,并生成我可以附加的PDF . 下面我可以使用静态内容生成它,例如“Hello from pdf”,但我无法弄清楚如何在ASPNET Core中使用我的“详细信息”视图 .

public async Task<IActionResult> Email(Guid id)
    {
        var rs = new LocalReporting().UseBinary(JsReportBinary.GetBinary()).AsUtility().Create();

        var report = await rs.RenderAsync(new RenderRequest()
        {
            Template = new Template()
            {
                Recipe = Recipe.PhantomPdf,
                Engine = Engine.None,
                Content = "Hello from pdf",
            }
        });

        var memoryStream = new MemoryStream();
        await report.Content.CopyToAsync(memoryStream);
        memoryStream.Seek(0, SeekOrigin.Begin);

        return new FileStreamResult(memoryStream, "application/pdf") { FileDownloadName = "out.pdf" };
    }