C# C语言中文档格式之间的转换#
在C#中,在HTML、XML和XSL-FO之间进行转换的最佳方式是什么 我已经有了HTML(从FCKEditor导入),我想打印一个PDF(我有一个XSL->PDF转换器)。我只是找不到一个能将HTML转换成任何XSL友好的库。我先试试。当您谈论格式化XML文档(这正是您所谈论的内容)时,这就是设计用于格式化XML文档的工具 发件人: “XSL-FO使用背后的总体思路 是指用户编写文档, 不是FO,而是XML语言。 XHTML、DocBook和TEI都是 可能,但它可以是任何XML 然后,用户获得一个 XSLT转换,或者通过编写 他们自己,或者通过为 有问题的文档类型。此XSLT 转换将XML转换为 XSL-FO。” 您需要将HTML转换为XSL-FO。不知道在哪里可以买到,但显然这个概念并不陌生。我先试试。当您谈论格式化XML文档(这正是您所谈论的内容)时,这就是设计用于格式化XML文档的工具 发件人: “XSL-FO使用背后的总体思路 是指用户编写文档, 不是FO,而是XML语言。 XHTML、DocBook和TEI都是 可能,但它可以是任何XML 然后,用户获得一个 XSLT转换,或者通过编写 他们自己,或者通过为 有问题的文档类型。此XSLT 转换将XML转换为 XSL-FO。”C# C语言中文档格式之间的转换#,c#,html,xml,xsl-fo,C#,Html,Xml,Xsl Fo,在C#中,在HTML、XML和XSL-FO之间进行转换的最佳方式是什么 我已经有了HTML(从FCKEditor导入),我想打印一个PDF(我有一个XSL->PDF转换器)。我只是找不到一个能将HTML转换成任何XSL友好的库。我先试试。当您谈论格式化XML文档(这正是您所谈论的内容)时,这就是设计用于格式化XML文档的工具 发件人: “XSL-FO使用背后的总体思路 是指用户编写文档, 不是FO,而是XML语言。 XHTML、DocBook和TEI都是 可能,但它可以是任何XML 然后,用户获
您需要将HTML转换为XSL-FO。不知道从哪里可以买到,但显然这个概念并不陌生。一两年前,我不得不用C++/C程序生成PDF。最后,我决定将Apache的Java作为一个单独的过程来进行转换。使用xsl-fo的经历并不愉快。当时,似乎没有一个工具能够完全实现xsl fo。工具倾向于选择规范的一个子集,并对其进行黑客攻击。考虑到xsl fo的庞大复杂性,我开始怀疑是否会有一个完整的实现 FOP往往是有缺陷的,并且有相当多的时间花在解决问题上。XSLT和XPath很难学习。我花了几周时间才看穿冗长的内容,很快就能把事情办好。不过,我认为我还没有完全了解xsl fo。它使html和css模型看起来像孩子的玩具。幸运的是,PDF生成,并且没有太多问题。:-) 无论如何,手头的任务是:从FCKEditor的xhtml输出生成PDF 我只是找不到一个可以将HTML转换成任何XSL友好的库 呵呵。是的,这是因为没有一个,而且可能不会有一个html到xsl-fo的转换器,这有什么好处。这种转换器有一些缺点:浏览器的复杂性和xsl fo的复杂性。对于这样一个处理普通html文档的转换器,它需要web浏览器的胆量:布局、css支持甚至JavaScript。然后,它必须获取呈现的页面,并找出需要什么xsl fo才能获得类似的内容,并且符合xsl fo的分页约束 这就像制作一个word查看器的问题:如果不重新实现很多word,大部分时间都很糟糕,因为它看起来不一样 所以。。。你能做什么?好的,有一小部分html可以使用是一个好的开始。希望FCKEditor的输出是xhtml,因为将html转换成xml本身就是一个痛苦的世界(这对我们来说很有用)。接下来,除非某个可怜的人已经为您的xsl fo实现制作了一个FCKEditor xhtml->xsl fo xslt,否则您必须制作一个。这包括学习xsl-fo、xslt和xpath。根据我的经验,这将需要几个星期,而且将是一个拼凑而成的解决方案 要开始使用xsl fo,我发现以下链接很有用:
- 概述xsl fo试图解决的问题
- 有关三个快速介绍,请参见,和
- XSL转换(XSLT),一种用于转换XML的语言
- XML路径语言(XPath),XSLT用来访问或引用XML文档部分的一种表达式语言。(XML链接规范也使用XPath)
- XSL格式化对象(XSL-FO),用于指定格式化语义的XML词汇表
PS:如果你需要帮助,请告诉我。:-) 一两年前,我不得不从C++/C#程序生成PDF。最后,我决定将Apache的Java作为一个单独的过程来进行转换。使用xsl-fo的经历并不愉快。当时,似乎没有一个工具能够完全实现xsl fo。工具倾向于选择规范的一个子集,并对其进行黑客攻击。考虑到xsl fo的庞大复杂性,我开始怀疑是否会有一个完整的实现 FOP往往是有缺陷的,并且有相当多的时间花在解决问题上。XSLT和XPath很难学习。我花了几周时间才看穿冗长的内容,很快就能把事情办好。不过,我认为我还没有完全了解xsl fo。它使html成为一个