0

我正在使用导出为 PDF 的 iReport Designer 生成报告。已要求保护报告免于复制文本、编辑等。如何在 iReport 本身或使用 jasperreports 库包中执行此操作?

这个示例 PDF是我希望 PDF 得到保护的方式。我意识到使用不同的操作系统/PDF 查看器可以轻松绕过这些安全措施,但我仍然需要它们来满足这个要求。

注意:我不想为获得这些证券而支付 Adob​​e 认证订阅费用。特别是因为它正在为虚假安全付出代价。

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

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

例如,“net.sf.jasperreports.export.pdf.encrypted”属性设置为 false。在导出选项中选择 pdf 加密时,这不会更改为 true。我在 iReport 上手动更改了此设置,无法打开任何生成的报告,并且恢复默认设置不起作用。我不得不重新安装 iReports 来解决这个问题,所以如果您尝试更改这些属性,请小心。

4

1 回答 1

1

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);

参考链接

于 2015-03-23T09:02:39.410 回答