嗨我想在我的ASP.NET應用程序中創建pdf併爲此使用iTextSharp
。我的想法是從HTML文件中創建PDF。我想,如果我點擊一個Button
我讀了一個帶有背景圖像和多種樣式的HTML文件。如何使用帶有樣式的html文件來創建iTextSharp的pdf文件
我的應用程序必須做..
- 從文件夾
App.Data
閱讀HTML文件。 (使用System.IO) - 使用此樣式創建此HTML文件中的PDF! (
using iTextSharp.text;
) 3.將PDF文件作爲電子郵件發送。 (使用System.Net.Mail;採用System.Net.Mime;)
我嘗試創建一個PDF,如果可行,但如果我在HTML中使用樣式的文件,它不會顯示樣式:(
這裏是我的代碼:
string html;
using (StreamReader reader = new StreamReader(Server.MapPath("~/App_Data/mail.html"), System.Text.Encoding.Default))
{
html = reader.ReadToEnd(); //here i read the html file to this string
HTMLtoPdf(html);
}
private void HTMLtoPdf(string HTML)
{
Document doc = new Document();
PdfWriter.GetInstance(doc, new FileStream(Request.PhysicalApplicationPath + "\\test.pdf", FileMode.Create));
doc.Open();
HTMLWorker hw = new HTMLWorker(doc);
hw.Parse(new StringReader(HTML));
doc.Close();
ShowPdf("test.pdf");
}
private void ShowPdf(string s)
{
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "inline;filename=" + s);
Response.ContentType = "application/pdf";
Response.WriteFile(s);
Response.Flush();
Response.Clear();
}
例如我的HTML文件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head>
</head><body styles="background-color:#E0E0E0; font-weight:bold; font-family:Arial; font-size:120%;">
<div>
Test
</div>
</body></html>
在這個例子中我使用的背景顏色,但它不工作:(我只得到了HTML文本:沒有樣式的測試。
這將是風格不風格 –
是一個小錯誤,但在背景顏色不工作 – Tarasov
使用樣式標籤在身體內,不與它一起...可能會工作,試試看... –