تشفير PDF في Node.js

تشفير ملف PDF باستخدام كلمة مرور المستخدم أو المالك

إذا كنت تُرسل بريدًا إلكترونيًا إلى شخص ما يحتوي على مرفق PDF يحمل معلومات سرية، قد ترغب في إضافة بعض الأمان إليه أولاً لمنع سقوطه في الأيدي الخاطئة. أفضل طريقة للحد من الوصول غير المصرح به إلى مستند PDF هي حمايته بكلمة مرور. لتشفير المستندات بسهولة وبأمان، يمكنك استخدام Aspose.PDF for Node.js عبر C++.

يرجى تحديد كلمات مرور مختلفة للمستخدم والمالك أثناء تشفير ملف PDF.

  • كلمة مرور المستخدم، إذا تم تعيينها، هي ما تحتاج إلى تقديمه لفتح ملف PDF. سيطلب Acrobat/Reader من المستخدم إدخال كلمة مرور المستخدم. إذا لم تكن صحيحة، لن يتم فتح المستند.
  • كلمة مرور المالك، إذا تم تعيينها، تتحكم في الصلاحيات، مثل الطباعة، التحرير، الاستخراج، التعليق، إلخ. سيمنع Acrobat/Reader هذه الأمور بناءً على إعدادات الصلاحيات. سيطلب Acrobat هذه كلمة المرور إذا أردت تعيين/تغيير الصلاحيات.

في حال رغبتك في تشفير ملف PDF، يمكنك استخدام AsposePdfEncrypt دالة. إذا أردت تشفير ملف PDF، جرّب مقتطف الشيفرة التالي:

CommonJS:

  1. اتصال require و استيراد asposepdfnodejs الوحدة كـ AsposePdf متغيّر.
  2. حدِّد اسم ملف الـ PDF الذي سيتم تشفيره.
  3. اتصال AsposePdf كـ Promise وتنفيذ العملية لتشفير الملف. استلم الكائن إذا كان ناجحًا.
  4. استدعِ الـ AsposePdfEncrypt دالة.
  5. قم بتشفير ملف PDF باستخدام كلمتي المرور “user” و “owner”.
  6. وبالتالي، إذا كان ‘json.errorCode’ يساوي 0، يتم حفظ نتيجة العملية في “ResultEncrypt.pdf”. إذا لم يكن معامل json.errorCode يساوي 0، وبالتالي ظهر خطأ في ملفك، فإن معلومات الخطأ ستكون موجودة في ‘json.errorText’.

  const AsposePdf = require('asposepdfnodejs');
  const pdf_file = 'Aspose.pdf';
  AsposePdf().then(AsposePdfModule => {
      /*Encrypt a PDF-file with passwords "user" and "owner", and save the "ResultEncrypt.pdf"*/
      const json = AsposePdfModule.AsposePdfEncrypt(pdf_file, "user", "owner", AsposePdfModule.Permissions.PrintDocument, AsposePdfModule.CryptoAlgorithm.RC4x40, "ResultEncrypt.pdf");
      console.log("AsposePdfEncrypt => %O", json.errorCode == 0 ? json.fileNameResult : json.errorText);
  });

هناك مختلفة أذونات التشفير:

  • Module.Permissions.PrintDocument
  • Module.Permissions.ModifyContent
  • Module.Permissions.ExtractContent
  • Module.Permissions.ModifyTextAnnotations
  • Module.Permissions.FillForm
  • Module.Permissions.ExtractContentWithDisabilities
  • Module.Permissions.AssembleDocument
  • Module.Permissions.PrintingQuality

هناك عدة خوارزميات التشفير:

  • Module.CryptoAlgorithm.RC4x40
  • Module.CryptoAlgorithm.RC4x128
  • Module.CryptoAlgorithm.AESx128
  • Module.CryptoAlgorithm.AESx256

ECMAScript/ES6:

  1. استيراد asposepdfnodejs وحدة.
  2. حدد اسم ملف PDF الذي سيغير التشفير.
  3. ابدأ وحدة AsposePdf. استلم الكائن إذا نجح.
  4. استدعِ الـ AsposePdfEncrypt دالة.
  5. فك تشفير ملف PDF باستخدام كلمتي المرور “user” و “owner”.
  6. وبالتالي، إذا كان ‘json.errorCode’ يساوي 0، يتم حفظ نتيجة العملية في “ResultEncrypt.pdf”. إذا لم يكن معامل json.errorCode يساوي 0، وبالتالي ظهر خطأ في ملفك، فإن معلومات الخطأ ستكون موجودة في ‘json.errorText’.

  import AsposePdf from 'asposepdfnodejs';
  const AsposePdfModule = await AsposePdf();
  const pdf_file = 'Aspose.pdf';
  /*Encrypt a PDF-file with passwords "user" and "owner", and save the "ResultEncrypt.pdf"*/
  const json = AsposePdfModule.AsposePdfEncrypt(pdf_file, "user", "owner", AsposePdfModule.Permissions.PrintDocument, AsposePdfModule.CryptoAlgorithm.RC4x40, "ResultEncrypt.pdf");
  console.log("AsposePdfEncrypt => %O", json.errorCode == 0 ? json.fileNameResult : json.errorText);