首页 > 解决方案 > JasperReports 在 iOS 12 上的权限问题

问题描述

在我的项目中,我必须处理 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方面的问题?

标签: javaiosjasper-reportsexport-to-pdf

解决方案


推荐阅读