Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
Xslt xslfo和FOP:检查内容是否溢出并调用不同的模板?_Xslt_Xsl Fo_Apache Fop - Fatal编程技术网

Xslt xslfo和FOP:检查内容是否溢出并调用不同的模板?

Xslt xslfo和FOP:检查内容是否溢出并调用不同的模板?,xslt,xsl-fo,apache-fop,Xslt,Xsl Fo,Apache Fop,我对XSLFO有一个问题,生成器是FOP。我想做的是: 在PDF中,我想生成一个项目列表,每个项目都位于一个具有特定宽度和高度的框中。如果内容不适合此框,则内容应显示在更大的框中(还带有特定尺寸) 我在XSLFO中看不到实现这一点的任何方法,特别是在FOP中 有人有办法解决这个问题吗 谢谢你的每一个想法 这里涉及两个独立的处理步骤: 生成XSL-FO标记(使用样式表和XSLT处理器) 将XSL-FO标记呈现为PDF(使用FO处理器,如FOP) 第二步不能影响第一步。不可能在呈现期间测试溢出条件,

我对XSLFO有一个问题,生成器是FOP。我想做的是: 在PDF中,我想生成一个项目列表,每个项目都位于一个具有特定宽度和高度的框中。如果内容不适合此框,则内容应显示在更大的框中(还带有特定尺寸)

我在XSLFO中看不到实现这一点的任何方法,特别是在FOP中

有人有办法解决这个问题吗


谢谢你的每一个想法

这里涉及两个独立的处理步骤:

  • 生成XSL-FO标记(使用样式表和XSLT处理器)
  • 将XSL-FO标记呈现为PDF(使用FO处理器,如FOP) 第二步不能影响第一步。不可能在呈现期间测试溢出条件,并以某种方式决定调用哪个模板。没有反馈回路。你所要求的是不可能的


    通过估计XSLT中文本字符串的长度,可以进行粗略的文本拟合。这就是背后的想法


    我没有使用过这个扩展,它甚至可能不再可用(关于它的公告是从2004年开始的)。无论如何,这与实际的布局反馈机制相差甚远。

    这里涉及两个独立的处理步骤:

  • 生成XSL-FO标记(使用样式表和XSLT处理器)
  • 将XSL-FO标记呈现为PDF(使用FO处理器,如FOP) 第二步不能影响第一步。不可能在呈现期间测试溢出条件,并以某种方式决定调用哪个模板。没有反馈回路。你所要求的是不可能的


    通过估计XSLT中文本字符串的长度,可以进行粗略的文本拟合。这就是背后的想法


    我没有使用过这个扩展,它甚至可能不再可用(关于它的公告是从2004年开始的)。无论如何,这与实际的布局反馈机制相去甚远。

    是的,我的问题不够具体,没错,你是对的,我在第一步使用XSLT处理。是的,我的问题不够具体,没错,你是对的,我在第一步中使用的是XSLT处理。你只能根据你所拥有的文本量粗略猜测小盒子是否有太多的文本,没有办法测量它是的,我明白了。但不幸的是,我必须支持许多不同的语言,所以我甚至猜不出:-/。但是谢谢你!!:)计算你在整个盒子里有多少个字符会给你一个很好的主意,但事实并非如此。字符的宽度不同。更困难的是:字符的宽度不同,语言也有完全不同的主要用途字符,即使它们使用拉丁字符。因此,一句话在一种语言中只能容纳半行,而在另一种语言中只能容纳两行。你只能根据文本的数量粗略猜测,小盒子是否会有太多的文本,没有办法测量是的,我明白了。但不幸的是,我必须支持许多不同的语言,所以我甚至猜不出:-/。但是谢谢你!!:)计算你在整个盒子里有多少个字符会给你一个很好的主意,但事实并非如此。字符的宽度不同。更困难的是:字符的宽度不同,语言也有完全不同的主要用途字符,即使它们使用拉丁字符。因此,一个句子在一种语言中只能容纳半行,在另一种语言中可以容纳两行。