2009-10-29 61 views
4

我被要求编写一个以PDF文件的形式生成报告的程序。有两个主要的动态功能已被要求,我不敢肯定甚至有可能:动态PDF功能

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

我从来没有见过用户可以点击重新排序表结果的PDF文件,但我被告知这是可能的。

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

我很确定这是不可能做到的PDF文件,尽管我已经被告知不是。

所以我的问题是,哪些事情甚至可能,哪些库应该用于生成PDF文件? (库可以使用任何编程语言。)

+2

咆哮:我记得的好日子当PDF是所有关于便携式文档,并使用它们是确保文档打印出来的主要原因它的设计。 – 2009-11-02 15:12:59

+2

这是一个可移植的文档,而不是一个可移植的网站......我会尝试说服客户,最好在应用程序中配置排序选项,然后根据用户的选择生成PDF。 – Jeff 2009-11-09 20:27:14

回答

1

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

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

+0

谢谢,其他选项都很好,但客户永远不会安装任何不是Adobe的PDF阅读器,所以这个答案对我来说是最有帮助的,因为它向我展示了在哪里钻研文档,看看究竟是什么以及是不可能的。 – 2010-01-07 22:10:32

2

不要使用PDF作为HTML/CSS/JavaScript的/等的替代品。当PDF用作不可变的文档格式时,PDF不是一个穷人的网页。当然,你可以把脚放在一个盒子里,把它叫做鞋子,但它确实只是一个盒子。

+0

我完全同意,事实上我没有很好的理由为什么我要用PDF来做这件事,但这是客户的一项艰难要求,所以我只是想弄清楚他们要求的哪些东西甚至可能是可能的。 – 2009-11-03 13:58:14

0

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

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

+3

如果你不打算提供任何见解,你的答案的重点是什么?堆栈溢出的全部重点是摆脱像你这样的围墙花园的互联网。 – GOOT 2012-07-17 20:46:31

1

对于Java有以下工具/是非常良好而稳定的库: JasperReports - 设计报表的图形设计,然后填充数据编程。

另一个是iText。它适用于较低层(实际上JasperReports是构建在PDF部分之上的),所以它可能支持所需的排序选项。