我正在
System.Exception:QFont :: setPixelSize:像素大小< = 0
以纵向模式下载pdf,如下所示:
var pdf = new Rotativa.ActionAsPdf("PdfPartial", new { id = id, pid = pid })
{
FileName = "AFE.pdf",
PageOrientation = Rotativa.Options.Orientation.Portrait,
PageSize = Rotativa.Options.Size.A4
};
虽然它在横向模式下运行良好,如下所示:
var pdf = new Rotativa.ActionAsPdf("PdfPartial", new { id = id, pid = pid })
{
FileName = "AFE.pdf",
PageOrientation = Rotativa.Options.Orientation.Landscape,
PageSize = Rotativa.Options.Size.A4
};
我尝试过设置属性
PageWidth=670,PageHeight=120
它在本地工作,但在发布后它不起作用。我需要以纵向模式下载pdf。是否有针对上述问题的修复?
答案 0 :(得分:0)
我在MVC5 / C#应用程序中遇到了这个问题。我使用的是Rotativa 1.6.4。
当通过Nuget安装Rotativa时,会在项目中创建一个名为Rotativa的目录。在此目录中,您将找到wkhtmltopdf.exe可执行文件。
安装的Rotativa nuget提供了wkhtmltopdf.exe版本0.12.2.0。
我调查了wkhtmltopdf版本,发现这里有更新: http://wkhtmltopdf.org/downloads.html
我下载并运行了wkhtmltopdf安装程序。它在c:\ program files \ wkhtmltopdf \ bin中添加了一个新的EXE。我将新EXE从该位置复制到我的项目目录中。使用最新版本的WKHTMLTOPDF.exe,Rotativa功能按预期工作。
答案 1 :(得分:0)
从我的一个控制器端点返回ViewAsPdf()时遇到此错误。按照Kyle Sullens的建议替换wkhtml对我不起作用。
此问题似乎与wkhtml程序无法正确呈现的“布局”页面的一部分有关。我返回了一个ParialViewAsPdf()来忽略布局页面,这似乎可以解决问题。