如何将数据打印为pdf格式
本文关键字:pdf 格式 打印 数据 | 更新日期: 2023-09-27 18:23:57
在我的申请中,学生将填写所有详细信息,然后单击提交按钮。
它将在studentDetails.aspx页面中显示学生的所有详细信息。
在studentDetails.aspx页面中,有一个"打印"按钮。
我想要的是,当学生点击这个打印按钮时,它应该以PDF文件格式显示学生的详细信息,准备打印。
我试过以下几种,有人能帮我摆脱困境吗?"
protected void Button1_Click(object sender, EventArgs e)
{
Uri strurl = Request.Url;
string url = strurl.ToString();
string filename = "Test";
HtmlToPdf(url, filename);
}
public static bool HtmlToPdf(string Url, string outputFilename)
{
string filename = ConfigurationManager.AppSettings["ExportFilePath"] + "''" + outputFilename + ".pdf";
Process p = new System.Diagnostics.Process();
p.StartInfo.Arguments = Url + " " + filename;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = HttpContext.Current.Server.MapPath(@"C:'Users'$$'Documents'Visual Studio 2008'Projects'santhu") + "wkhtmltopdf.exe";
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardInput = true;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit(60000);
int returnCode = p.ExitCode;
p.Close();
return (returnCode == 0 || returnCode == 2);
}
}
您将希望利用iTextSharp库之类的东西来实现这一点。这是一个直接的解决方案。考虑以下代码块:
using (Document doc = new Document(PageSize.A4, 0, 0, 0, 0))
{
using (FileStream stream = new FileStream(targetPath, FileMode.Create))
{
PdfWriter.GetInstance(doc, stream);
doc.Open();
var font = FontFactory.GetFont("Courier", 10);
var paragraph = new Paragraph(sb.ToString(), font);
doc.Add(paragraph);
doc.Close();
}
}
这需要一个文本文件并将其转换为PDF。现在很明显,你需要根据自己的需要对其进行修改,但你会发现它有多简单。此外,该库还为PDF的所有概念提供了类,而不仅仅是段落。