将sql server数据库中的数据保存为PDF文件

本文关键字:保存 PDF 文件 数据 sql server 数据库 | 更新日期: 2023-09-27 18:12:34

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

所以我正在制作一个网站,其中一个功能是教育工作者可以从问题池中选择问题,然后我想把这些问题放在一个预格式化的风格(不知道如何解释,但就像一个默认的布局),并保存为PDF供他们下载,这样他们就可以随时打印。

问题的数据将从SQl数据库中获取,我对此没有问题,只是不知道是否在尝试这样做时必须考虑。

我不确定它是否可以为它制作一个页面,然后将该页面保存为PDF文件或什么的,我真的不知道如何处理这个问题。

将sql server数据库中的数据保存为PDF文件

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

从nuget获取iTextsharp库然后得到数据。使用来自SQL服务器的数据制作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();

p。这只是一个片段。这不是从itextsharp获取PDF文件所需的最小代码量。关于在c#中创建pdf以及在c#和sql server中访问数据有足够的文档。展示一些代码,或者给我们更多关于实际问题的细节

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

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

除了iTextSharp,你还可以使用Migradoc (&pdfsharp) -可以在那里找到http://www.pdfsharp.net/MigraDocOverview.ashx

它是100%开源的,不限制你在商业上使用这个库。(MIT许可)https://www.nuget.org/packages/PDFsharp-MigraDoc-GDI/
在我们的web应用程序中工作得很好。在服务器上呈现pdf。

您也可以使用Rotativa

你只需要添加几行

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

这是一个教程
和nuget

还没有提到的另一种方法是使用样式表(xsl-fo)创建PDF的布局。基本步骤是:

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

更多信息请点击此处。