【问题标题】:List records into pdf format c#将记录列表成pdf格式c#
【发布时间】:2017-06-28 07:49:56
【问题描述】:

我的任务是从数据库中提取一组记录并将其转换为 pdf 文件。

List<EligibilityCheckReportInfo> list = dbManager.GetEligibiltyCheckReportInfo(" where ( eligibility_check.REGDATE BETWEEN '" + dbManager.GetMySqlType("01/02/2017") + "' AND '" + dbManager.GetMySqlType2("14/02/2017") + "' ) ");

“列表”是我从数据库生成的数据。我需要将列表转换为pdf。谁能告诉我这样做的方法?任何指导或提示将不胜感激。我试图从谷歌寻找答案,但我只能找到从 gridview 转换为 pdf 的文章。提前谢谢各位。

【问题讨论】:

  • .NET 框架没有原生 PDF 支持。您可以使用几个商业或开源库,即iTextSharp
  • 是的,我之前使用 itextsharp 将 gridview 转换为 pdf。但是我不知道使用itextsharp将列表转换为pdf的方式。
  • 我不是那个图书馆的专家,但它的网站说:Several iText engineers are actively supporting the project on on StackOverflow: http://stackoverflow.com/questions/tagged/itext你可以使用这个标签来更好地定位你的问题
  • @SimoneCifani 是的,作为我们工作的一部分,我们积极地花时间在 stackoverflow 上。我们坚信 iText 之所以出色的部分原因在于支持和社区感觉。

标签: c# asp.net list pdf itext


【解决方案1】:

有几个选项,具体取决于您的具体用例。

我们目前没有从您想要的数据类型到 pdf 的直接转换。 因此,这将取决于您自己做一些工作。
不过也不是很多。

查看我们的网站(尤其是示例),了解如何使用 iText 制作表格。无需计算坐标。您所要做的就是定义您希望表格有多少列,然后将单元格添加到表格中。

http://developers.itextpdf.com/examples-itext7

protected void manipulatePdf(String dest) throws Exception {
    PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
    Document doc = new Document(pdfDoc);

    Table table = new Table(8);
    for (int i = 0; i < 16; i++) {
        table.addCell("hi");
    }
    doc.add(table);

    doc.close();
}

所以,就像我说的那样,您的用例所需的工作量取决于您想要解决这个问题的彻底/普遍程度。 您可以实现一些只适用于您的数据的东西。或者你可以制作一个通用的版本来处理任意的gridview。

但最终,iText 期望您为每个单元格赋予一些文本值。

【讨论】:

  • 您好,先生,感谢您的帮助。我想问一下上面代码的'dest'中的内容是什么。
  • 这是来自 itext 网站的示例。它将pdf文档写入文件。变量“dest”是文件写入的路径。
【解决方案2】:

简单的方法 - ArrayToPdf (github, nuget)

byte[] pdf = myList.ToPdf();
File.WriteAllBytes("result.pdf", pdf);

【讨论】:

    猜你喜欢
    • 2011-08-10
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    相关资源
    最近更新 更多