我现在正在构建一个桌面应用程序,它将其人类可读的输出呈现为 WebBrowser 控件中显示的 XHTML。最终,必须将此输出从 XHTML 文件转换为成像系统中的文档图像。与 XHTML 文档不同,文档图像必须分成物理页面;另外——这就是让我死心的部分——这些页面上需要有页眉和页脚。
就像我想的那样,我不能简单地将 WebBrowser 打印到文件中——它支持的页眉/页脚选项还不够复杂。所以我正在尝试找出生成这些图像的正确技术。
在我看来(尽管这不是强制性的)我最终要做的是生成 HTML 文档的 PDF 版本(以便我可以添加页眉和页脚),然后将 PDF 呈现为 TIFF,这是最终格式成像系统想要的。所以我正在考虑:
使用某种 XHTML 到 PDF 的转换软件。这样做的问题是,如果没有进行大量的评估和测试,我无法弄清楚我看过的产品是否有能力做我需要的事情,即获取现有的 XHTML 文档,用标题装饰它们和页脚并对它们进行分页。
使用 XSL-FO 生成 PDF。作为一个忍者级别的 XSLT 极客在这里会有所帮助(这就是我最初制作 XHTML 的方式),但它似乎仍然是一个笨拙而缓慢的解决方案,有很多移动部件。这也意味着我将一个又大又笨重的 Java 程序插入到我漂亮干净的 .NET 系统的中间,尽管如果这是正确的答案,我肯定足够成年人这样做。
使用一些我还没有想到的其他技术,比如 LaTeX。也许有一些神奇的页面成像工具可以将 XHTML 直接转换为带有页眉和页脚的 TIFF。那将是理想的。
我主要担心的是:
我正在构建一个商业产品;我使用的任何技术都必须是负担得起且可支持的。它不一定是免费的。
我不想在兔子洞里消失三个月,敲打这些东西让它发挥作用。从直觉上看,这似乎是一种问题空间,我可以在其中浪费大量时间来评估和拒绝工具。
无论我采用什么解决方案,都需要对 XHTML 中的格式更改相对免疫。我使用 XSLT 并首先生成 XHTML 的全部原因是我正在生成的文档是使用不断变化的业务规则动态组装的。
我花了很多时间寻找替代品,但没有找到任何明显的答案。但也许你们中的一个好人已经解决了这个问题,如果是这样,我愿意站在你们的肩膀上。