是否可以防止用户在iOS设备上复制PDF文件的内容?
要详细说明此查询的背景,我有一个应用程序正在下载PDF并将其显示在浏览器中。该文件由 .NET Core 网络api提供,并且在 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));
}