动态PDF功能

动态PDF功能,pdf,pdf-generation,Pdf,Pdf Generation,我被要求编写一个程序,以PDF文件的形式生成报告。有两个主要的动态特性,我甚至不确定是否可能: 1) 报告包含一个包含多个列的表。用户应该能够单击列标题,按照该列中的值对表行进行排序 我从未见过一个PDF文件,用户可以点击它对表格结果进行重新排序,但我听说这是可能的 2) 报告应该有一个下拉框,用户可以选择该下拉框来切换表的哪些行被显示或隐藏 我相当肯定这在PDF文件中是不可能做到的,尽管有人告诉我不可能 所以我的问题是,这些事情哪一个是可能的,我应该使用什么库来生成PDF文件?(库可以是任何编

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

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

我从未见过一个PDF文件,用户可以点击它对表格结果进行重新排序,但我听说这是可能的

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

我相当肯定这在PDF文件中是不可能做到的,尽管有人告诉我不可能


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

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


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

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

迪米特里 WindJack解决方案
对于Java,有以下非常好且稳定的工具/库: -您可以在图形设计器中设计报表,然后以编程方式使用数据填充报表

另一个是。它在较低的lavel上工作(实际上,JasperReports是为PDF部分构建在它上面的),因此它可能支持请求的排序选项。

请看

  • 在Adobe开发者连接网站上

你也可以使用内置的功能。

Rant:我记得过去的好日子,PDF都是关于可移植文档的,使用它们的主要原因是确保文档按设计打印出来。它是一个可移植文档,而不是一个可移植网站。。。我会尽力说服您的客户,最好在应用程序中配置排序选项,然后根据他们的选择生成PDF。我完全同意,事实上,我没有充分的理由在PDF中这样做,但这是客户的硬要求,所以我只是想弄清楚他们所要求的哪些东西是可能的。谢谢,其他选项都不错,但客户永远不会安装任何不是Adobe的PDF阅读器,所以这个答案对我来说是最有帮助的,因为它告诉我在哪里可以深入研究文档,看看什么是可能的,什么是不可能的。如果你不打算提供任何见解,你的答案有什么意义?堆栈溢出的全部目的是消除互联网上像你这样的围墙花园。