c# - 使用CSS从HTML在iTextSharp中渲染PDF

标签 c# html pdf itextsharp

任何想法如何使用iTextSharp渲染PDF,以便它使用CSS渲染页面。 CSS既可以嵌入HTML中,也可以分别传递,我并不在乎,只是希望它能工作。

特定的代码示例将不胜感激。

另外,我真的想坚持使用iTextSharp,尽管如果您有其他建议,它必须是免费的,开源的,并具有允许在商业软件中使用它的许可证。

最佳答案

目前尚不可能,但是没有什么可以阻止您启动将要执行的开源项目。我可能实际上会开始一个,因为我也需要它!

基本上,您将需要将HTML和CSS标记转换为iTextSharp类的解析器。因此<table>变为iTextSharp.SimpleTable,依此类推。

能够与有限的html和css子集一起工作的原型很容易提出。

更新:在可能之前,这就是我临时为自己解决的方式。仅需两个步骤:


告诉您的用户下载名为PDFCreator的开源应用
提供用于打印的样式表,使所有html报表打印机友好。

如果您的某些多页报表需要在每个页面上都包含标题,请在THEAD html标签中进行设置。


现在,用户将能够进行友好的打印,并且如果他们选择PDFCreator打印机驱动程序,他们甚至可以获取PDF格式的报告(还有其他pdf打印机驱动程序,但是该驱动程序是免费的且开源的)。

我也知道HTML不如PDF灵活,但它可能足够好。我正在与真实用户进行测试,他们实际上很喜欢,因为他们不仅可以将任何内容打印为PDF(甚至超出我的应用程序),而且他们的工作流程更快,因为他们无需下载并等待pdf阅读器打开起来。他们只是直接从Web浏览器打印(或导出为pdf)他们在网站上看到的内容,这是有道理的。

关于c# - 使用CSS从HTML在iTextSharp中渲染PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4740863/

相关文章:

html - 元素之间有空格的任何原因吗?

html - CSS:获取内联图像以使用容器的 100% 宽度和高度

java - iText 旧版本中 LineSeparator 的替代方案?

c# - 当我旋转 Android 模拟器以将方向更改为横向模式或纵向模式时,不会调用“OnSizeAllocation”

c# - 无法使用静态方法、实例方法等作为 .NET 中属性的参数的原因是什么?

html - 调整多张图片大小的最佳方法?

android - 如何使用 Android 应用程序在 Web View 中呈现 pdf 文件?

java - Android - 简化我的代码 : Multiple buttons linked to one method

c# - MissingMethodException:没有为此对象定义无参数构造函数

c# - Microsoft Owin Self Host 与 Google Chrome 崩溃