C# 将sql server数据库中的数据保存到PDF文件中

C# 将sql server数据库中的数据保存到PDF文件中,c#,asp.net,pdf,C#,Asp.net,Pdf,首先,我不是在要求任何代码,只是一些关于我将如何做这件事的建议,如果可能的话 因此,我正在制作一个网站,其中一个功能是教育者可以从问题库中选择问题,然后我想把这些问题放在一个预先格式化的样式中。我不知道如何解释这一点,但像一个默认布局,并将其保存为PDF供他们下载,以便他们可以在任何地方打印出来 这些问题的数据将从SQl数据库中获取,我对此没有任何问题,只是不知道在尝试执行此xD时是否需要考虑这些数据 我不确定它是否可以为它创建一个页面,然后将该页面保存为PDF文件或其他什么,老实说,我不知道如

首先,我不是在要求任何代码,只是一些关于我将如何做这件事的建议,如果可能的话

因此,我正在制作一个网站,其中一个功能是教育者可以从问题库中选择问题,然后我想把这些问题放在一个预先格式化的样式中。我不知道如何解释这一点,但像一个默认布局,并将其保存为PDF供他们下载,以便他们可以在任何地方打印出来

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

我不确定它是否可以为它创建一个页面,然后将该页面保存为PDF文件或其他什么,老实说,我不知道如何实现这一点


Thanx提前发布。

iTextSharp可以轻松创建PDF。可以在这里或通过NuGet获得

此处的文档和更多信息:

从 并获取数据。使用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();

附:这只是一个片段。这不是itextsharp的PDF文件所需的最小代码量。有足够的文档说明如何在C中创建pdf以及如何使用C和sql server访问数据。显示一些代码,或向我们提供有关实际问题的更多详细信息。

如果您有权访问从SQL Server 2000开始的大多数SQL Server版本,您只需使用此工具即可从SQL Server数据生成PDF报告

除了iTextSharp,您还可以使用Migradoc和pdfsharp-可以在那里找到

它100%开源,不限制您在商业上使用该库。 麻省理工学院执照 我们的网络应用程序非常有魅力。在服务器上呈现pdf

您也可以使用Rotativa

您只需要添加几行

public ActionResult GeneratePDF()
{
  var model = new GeneratePDFModel();
  //get content
  return View(model);
}
这是一个
还有一个尚未提及的替代方案是使用样式表xsl fo创建PDF的布局。基本上,这些步骤是:

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


可以找到更多信息。

各种方法,查看服务器端生成或客户端生成。您只需将crystal report格式化为所需格式,然后需要保存所选问题的实际查询。然后,当有人进入网站并单击“下载”时,打开报告并运行保存的查询,在流中另存为PDF并返回给用户。这将在客户端触发下载,一切看起来都像正常下载。感谢您的回答,对其他所有人来说,很抱歉反应太晚,但我一直忙于大学工作,现在我想问的一件事是,一旦文件完成,我如何触发下载功能或其他事情,我想把pdf下载到客户的电脑上。我下载了电子书,看了看。谢谢,我现在用的是:依赖,webforms还是mvc?或者没有网页?我现在可以下载,只是简单地玩一下,但我想知道的是,有没有一个地方可以让我看到所有的文档命令或我可以使用的命令,看看我可以做什么样式,因为我想做一个头版,看起来格式不错,所以需要样式,我浏览了一下网站,似乎这就是我认为im gana使用的,我明天将开始试验:。