【问题标题】:itextsharp with html in c# [duplicate]c#中带有html的itextsharp [重复]
【发布时间】:2015-05-26 04:18:11
【问题描述】:

我之前用 vb 使用了 itextsharp,我是用一些 HTML 编码来做的,比如将整个 html 传递给 itextsharp 以创建 PDF,但现在我正在使用 c#,我已经丢失了我以前的所有作品,有没有范帮助我做到这一点的链接或提示?

我知道我可以简单地使用 itextsharp 创建 pdf,但我似乎无法找到正确布局我的内容的方法,这就是我想使用 HTML 样式来提供帮助的原因。

如果有更好的方法来使用 itextsharp 或任何其他库来布局 pdf,请告诉我。

谢谢

【问题讨论】:

  • @Daniel Casserly -> 不是“我可以渲染 pdf”而是“那个库不读取我的 css”
  • @zchpit 确实 HtmlWorker 不会读取 CSS,但 XML Worker 会。
  • 阅读The Best iText Questions on StackOverflow 也会让您受益匪浅。这是一本包含数百个示例的免费电子书,它介绍了创建模板的不同方法(HTML 只是一种选择)。
  • @benji_Wong -> 如果有任何答案有帮助,别忘了点赞 :)
  • @zchpit 我想我应该稍微改变一下我的问题。我不必使用 HTML 到 PDF。我想使用它的原因是因为我似乎找不到使用 itextsharp 本身正确格式化文档的方法,有没有更好的格式化方法?

标签: c# html css itextsharp


【解决方案1】:

检查这些链接:

  1. How to convert html to pdf - itextsharp
  2. Another conversion example

使用示例(不含html):

            MemoryStream output = new MemoryStream();
            iTextSharp.text.Document document = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4, 10, 10, 20, 20);
            PdfWriter writer = PdfWriter.GetInstance(document, output);

            document.Open(); // open doc to write 

            // add things to your document
            // example: document.Add(new Paragraph("Test"));

            document.Close();
            writer.Close();

            byte[] pdfBytes = output.ToArray();

【讨论】:

  • 第一个链接就OK了。这确实是这里提出的问题的重复。第二个链接不行,因为它使用了HTMLWorker,这是一个已被放弃而支持 XML Worker 并且不再受支持的类。
  • 您添加的示例无关紧要,因为 OP 解释说他能够创建 PDF。他说:我知道我可以简单地使用 itextsharp 创建 pdf。 因此,您应该投票结束问题,而不是添加答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
  • 2010-12-14
  • 2020-07-28
  • 2017-04-02
  • 1970-01-01
  • 2013-11-08
  • 2013-08-01
相关资源
最近更新 更多