如何从iReport生成安全的PDF报告?

时间:2013-02-04 13:42:13

标签: security pdf jasper-reports adobe ireport

我使用iReport Designer生成报告,这些报告导出为PDF。已经要求保证报告不被复制文本,编辑等。我怎么能在iReport本身或使用jasperreports库包中做到这一点?

example PDF是我希望PDF安全的方式。我意识到使用不同的操作系统/ PDF查看器可以轻松绕过这些证券,但我仍然需要它们来满足这一要求。

注意:我不想支付Adobe认证订阅来获取这些证券。特别是因为它为虚假的安全付出了代价。

我还想避免密码验证来打开文档。如示例PDF中所示,任何人都可以打开和查看,只能复制和查看。编辑被禁用。

我知道“工具”>下的选项“选项”> “导出选项”标签> “PDF”。我尝试过选择各种权限,添加了128位密钥加密(与示例PDF相同),并添加了所有者密码。这没效果。在这里,我要注意,由于某种原因,“JasperReports属性”选项卡中的属性不会更改以匹配导出选项。

例如,“net.sf.jasperreports.export.pdf.encrypted”属性设置为false。如果在“导出选项”中选择了pdf加密,则不会更改为true。我在我的iReport上手动更改了这个,我无法打开任何生成的报告,恢复默认值无法正常工作。我不得不重新安装iReports来解决这个问题,所以请注意,如果你试图改变这些属性。

1 个答案:

答案 0 :(得分:0)

JasperReports中的加密PDF(我已在第6版中测试过)
简单代码

SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
  configuration.setEncrypted(true);
  configuration.set128BitKey(true);
  configuration.setUserPassword("jasper");
  configuration.setOwnerPassword("reports");
  configuration.setPermissions(PdfWriter.ALLOW_COPY | PdfWriter.ALLOW_PRINTING);
  exporter.setConfiguration(configuration);

REFER Link