В моем проекте мне нужно работать с отчетами 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?