首先,我并没有要求任何代码只提供一些关于如何做到这一点的建议,如果它甚至可能像这样。
所以我创建了一个网站,其中一个功能是教育者可以从问题池中选择问题,然后我想以预先格式化的方式提出这些问题(不知道如何解释一下,但是像默认布局一样)并将其保存为PDF供他们下载,以便他们可以随时随地打印。
问题的数据将从SQl数据库中获取,我对此没有任何问题,只是不知道在尝试执行此操作时是否需要考虑xD。< / p>
我不确定它是否可以为它创建一个页面,然后将该页面保存为PDF文件或者我真的对如何处理这个问题毫无头绪。
提前完成。
答案 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/
答案 3 :(得分:1)
您也可以使用Rotativa
你只需添加几行
public ActionResult GeneratePDF()
{
var model = new GeneratePDFModel();
//get content
return View(model);
}
答案 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。