C#MVC Rotativa ViewAsPdf System.Exception:QFont :: setPixelSize:像素大小< = 0(0)

时间:2016-07-08 13:23:27

标签: c# pdf model-view-controller rotativa

我目前正在尝试使用Rotativa(安装NuGet包,C#MVC)为视图实现PDF生成器。但是当我触发PDF生成时,我收到以下错误消息:

System.Exception: QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)

我的代码:在控制器中:

  public ActionResult DownloadViewPDF(int Id)
    {
        var model = new Registration();
        model = db.Registrierungen.Find(Id);

       return new Rotativa.ViewAsPdf("DownloadViewPDF", model) { FileName = "Course.pdf" };

    }

观点:

    model Plattform.Models.Registration

@{
    ViewBag.Title = "Teilnahmebestätigung";
}

<h2>GeneratePDF</h2>
Hiermit bestätigen wir, dass @Html.DisplayFor(Model => Model.Nutzer.Vorname) @Html.DisplayFor(Model => Model.Nutzer.Nachname) erfolgreich an folgendem Kurs erfolgreich teilgenommen hat
<p>
    Kurs : @Html.DisplayFor(Model => Model.Kurs.Titel)
</p>
<div>
    <h3> Informationen zum Teilnehmer:</h3>
    <dl class="dl-horizontal">
        <dt>
            @Html.DisplayNameFor(Model => Model.Nutzer.Vorname)
        </dt>
        <dd>
            @Html.DisplayFor(Model => Model.Nutzer.Vorname)
        </dd>
        <dt>
            @Html.DisplayNameFor(Model => Model.Nutzer.Nachname)
        </dt>
        <dd>
            @Html.DisplayFor(Model => Model.Nutzer.Nachname)
        </dd>
        <dt>
            @Html.DisplayNameFor(Model => Model.Nutzer.Heimatuni)
        </dt>
        <dd>
            @Html.DisplayFor(Model => Model.Nutzer.Heimatuni)
        </dd>
        <dt>
            @Html.DisplayNameFor(Model => Model.Nutzer.Email)
        </dt>
        <dd>
            @Html.DisplayFor(Model => Model.Nutzer.Email)
        </dd>
        <dt>
            @Html.DisplayNameFor(Model => Model.Registrationsdatum)
        </dt>
        <dd>
            @Html.DisplayFor(Model => Model.Registrationsdatum)
        </dd>
    </dl>
</div>
<div>
    <h3>Informationen zum Kurs</h3>
    <dl class="dl-horizontal">
        <dt>
            @Html.DisplayNameFor(Model => Model.Kurs.Titel)
        </dt>
        <dd>
            @Html.DisplayFor(Model => Model.Kurs.Titel)
        </dd>
        <dt>
            @Html.DisplayNameFor(Model => Model.Kurs.Termin)
        </dt>
        <dd>
            @Html.DisplayFor(Model => Model.Kurs.Termin)
        </dd>
        <dt>
            @Html.DisplayNameFor(Model => Model.Kurs.Ortsangabe)
        </dt>
        <dd>
            @Html.DisplayFor(Model => Model.Kurs.Ortsangabe)
        </dd>

        <h4> Informationen zum Organisator des Kurses</h4>
        <dt>
            @Html.DisplayNameFor(Model => Model.Kurs.Organisator.Nachname)
        </dt>
        <dd>
            @Html.DisplayFor(Model => Model.Kurs.Organisator.Nachname)
        </dd>
        <dt>
            @Html.DisplayNameFor(Model => Model.Kurs.Organisator.Vorname)
        </dt>
        <dd>
            @Html.DisplayFor(Model => Model.Kurs.Organisator.Vorname)
        </dd>
    </dl>
</div>

那么是什么导致了这个Qfont错误?什么是Qfont?我可以将它设置在某处,以免发生此错误吗?

1 个答案:

答案 0 :(得分:0)

这就是我解决它的方法。

  • https://wkhtmltopdf.org/downloads.html
  • 下载 0.12.4
  • 本地计算机上安装从C:\ Program复制wkhtmltopdf.exe Files \ wkhtmltopdf \ bin to solutio \ Rotativa
  • 构建并运行应用程序