【问题标题】:Dynamic PDF features动态 PDF 功能
【发布时间】:2009-10-29 13:42:33
【问题描述】:

有人要求我编写一个以 PDF 文件形式生成报告的程序。有两个主要的动态特性被要求,我什至不确定它们是否可行:

1) 报告包含一个包含多列的表格。用户应该能够单击列标题以按该列中的值对表格行进行排序。

我从未见过用户可以单击以重新排序表格结果的 PDF 文件,但有人告诉我这是可能的。

2) 报告应该有一个下拉框,用户可以选择该下拉框来切换显示或隐藏表格的哪些行。

我很确定这在 PDF 文件中是不可能的,尽管有人告诉我不是这样。

所以我的问题是,其中哪些是可能的,我应该使用什么库来生成 PDF 文件? (该库可以是任何编程语言。)

【问题讨论】:

  • 咆哮:我记得过去 PDF 是关于便携式文档的美好时光,使用它们的主要原因是确保文档按设计打印。
  • 这是一个可移植的文档,而不是一个可移植的网站...我会尝试说服您的客户,最好在应用程序中配置排序选项,然后根据他们的选择生成 PDF .

标签: pdf pdf-generation


【解决方案1】:

不要使用 PDF 代替 html/CSS/JavaScript/等。 PDF 最好用作不可变的文档格式,而不是用作穷人的网页。当然,你可以把你的脚放在一个盒子里,称之为鞋,但它实际上只是一个盒子。

【讨论】:

  • 我完全同意,事实上我没有很好的理由为什么我应该在 PDF 中这样做,但这是客户的硬性要求,所以我只是想弄清楚哪些事情他们所要求的甚至是可能的。
【解决方案2】:

看看

您也可以download a ready-to-study sample PDF 内置该功能。

【讨论】:

    【解决方案3】:

    我会看 Acrobat。它有一个 JavaScript 实现。

    http://www.adobe.com/devnet/acrobat/javascript.html

    【讨论】:

    • 谢谢,其他选项都不错,但客户永远不会安装任何非 Adob​​e 的 PDF 阅读器,所以这个答案对我来说是最有帮助的,因为它向我展示了在哪里深入研究文档,看看到底什么是可能的,什么是不可能的。
    【解决方案4】:

    对于 Java,有以下非常好的和稳定的工具/库: JasperReports - 您在图形设计器中设计报表,然后以编程方式填充数据。

    另一个是iText。它适用于较低的 lavel(实际上 JasperReports 是在它之上构建的 PDF 部分),因此它可能支持请求的排序选项。

    【讨论】:

      【解决方案5】:

      是的,所有这些动态功能都可以通过 XFA PDF 表单(在 LiveCycle Designer 中创建)和脚本 (JavaScript) 实现。我们在 http://www.pdfscripting.com 有对表格中的行进行排序以及隐藏和显示子表单的示例,但您必须是会员才能访问它们(不是免费的)。您可以通过 Internet 搜索 XFA PDF 或 LiveCycle Designer PDF 找到免费的示例文件 - 不确定,但无论如何都是可能的。

      迪米特里 WindJack 解决方案 http://www.windjack.com

      【讨论】:

      • 如果您不打算提供任何见解,那么您回答的意义何在? Stack Overflow 的全部意义在于摆脱像您这样的围墙花园的互联网。
      猜你喜欢
      • 1970-01-01
      • 2021-03-17
      • 2010-12-27
      • 2013-04-30
      • 2019-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多