混合方向肖像和风景需要从asp.net MVC C#生成PDF

时间:2017-09-29 11:21:12

标签: c# asp.net-mvc pdf-generation wkhtmltopdf rotativa

我们正在使用rotativa wkhtmltoPDF在asp.net MVC C#中生成PDF。 我们能够实现所有必需的格式化和索引。一切都很好..

我们需要的是混合方向。我们的一些页面是肖像,其中一些是景观。 wkhtmltoPDF 仅支持单一方向。

有什么办法,我们可以使用混合导向我们可以用来实现的任何其他库吗?

以下是我们正在使用的代码

string tocXslPath = Server.MapPath("/Rotativa/toc.xsl");
string customSwitches = string.Format("--print-media-type --enable-smart-shrinking --header-html {0} --header-spacing \"4\" --footer-html {1} --footer-spacing \"4\" cover {2} cover {3} " + coverPages + " toc --xsl-style-sheet " + tocXslPath + " ", Url.Action("Header", "Home", new { area = "" }, "http"), Url.Action("Footer", "Home", new { area = "" }, "http"), Url.Action("CoverTitle", "Home", new { area = "" }, "http"), Url.Action("CoverAll", "Home", new { area = "" }, "http"), Url.Action("EmptyCover", "Home", new { area = "" }, "http"));

  return new Rotativa.ViewAsPdf("ProjectPdf")
  {
      FileName = "Project.pdf",
      CustomSwitches = customSwitches,
      PageMargins = { Top = 15, Bottom = 15 }
  };

以下是我们用于定位的命令

--orientation landscape
it made all pages landscape.

1 个答案:

答案 0 :(得分:0)

混合方向不是底层库的受支持功能。您可以在此处阅读/评论功能请求:https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1564

已发布一些变通方法,例如使用CSS(Mixing page orientations in wkhtmltopdf)或创建两个或多个PDF,然后将它们组合在一个单独的函数中。