XSLFast也许是我能找到的唯一一个称得上是'WYSIWYG'的工具吧,其他的IBM的一个项目现在归入了它的企业打印管理产品中,另外的都是一些很小的项目,实现的都很不完善,剩下的工具都是要手工编辑XSLFO模板或者完全要自己写XSLFO的语言细节,也许这些集成工具的本身都有render或者Paser工具支撑着,你写完之后点一个button就可以立刻生成或者有Preview的windows来展示,但严格地说还是不是WYSIWYG的Editor。
说起XSLFAST就不能不说FOP这个Free的Open Source项目,网上几乎所有的关于FO Parser的实现里多多少少都有FOP的影子,很多Commercial的产品可以说就是FOP的进一步完善和开发而出的产品,FOP官方的Release是0。25,而CVS的Beta已经到了0。90,最近有消息说,开发的Team已经开始准备1。0的发布了。FOP实现了XSLT 1。0的大部分了和FO的大部分,如果你有兴趣,可以去他们SourceForge的网站去看具体的实现Matrix。
XSLFast是一个真正所见即所得的Editor,由于后台的Parser是继承了FOP,所以整体的开发环境是在Java下的,现在安装之后用了一下,基本的界面还算顺手,程序本身有很多特点和支持很大一部分的FO标准。但本身的环境有些致命的缺点,有些估计是Java的问题,例如和Windows环境的配合,Java在界面设计上采用的标准是希望整合所有平台的,所以它的布局设计对习惯VB的人就觉得非常怪异,而对Windows环境下的布局设计软件更是一个艰难的挑战。有些是这个软件本身设计的问题,可以很明显的感受到一组Object移动或者对齐的时候的机器的假死和延迟。在尝试了复杂表格的编辑之后我还是决定放弃了采用这个编辑器的想法。
放弃XSLFast的另一个主要的原因是我需要一些既定的Template的元素需要导入设计的页面,很多东西是打印公司要求的,例如在指定的位置生成姓名地址以方便Folding,还有就是边角很多部分需要打印一些打印公司自己的标识以及给AusPost用的条形码之类的,这些东西都要在设计中插入,而XSLFAST完全没有引入这些template的机制,所以几乎所有的设计都要在后期自己插入,然后生成看效果,这样就完全失去了所见即所得的意义。
在尝试了N个软件之后我还是放弃了找到一个完美的XSLFO WYSIWYG Editor的想法,采用了一种比较曲线的方法,用Word设计复杂详细的文档,然后转换到RTF,再用RTF2XML来转换到XSLFO的格式,在试验着转换了4个各种各样的表格之后终于有信心说这个方法解决了95%的格式问题,当然RTF格式本身就跟Word的格式有些不同,有些限制,而且RTF2XML这个软件对一些RTF的标准和方言支持的也不是太好,但主要的限制如果研究清楚在设计Word文档的时候注意避免一下,这个转出来的XSLFO还是很好用的,呵呵。。
工作上基本的流程就这么定了下来,我的工作也随之轻松了,不过对这段搜索工具的经验让我认识到对FO标准的实现还是在很初级的阶段,希望在FO这个标准流行之后能出现更好更实用的标准吧。。
文章评论
呵呵,我们公司有一个xslfo的编辑器,最新版本的的操作方式什么的和word2007一致,是支持xsl-fo规范的真正的WYSIWYG 编辑器,支持xml等动态数据,具体可以见公司网站www.wisii.com或直接qq(89986396)联系我。本来我想贴个我们软件的界面贴图的,可惜这个回复呢好像贴不了图!
@xslfodeveloper 呵呵,谢谢,那个需求是几年前的了,我现在已经不做开发了,不过还是多谢你的好意。