Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将从Word粘贴到Firefox富文本编辑器中的文本转换为xsl fo,同时保留格式(Java)(Apache FOP)_Java_Xml_Xslt_Ms Word_Xsl Fo - Fatal编程技术网

将从Word粘贴到Firefox富文本编辑器中的文本转换为xsl fo,同时保留格式(Java)(Apache FOP)

将从Word粘贴到Firefox富文本编辑器中的文本转换为xsl fo,同时保留格式(Java)(Apache FOP),java,xml,xslt,ms-word,xsl-fo,Java,Xml,Xslt,Ms Word,Xsl Fo,我有一个基于Java的内容管理系统,公司员工将报告输入到web表单中,报告正文输出到一个富文本字段中。然后可以使用XSL-FO将这些报告输出到PDF 员工的一种常见做法(我无法更改或反驳)是用Microsoft Word编写报告,然后将这些报告复制粘贴到CMS中 浏览器富文本框执行了一项可接受的任务,即保留和显示MS Word内容的格式。但是,在FO中转换为PDF时,大多数格式都会丢失。最常见的抱怨之一是表的列和行大小被破坏 举例来说,word中的某些内容如下所示: 将在浏览器中显示如下所示:

我有一个基于Java的内容管理系统,公司员工将报告输入到web表单中,报告正文输出到一个富文本字段中。然后可以使用XSL-FO将这些报告输出到PDF

员工的一种常见做法(我无法更改或反驳)是用Microsoft Word编写报告,然后将这些报告复制粘贴到CMS中

浏览器富文本框执行了一项可接受的任务,即保留和显示MS Word内容的格式。但是,在FO中转换为PDF时,大多数格式都会丢失。最常见的抱怨之一是表的列和行大小被破坏

举例来说,word中的某些内容如下所示:

将在浏览器中显示如下所示:

但在pdf中看起来是这样的:

大体上,我这里的问题是如何将粘贴的MS Office内容转换为FO,同时保留原始格式?有这样的图书馆吗


有些事情可能有帮助,也可能没有帮助,也可能对碰巧帮助解决这个问题的人来说是显而易见的

粘贴的单词内容存储在我们的数据库中,如下所示:

词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语。

词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语词语单词。

测试/code>

因此,似乎是从内容中提取MS样式表,然后将其转换为FOP(Apache FO处理器,我们用来转换为/显示FO)理解的内容

表大小似乎存储在表标记本身中,但问题似乎在于转换时出现以下一系列错误:

10/11/19 11:03 AM:宽度属性值“208”中存在错误: org.apache.fop.fo.expr.PropertyException:未定义转换 10/11/19 11:03 AM:宽度属性值“44”中存在错误: org.apache.fop.fo.expr.PropertyException:未定义转换 10/11/19 11:03 AM:宽度属性值“372”中存在错误: org.apache.fop.fo.expr.PropertyException:未定义转换

我如何定义从MS的宽度数字到FOP理解的数字的转换


注意:这是一个运行在Java1.5上的旧CMS,使用ApacheFop.20.5。如果有一个库满足了我的要求,但不兼容,我希望它是开源的,这样我就可以“降级”它以使用Java 1.5。

宽度属性应该是长度或百分比(请参阅)。为了解决眼前的问题,XSLT在生成提供给FOP的XSL-FO时应该在数字后面添加一个单位

width=“208px”
甚至
width=“208pt”
这样的东西应该可以阻止FOP抱怨。当您能够生成PDF时,您可能会发现208px太宽或太窄,因此您可能需要在处理过程中缩放数字(或者您可以修改FOP关于每英寸像素数的概念)