将数据从sql server数据库保存到PDF文件中

时间:2015-09-14 11:59:17

标签: c# asp.net pdf

首先,我并没有要求任何代码只提供一些关于如何做到这一点的建议,如果它甚至可能像这样。

所以我创建了一个网站,其中一个功能是教育者可以从问题池中选择问题,然后我想以预先格式化的方式提出这些问题(不知道如何解释一下,但是像默认布局一样)并将其保存为PDF供他们下载,以便他们可以随时随地打印。

问题的数据将从SQl数据库中获取,我对此没有任何问题,只是不知道在尝试执行此操作时是否需要考虑xD。< / p>

我不确定它是否可以为它创建一个页面,然后将该页面保存为PDF文件或者我真的对如何处理这个问题毫无头绪。

提前完成。

6 个答案:

答案 0 :(得分:4)

如果可以访问从SQL Server 2000开始的大多数SQL Server版本附带的SQL Reporting Services (SSRS),您只需使用此工具从SQL Server数据生成PDF报告。

答案 1 :(得分:2)

iTextsharp获取nuget lib 并获取数据。使用SQL Server中的数据制作PDF。以下是一些示例代码:

FileStream fs = new FileStream(filename, FileMode.CreateNew);
Document doc = new Document(PageSize.A4);
PdfWriter pdfWriter = PdfWriter.GetInstance(doc, fs);
PdfPage page = new PdfPage();
pdfWriter.PageEvent = page;
doc.Open();
PdfContentByte cb = pdfWriter.DirectContent;
doc.Add(new Paragraph("the data from sql server:"));
pdfWriter.CloseStream = true;            
doc.Close();
fs.Close();

PS。它只是一个片段。它不是itextsharp中PDF文件所需的最少代码量。有关C#中的pdf创建和使用C#和sql server进行数据访问的文档很多。显示一些代码,或者提供有关实际问题的更多详细信息。

答案 2 :(得分:1)

iTextSharp可以轻松创建pdf。它可以在这里或通过NuGet获得 http://sourceforge.net/projects/itextsharp/

文档和更多信息:http://itextpdf.com/product/itext

答案 3 :(得分:1)

您也可以使用Rotativa

你只需添加几行

public ActionResult GeneratePDF()
{
  var model = new GeneratePDFModel();
  //get content
  return View(model);
}

这是tutorial
nuget

答案 4 :(得分:0)

替代iTextSharp你可以使用Migradoc(&amp; pdfsharp) - 可以在那里找到http://www.pdfsharp.net/MigraDocOverview.ashx

它的100%开源并不限制您在图书馆的商业用途。 (麻省理工学院执照) https://www.nuget.org/packages/PDFsharp-MigraDoc-GDI/
我们的网络应用程序就像魅力一样。在服务器上呈现pdf。

答案 5 :(得分:0)

尚未提及的一个替代方案是使用样式表(xsl-fo)创建PDF的布局。基本上步骤是:

1)将SQL数据转换为xml文件 2)创建样式表(xsl-fo) 3)使用Apache FOP合并xml和xsl-fo并生成PDF文件。

可以找到更多信息here