防止复制和粘贴PDF内容-iOS设备

时间:2019-11-07 18:53:21

标签: ios angular pdf asp.net-core itext

是否可以防止用户在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));
  }

0 个答案:

没有答案