如何在使用 XSL-FO 生成的 PDF 中插入换行符

2024-02-16

我正在使用 XSL-FO 和 XML 生成 PDF。在文本框中,用户可以输入“1”等数据,然后按 ENTER,然后按“2”、ENTER、“3”等。但在 XML 和 PDF 中,输出是“1234567”。如何保留换行符?我已经尝试过了white-space-collapse, linefeed-treatment and white-space-treatment但这没有帮助。

我的 XSL 看起来像:

<xsl:template match="AddCmt">
    <fo:block keep-together="always"> Additional Comments 
        <fo:block-container border-style="solid" height="20mm" width="170mm" space-after="5mm"> 
            <fo:block> 
                <xsl:attribute name="id"> 
                    <xsl:value-of select="../CMT_ID"/> 
                </xsl:attribute> 
                <xsl:value-of select="../ANS_CMT"/> 
            </fo:block> 
        </fo:block-container> 
    </fo:block> 
</xsl:template> 

当我输入以下内容时:

hello
medhavi
saraswat

这是我得到的 XML:

<?xml version="1.0" encoding="UTF-8" ?> 
<?xml-stylesheet type='text/xsl' href='e:\tmm-09.3\src\pmod\WorkOrder.xsl'?>
    <Root>
        <WorkOrders>
            <Detail>Id="ANS_436‌​_FLD_1" Label="qq">qq</Detail>
            <Ans Checked="0" Id="ANS_436_FLD_2" Label="ww">ww</Ans>
            <ID>ANS_436_FLD</ID>
            <ANS_FLD>0|0</ANS_FLD>
            <CMT_ID>ANS_436_CMT‌​</CMT_ID>
            <ANS_CMT>hello medhavi saraswat</ANS_CMT>
            <Warning>
                <Line>warning 11</Line>
                <Line>22</Line>
                <Line>33</Line>
                <Line>44</Line>
                <Line></Line>
                <Line>66</Lin‌​e>
                <Line>77</Line>
                <Line></Line>
            </Warning>

它应该与以下 xml 一起使用(您应该添加所有属性):

<xsl:template match="AddCmt">
    <fo:block keep-together="always"> Additional Comments 
        <fo:block-container border-style="solid" height="20mm" width="170mm" space-after="5mm"> 
            <fo:block wrap-option="wrap" linefeed-treatment="preserve" white-space-collapse="false" white-space-treatment="preserve"> 
                <xsl:attribute name="id"> 
                    <xsl:value-of select="../CMT_ID"/> 
                </xsl:attribute> 
                <xsl:value-of select="../ANS_CMT"/> 
            </fo:block> 
        </fo:block-container> 
    </fo:block> 
</xsl:template> 

但正如我在评论中提到的,如果您的 XML 已经没有换行符,那么您的 PDF 就不可能有换行符。您在问题中提到 XML 中没有换行符,因此 PDF 中没有换行符。

尝试检查一下为什么 XML 中没有换行符。如果您可以提供更多信息(您的 XML 片段、用于构建 XML 的代码……),请编辑您的答案并添加信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在使用 XSL-FO 生成的 PDF 中插入换行符 的相关文章

随机推荐

  • Cloud Explorer - 无法访问开发 Blob 容器

    我正在使用 VS2015 在本地使用 Azure 存储进行开发 我创建并访问了我的开发存储 blob 容器 效果很好 我上传了三张图像 并有代码来计算图像的大小 由于某些未知原因 我无法再在 Cloud Explorer 中展开 Blob
  • UWP:是否可以创建自己的网络文件(类似于 Onedrive)?

    我正在查看文档确定 Microsoft OneDrive 文件的可用性 https learn microsoft com en us windows uwp files quickstart determining availabilit
  • React Hooks 错误:只能在函数组件体内调用 Hooks

    我在使用时收到此错误useState钩 我有它的基本形式 看看反应文档 https reactjs org docs hooks reference html usestate供参考 但我仍然收到此错误 我已经准备好迎接掌脸时刻了 expo
  • 防止 Access 在切换到设计模式时弄乱它无法理解的查询

    在做了很长时间的其他事情后回到 Access 有一件事确实让我烦恼 那就是如果您无意中在设计模式下打开一个查询 设计器无法表示 sql 即使它是有效的 设计师将为您 更正 您的查询 并且无法撤消 有没有解决这个问题的方法 或者我至少可以让它
  • 如何区分SQLAlchemy IntegrityError的原因?

    SQLAlchemy 似乎只是抛出一个一般IntegrityError当事务存在数据完整性问题时 当然 确切的查询和错误消息包含在异常中 这足以供人调试程序 然而 在为异常编写错误处理代码时 据我所知 似乎没有一个好的方法来检查哪个表上的哪
  • 为什么 ComboBox 是下拉结果整个应用程序性能非常慢?

    我有一个wpf应用程序 有一个奇怪的事情 只要我按下鼠标 ComboBox下拉箭头就会变得所有UI响应都很慢 无论ComboBox是否有项目 烦人的情况只出现在某些计算机上 期待答复 我查看了您可以在互联网上找到的提示 我发现没有任何问题
  • 如何修复“未找到自定义操作文件的安装项目”异常?

    我正在尝试为 Windows 服务创建一个安装项目 我已按照以下指示进行操作http support microsoft com kb 816169 http support microsoft com kb 816169轻松创建安装项目
  • 向ggplot添加水平线

    我想使用 ggplot2 在一个图中绘制多条不同颜色的线 然后添加一条单独的水平线 我的代码如下 在我运行最后一行之前它运行良好p geom hline yintercept 400 所有线条都变成黑色 右侧的图例消失 有谁知道如何解决这个
  • 通过使用显式构造函数将相同的参数传递给每个元素来构造元组

    以下内容在 Visual C 2015 Update 2 上运行良好 请注意A是不可复制的并且A A is explicit include
  • 有没有办法“持久”地将 git 存储库与 SVN 同步?

    从我在网上找到的信息来看 似乎使用git svn不是 坚持 意思是 如果我git svn clone一个存储库 然后推送到 master 并在单独的文件夹中重新拉取一个新副本 该新副本根本不知道 svn 并且无法在不重新应用的情况下用于与
  • 在 Ansible 中创建已安装软件包的报告

    我正在尝试制作一份包含几台机器上已安装的软件包及其版本的报告 该报告必须在执行 playbook 的计算机上创建 这是我当前的剧本 name main hosts all gather facts no become true tasks
  • Excel 中按轮廓级别(组)着色

    我想根据 Excel 中的大纲级别更改单元格的颜色 大纲级别是指列分组的级别 我正在尝试使用 ActiveCell OutlineLevel 属性在 ColorByValue 过滤器中使用 这可能吗 或者 有没有办法通过 VBA 或函数来做
  • Flex:包裹的物品与其他物品的宽度相同

    我使用 Flex 创建一个多列列表 该列表根据容器的宽度调整列数 我发现的问题是 如果我想通过将 flex grow 设置为 1 来使用父级的完整宽度 则最后一个换行行中的项目会未对齐 因为它们试图填充父级 我发现了两种对我不起作用的解决方
  • 如果屏幕尺寸小于指定值,则将水平块转换为垂直块

    在下面的代码中 我希望水平三列块放置并堆叠在彼此之上 以防容器的大小小于 X 像素 对于较小或移动设备 我应该如何以及在表的哪个元素上应用此属性 请注意 代码是一个内容块 因此我不想将 CSS 应用于整个电子邮件模板或电子邮件除非这是解决这
  • HKLM\Software 下的 OpenSubKey 返回 null

    这是我的代码 Microsoft Win32 RegistryKey key Microsoft Win32 Registry LocalMachine OpenSubKey SOFTWARE ADM 该注册表项存在于计算机上 键始终为空
  • ASP.NET Core上的静态文件

    我正在尝试启用静态文件ASP NET Core 2 0Web应用程序 我在一个名为 updater 的文件夹中有一堆文件 该文件夹位于wwwroot文件夹 为了允许访问它们 我添加了 app UseStaticFiles new Stati
  • 使用 numpy 将二进制掩码应用于 RGB 图像时出现问题

    我正在尝试使用 numpy 将二进制掩码应用于 RGB 图像 我找到了这个https stackoverflow com a 26843467 4628384 https stackoverflow com a 26843467 46283
  • Android NDK:从 C++ 调用 Java 函数

    我对 JNI 非常陌生 在将 C iOS 代码移植到 JNI 之前 我试图弄清楚某些事情是如何工作的 我成功地让 NDK 示例之一在 Android studio 中运行 我可以看到 Java 如何调用 C 函数 我一直在四处寻找并获取大量
  • 从 SQL 导出数据并写入文本文件(不能使用 CP 或 SP)

    因此 我正在寻找一种简单的方法来从 SQL Server 2000 数据库导出数据并将其写入逗号分隔的文本文件 它只有一张表 只有大约 1 000 行 我是 C 新手 所以如果这是一个愚蠢的问题 请原谅我 这是一项非常简单的任务 但您需要了
  • 如何在使用 XSL-FO 生成的 PDF 中插入换行符

    我正在使用 XSL FO 和 XML 生成 PDF 在文本框中 用户可以输入 1 等数据 然后按 ENTER 然后按 2 ENTER 3 等 但在 XML 和 PDF 中 输出是 1234567 如何保留换行符 我已经尝试过了white s