c# - 将 linq 查询生成的表下载到 PDF 文件
问题描述
我有一个在 ASP.NET MVC 环境中由 linq 查询形成的表,我需要将其作为.pdf
文件下载。
这是我的第一个问题:我使用 ASP.NET MVC 应用程序,我需要您的帮助来完成将多个页面中的表格下载到.pdf
文件中的任务。我使用了这个脚本,但它只打印当前页面:
<script>
var Printer = new Object();
Printer.Print = function (HTML) {
var win = window.open("")
window.focus();
win.document.title = "Apercu de l'impression en cours";
win.document.body.innerHTML = HTML;
win.print();
win.close();
}
window.top.Printer = Printer;
这是我的应用程序控制器的代码:
public ActionResult besoins(string critere = null,int page = 1, string chaine = null)
{
int valeur;
IPagedList temp = null;
var commande_interne = temp;
if (critere == "tous")
{
commande_interne = db.Commande_interne.Include("Livraison_interne").Include("UserProfile")
.Where(u => u.valideeParDirecteur == true && u.isActive == true)
.OrderBy(u => u.traitee)
.ToPagedList(page, 15);
}
else if (critere == "livre")
{
commande_interne = db.Commande_interne.Include("Livraison_interne").Include("UserProfile")
.Where(r => r.id_liv != null && r.valideeParDirecteur == true && r.isActive == true)
.OrderBy(u => u.traitee)
.ToPagedList(page, 15);
}
else if (critere == "nnlivre")
{
commande_interne = db.Commande_interne.Include("Livraison_interne").Include("UserProfile")
.Where(r => r.id_liv == null && r.valideeParDirecteur == true && r.isActive == true)
.OrderBy(u => u.traitee)
.ToPagedList(page, 15);
}
}
查看标记:
@{
ViewBag.Title = "Besoins";
<style>
table.well {
background-color:#fff;
}
</style>
}
@Html.Partial("_CommandesInternes",Model)
@section Scripts {
@Scripts.Render("~/Scripts/formAjax")
@Scripts.Render("~/Scripts/btnCriteres")
@Scripts.Render("~/Scripts/btnToolTip")
}
我需要将表格中的所有数据下载到一个 pdf 文件中,我使用的脚本只打印当前页面。
解决方案
您可以使用 NuGet 包名称“iTextSharp”(Install-Package iTextSharp -Version 5.5.13.1)进行 Html 到 pdf 的转换。使用它,您可以格式化您的 pdf 并在客户端下载。
推荐阅读
- python - 我在做一些 openCV 工作时收到此错误代码
- c# - 在 OWIN JWT OAuth 中使用 Clockskew 的正确方法
- java - DeferredResult 的 Spring MVC 单元测试不调用超时回调
- unity3d - 我怎样才能让我的机器人角色保持在飞机的边界内?
- html - 为同一页面上的多个表格格式化 CSS 样式
- ipython - 如何将 jupyter notebook (ipython) 转换为幻灯片而不使用命令行
- c# - WPF 等效于 Winform 的 KeyEventArgs - 使用特定键调用 KeyDown 事件
- python - ValueError:检查输入时出错:预期dense_16_input有2维,但得到的数组形状为(60000、28、28)
- ruby-on-rails - Ruby on Rails - 防止 rails 在注册之前创建会话 cookie
- javascript - React Native:如何在客户端存储聊天记录?