在我的申请中,学生将填写所有详细信息,然后点击提交按钮。
它将在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);
}
}
答案 0 :(得分:2)
你会想要利用iTextSharp library这样的东西。这是一个直接的解决方案。请考虑以下代码块:
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的所有概念类,而不仅仅是段落。