在我的项目中,我必须处理jasper报告才能生成动态pdf,其中一项要求是不允许用户从pdf复制文本,但允许打印,因此添加了以下代码,如下所示
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRPdfExporterParameter.IS_ENCRYPTED, Boolean.TRUE);
exporter.setParameter(JRPdfExporterParameter.IS_128_BIT_KEY, Boolean.TRUE);
exporter.setParameter(JRPdfExporterParameter.PERMISSIONS, new Integer(PdfWriter.ALLOW_SCREENREADERS | PdfWriter.ALLOW_PRINTING));
在chrome,firefox和iOS 11上应该执行什么操作,但是在iOS 12上允许用户再次复制文本。 因此,我尝试设置不同的权限,例如不允许打印,该权限可以工作,但根本无法打印文档,这违反了要求。
我还试图取消这样的权限,这是行不通的
exporter.setParameter(JRPdfExporterParameter.PERMISSIONS, new Integer(~PdfWriter.ALLOW_COPY | PdfWriter.ALLOW_PRINTING));
我应该设置任何其他类型的权限,还是iOS方面的问题?