在 XSL:FO 中添加方形复选框

Adding Square Check Boxes in XSL:FO

正在寻找是否有使用 XSL:FO 创建方框的方法。 最终,我尝试创建的文档将为最终用户绘制一个框,以便能够 "tick" 从打印的文档中手动...

我知道这个任务可以使用 tables 并利用边框来完成,但我的目标是让框与旁边的字体大小相同或更小,其中 table 通常会大于文本的大小。也可以考虑一个方框的图像,但认为有比插入图像更好的方法。

(使用 xsl 版本 1.0)

使用特定字体的字形...例如 U+2610 Ballot Box。找到包含该字符的字体并使用它。您甚至可以将该字符放入 fo:inline 并将字体大小调整为您喜欢的任何大小:

☐ 这是角色

例如——使用 charmap 和搜索 "ballot" 显示该字体内的以下字符:

你要空的显示U+2610的就是密码。如果您的机器上有 Arial Unicode 字体,并且您已将其映射到 Apache FOP 中,您将使用:

<fo:inline font-family="Arial Unicode">☐</fo:inline>

或者你当然可以使用角色实体。这是一个很好的网站,也可以找出哪些字形在哪些常见字体中:

http://www.fileformat.info/info/unicode/char/2610/fontsupport.htm

您可以使用带边框的内联元素,如下所示:

<fo:block>
    Yes
    <fo:inline border-style="solid" border-width="1pt">&#160;&#160;&#160;&#160;</fo:inline>
    &#160;&#160;&#160;&#160;
    No 
    <fo:inline border-style="solid" border-width="1pt">&#160;&#160;&#160;&#160;</fo:inline>
</fo:block>

&#160;用于间距