Можно ли как-то запретить пользователю копировать содержимое файла PDF на устройства iOS?
Чтобы немного подробнее рассказать об истории этого запроса, у меня есть приложение, которое загружает PDF иотображать его в браузере. Файл предоставляется веб-интерфейсом .NET Core , и клиент, который его обслуживает, разрабатывается в Angular .
На уровне API, который я использую iTextSharp для шифрования и установки разрешений для него (только разрешение на печать). Это работает без каких-либо проблем на рабочем столе, но не на устройствах iOS.
Если кто-нибудь может мне помочь, я был бы благодарен.
ОБНОВЛЕНИЕ
Метод шифрования .NET Core
public byte[] EncryptPdf(byte[] bytes, string encryptionKey)
{
using (var ms = new MemoryStream())
{
using (var reader = new PdfReader(bytes))
using (var stamper = new PdfStamper(reader, ms))
{
stamper.SetEncryption(null, Encoding.ASCII.GetBytes(encryptionKey),
PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);
stamper.Close();
}
return ms.ToArray();
}
}
Угловой фрагмент для обработки BLOB-объектов
downloadFile(data: any) {
var windowUrl = window.URL || (window as any).webkitURL;
if (navigator.msSaveOrOpenBlob) {
navigator.msSaveOrOpenBlob(data.body, this.getFileName(data));
return;
} else if (navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPhone/i)) {
const url = windowUrl.createObjectURL(data.body);
window.location.href = url;
return;
}
saveAs(data.body, this.getFileName(data));
}