[C#] 我应该使用什么页面图像生成技术?



Answers

只是我的2p,但如果你是一个XSLT忍者,我会建议坚持。 您可以通过查看nFop(这是apache FOP项目的C#端口)来避免讨厌的java程序。 最棒的是你可以简单地使用程序集并直接将XML和XSLT传递给它,以获得所需的PDF输出。

http://sourceforge.net/projects/nfop/

希望有所帮助。

Question

我正在构建一个桌面应用程序,将其可读的输出呈现为WebBrowser控件中显示的XHTML。 最终,这个输出将不得不从XHTML文件转换为成像系统中的文档图像。 与XHTML文档不同,文档图像必须分为物理页面; 另外 - 这是杀了我的部分 - 这些页面上需要有页眉和页脚。

正如我所愿,我不能简单地将WebBrowser打印到文件 - 它支持的页眉/页脚选项不够复杂。 所以我正在试图找出正确的技术是什么来产生这些图像。

对我来说(尽管这不是强制性的),我最终要做的是生成HTML文档的PDF版本(这样我可以添加页眉和页脚),然后将PDF作为TIFFs呈现,这是最终的格式成像系统需要 所以我在考虑:

  • 使用某种XHTML-to-PDF转换软件。 这样做的问题是,如果没有经过大量的评估和测试,我就无法弄清楚我所看到的产品是否能够做我所需要的,就是拿现有的XHTML文档,用标题来装饰它们页脚和分页。

  • 使用XSL-FO生成PDF。 作为一个忍者级别的XSLT怪胎在这里有帮助(这就是我如何生产XHTML的原因),但它似乎仍然是一个尴尬缓慢的解决方案,有很多移动部件。 这也意味着我将一个笨重的Java程序粘贴到我干净的.NET系统的中间,尽管如果这是正确的答案,我确实已经足够了。

  • 使用一些我还没有想到的技术,比如LaTeX。 也许有一些神奇的页面成像工具,将XHTML直接转换成页面页眉和页脚的TIFF。 这将是理想的。

我主要关心的是:

  • 我正在建立一个商业产品; 无论我使用哪种技术,都需要负担得起和支持。 它不一定是免费的。

  • 我不想在一个兔子洞里消失三个月,砸在这个东西上来让它工作。 这直观地看起来就像是一种问题空间,我可能会花费大量时间来评估和拒绝工具。

  • 无论我采用哪种解决方案,都需要对XHTML中的格式更改进行相对免疫。 我首先使用XSLT和生成XHTML的全部原因是,我正在生成的文档正在使用随时更改的业务规则进行动态组合。

我花了很多时间寻找替代品,并没有发现任何明显的答案。 但也许你们中有一个好人已经解决了这个问题,如果是的话,我想站在你的肩上。




PrinceXML是一个XHTML / CSS到PDF转换器。 它似乎有你需要的功能:

  • 页眉/页脚,页码和双面打印。

我意识到你可能需要比这个更广泛的答案(我很抱歉,但我没有评估产品),但是,但我希望它可以帮助!




你在xhtml中提到了你当前的桌面应用程序导出结果。 由于xhtml格式良好,因此您应该使用xsl fo将其导出为pdf。

XML - > XSL-FO = PDF

这里有一个初学者指南: http : //www.devx.com/xml/Article/16430

我的公司在荷兰政府的java + cocoon webaplication中使用了这个技术。




使用一些我还没有想到的技术,比如LaTeX。

TexML ,这是LaTeX与XML语法的语义。 为了使用它,你可以创建XSLT,它将用TexML命令来修饰你的XHTML( 参见示例




你可以使用Python的 PISA。 它使用reportlab工具包从html生成pdf(使用html5lib)




你真的需要使用XHTML / Web浏览器吗?

我一直在这个困境,试图产生好看的HTML报告,我发现的解决方案是... ...放下HTML和使用“真正”的报告生成器,有很多在那里,他们都支持所有的分页和页眉/页脚选项,你可以考虑他们通常可以打印到PDF格式,有时直接打印到图像。

HTML是不正确的报告技术。




Links