将数据从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文件。
更多信息可以在这里找到。