【问题标题】:How I can use a html file with styles for creat a pdf file with iTextSharp如何使用带有样式的 html 文件通过 iTextSharp 创建 pdf 文件
【发布时间】:2013-01-20 03:01:26
【问题描述】:

您好,我想在我的 ASP.NET 应用程序中创建一个 pdf,为此我使用 iTextSharp。我的想法是从 HTML 文件中创建 pdf。我希望如果我点击Button 我会读取一个带有背景图像和许多样式的 HTML 文件。

我的应用程序必须这样做..

  1. 从文件夹 App.Data 中读取 HTML 文件。 (使用 System.IO)
  2. 使用此样式从该 HTML 文件创建 PDF! (using iTextSharp.text; using iTextSharp.text.pdf;) 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 文本:没有样式的测试。

【问题讨论】:

  • 它将是样式而不是样式
  • 是的一个小错误,但背景颜色不起作用
  • 在正文中使用样式标签,而不是一起使用...可能会起作用,试一试...
  • string html = "
    测试
    html>"; ?

标签: c# asp.net html pdf itextsharp


【解决方案1】:

你拼错了“风格”。

<body styles="background-color:#E0E0E0;

应该是的

<body style="background-color:#E0E0E0;

【讨论】:

  • 我也有同样的问题,如果你有答案请发帖给我。
【解决方案2】:

你应该在这里使用 bgcolor 而不是 background-color

【讨论】:

    猜你喜欢
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    相关资源
    最近更新 更多