代码之家  ›  专栏  ›  技术社区  ›  Sascha Lois

c mvc使用nreco.pdfgenerator从视图生成pdf

  •  0
  • Sascha Lois  · 技术社区  · 7 年前

    var ViewAsString = RenderViewAsString("~/Views/QMetrics/StandardDashboard.cshtml", viewModel);
    var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
    htmlToPdf.PageWidth = 1600;
    htmlToPdf.PageHeight = 900;
    var pdfBytes = htmlToPdf.GeneratePdf(ViewAsString);
    FileResult FileResult = new FileContentResult(pdfBytes, "application/pdf");
    FileResult.FileDownloadName = "Dashboard-" + viewModel.ProjectName + "-" + 
    DateTime.Now.ToString() + "-.pdf";
    return FileResult;
    

    我的第一个建议是在创建PDF GET时不包含引用的CSS和JS文件,因此我复制了来自外部文件(bootstrap、chart.js)的所有内容,并将其直接粘贴到.cshtml文件中。但什么都没有改变。我的图表没有呈现/加载,丢失的CSS内容仍然不存在。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Vitaliy Fedorchenko    7 年前

    wkhtmltopdf

    关于2列:如果不使用flex/grid布局,那么一切都应该正常工作。可能需要禁用wkhtmltopdf智能收缩逻辑(默认情况下启用),并明确定义网页“窗口”大小(使用“-viewport size 1600”选项)。