将数据从SQL Server数据库保存到PDF文件中

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

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

问题的数据将从SQl数据库获取,我没有这个问题,只是不知道在尝试执行此xD时是否可能需要考虑。

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

提前完成。

从nuget获取iTextsharp 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进行数据访问的文档很多。 显示一些代码,或者提供有关实际问题的更多详细信息。

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

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

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

您也可以使用Rotativa

你只需要添加几行

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

这是一个教程
和nuget

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

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

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

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

更多信息可以在这里找到。