使用RazorPDF MVC 5从一个视图创建一个PDF

时间:2016-01-10 10:08:27

标签: c# asp.net-mvc asp.net-mvc-5 pdf-generation razorpdf

我是C#中使用Asp.net MVC 5的新手。

我正在尝试从一个视图创建一个PDF但我没有管理。 经过几天的尝试,我开始在一些论坛上阅读,但我没有找到(或者我可能不理解)如何去做。

我从NuGet,RazorPDF,RazorPDF2以及用于MVC的RazorPDF安装。 我使用iTextSharp 5.0.5.0然后更新到5.5.8.0。 但无论如何,它都有效。

我有不同的错误。 首先是这一个:

  

RazorPDF.Legacy.Text.DocumentException:未找到Helvetica作为资源

然后:

  

无法加载类型' iTextSharp.text.html.HtmlParser'来自assembly' itextsharp,Version = 5.5.8.0,Culture = neutral,PublicKeyToken = 8354ae6d2174ddca'

我读了克里斯·哈斯写的一篇很棒的文章。但我不知道如何应用它。所以我的问题是,如何让它在我的确切案例中发挥作用?

这就是我在控制器中所拥有的:

public ActionResult Factura(int? id)
{
    if (id == null)
    {
        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
    }
    Venta venta = db.Ventas.Find(id);
    if (venta == null)
    {
        return HttpNotFound();
    }

    var detalleVenta = from c in db.DetalleVentas where c.VentaID ==   venta.VentaID select c;

    return new RazorPDF.PdfResult(detalleVenta,"Factura");
}

这是我的观点:

@model IEnumerable<MiContexto.Models.DetalleVenta>

<table class="table">
    <tr>
    <th>
        @Html.DisplayNameFor(model => model.NombreProducto)
    </th>
    <th>
        @Html.DisplayNameFor(model => model.Cantidad)
    </th>
    <th>
        @Html.DisplayNameFor(model => model.Descuento)
    </th>
    <th>
        @Html.DisplayNameFor(model => model.PrecioSinIva)
    </th>
    <th>
        @Html.DisplayNameFor(model => model.Iva)
    </th>
    <th>
        @Html.DisplayNameFor(model => model.Precio)
    </th>
</tr>
@foreach (var item in Model) {

<tr>
    <td>
        @Html.DisplayFor(modelItem => item.NombreProducto)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Cantidad)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Descuento)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.PrecioSinIva)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Iva)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Precio)
    </td>

</tr>

}

</table>

那么我该怎么做才能从这个视图创建pdf? 我是否必须使用&#34; RazorPDF&#34;或&#34; RazorPDF for MVC&#34;或者NuGet中的其他工具? 我的代码是错误的还是只有&#39;我所做的问题是&#34;它在两年半内没有更新,它需要一个过时版本的iTextSharp并使用一个过时的HTML解析器。&#34;正如克里斯所说的那样?

0 个答案:

没有答案