HexaPDF

 
 

مكتبة روبي مفتوحة المصدر لمعالجة ملفات PDF

قم بإنشاء وتعديل مستندات PDF ودمج ملفات PDF وتقليل حجم ملفات PDF وإضافة التعليقات التوضيحية واستخراج الصور والنص عبر مكتبة Ruby المجانية مفتوحة المصدر.

تنسيق المستندات المحمولة ( PDF ) هو تنسيق ملف متعدد الأنظمة الأساسية يمكن استخدامه لمشاركة المستندات وعرضها في شكل إلكتروني مستقل عن البرنامج أو الجهاز أو نظام التشغيل. HexaPDF هي مكتبة PDF مفتوحة المصدر تتيح لمطوري البرامج إنشاء تطبيقات قوية للعمل مع مستندات PDF باستخدام كود Ruby. يسهل على المطورين إنشاء ملفات PDF من البداية بأقل جهد.

HexaPDF هي مكتبة روبي خالصة تم تصميمها لتوفير سهولة الاستخدام وتحسين الأداء. تضمنت المكتبة العديد من الميزات المهمة المتعلقة بإنشاء مستندات PDF بالإضافة إلى التلاعب مثل فتح وقراءة ملفات PDF الموجودة وتعديل ملفات PDF الحالية والمعلومات الوصفية واستخراج النص واستخراج الصور والملفات من ملفات PDF ودمج ملفات PDF وتشفير أو فك تشفير PDF الملفات ، وتحسين ملفات PDF لصغر حجم الملفات وغيرها الكثير.

تدعم المكتبة بشكل كامل طبقة عالية المستوى لإنشاء مستند من عناصر فردية مثل الرؤوس والفقرات والروابط والنص المحدد والمزيد. يتم ضبط هذه العناصر تلقائيًا وتخصيصها ويمكن تعديلها وفقًا لاحتياجاتك. يمكنك إضافة أنواع عناصر إضافية بسهولة.

Previous Next

الشروع في العمل مع HexaPDF

من أجل الاستخدام السلس لمكتبة HexaPDF ، فإن الخطوة الأولى المهمة هي تثبيتها. الطريقة الموصى بها للتثبيت هي باستخدام Rubygem. الرجاء استخدام الأمر التالي.

قم بتثبيت HexaPDF باستخدام Rubygem

 $ gem install hexapdf 

قم بإنشاء ملفات PDF جديدة باستخدام مكتبة روبي

توفر مكتبة PDF مفتوحة المصدر HexaPDF وظائف كاملة لإنشاء مستندات PDF جديدة من البداية باستخدام بضعة أوامر من Ruby. أنت بحاجة إلى نسخة وثيقة فارغة لإنشاء PDF. بمجرد إنشاء ملف PDF الفارغ الآن ، من الممكن إضافة صفحات جديدة إليه ورسم خطوط ومنحنيات ومستطيلات وإدراج نص وتطبيق الألوان عليه. يمكنك أيضًا ضبط حجم الخط وتطبيق ألوان وتأثيرات مختلفة عليه.

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

 
  require 'hexapdf'
  doc = HexaPDF::Document.new
  canvas = doc.pages.add.canvas
  canvas.font('Helvetica', size: 100)
  canvas.text("Hello World!", at: [20, 400])
  doc.write("hello_world.pdf", optimize: true)

دمج ملفات PDF عبر روبي

مكتبة PDF المجانية HexaPDF تجعل من السهل على مبرمجي البرامج دمج مستندات PDF الخاصة بهم باستخدام كود Ruby. يمكن دمج ملفات PDF بطرق مختلفة. إحدى الطرق البسيطة هي استيراد الصفحات من الملفات المصدر إلى الملفات الهدف. والذي سيحافظ على محتويات الصفحة ومن ثم يمكن تطبيق أمر الدمج لدمج الملفات. لدمج أكثر تعقيدًا ، يرجى استخدام الأمر الثنائي HexaPDF.

دمج ملفات PDF باستخدام HexaPDF

 
  # imports pages of the source files into the target file. Preserves the page contents themselves.
  require 'hexapdf'
  target = HexaPDF::Document.new
  ARGV.each do |file|
  pdf = HexaPDF::Document.open(file)
  pdf.pages.each {|page| target.pages << target.import(page)}
  end
  target.write("2.merging.pdf", optimize: true) 

تحسين حجم PDF عبر مكتبة روبي

تساعد مكتبة PDF مفتوحة المصدر HexaPDF محترفي البرامج على تقليل حجم مستندات PDF داخل تطبيقات Ruby. هناك أنواع مختلفة من الأساليب التي يمكن استخدامها لتحسين حجم ملف PDF مثل إزالة الكائنات غير المستخدمة والمحذوفة ، واستخدام تدفقات الكائنات والمراجع التبادلية وإعادة ضغط تدفقات محتوى الصفحة ، والإعداد الفرعي للخط ، والدمج أو الكائن ، وما إلى ذلك.

قراءة وتحسين ملفات PDF عبر Ruby


  // Optimize PDF Size
  require 'hexapdf'
  HexaPDF::Document.open(ARGV.shift) do |doc|
  doc.task(:optimize, compact: true, object_streams: :generate,
      compress_pages: false)
  doc.write('optimizing.pdf')
  end 

تشفير PDF ودعم فك التشفير

تتيح مكتبة HexaPDF للمطورين تأمين مستندات PDF الخاصة بهم من خلال تطبيق التشفير باستخدام كود Ruby. يحتوي ملف PDF على دعم مدمج لتأمينها عن طريق تشفير المحتوى وتعيين حقوق الاستخدام. أثناء تشفير PDF ، يتم تشفير كل السلاسل وتدفقات البايت ويتم استثناء دفق البيانات الأولية بحيث يمكن استخراجه أثناء تحليل ملف PDF. لذلك يجب على أي شخص مهتم بمشاهدة مستندات PDF تقديم كلمة المرور.

قم بتطبيق التوقيع الرقمي على PDF عبر Ruby

 
  // Add Digital signatures to PDF
  require 'hexapdf'
  require HexaPDF.data_dir + '/cert/demo_cert.rb'
  doc = HexaPDF::Document.open(ARGV[0])
  doc.sign("signed.pdf", reason: 'Some reason',
            certificate: HexaPDF.demo_cert.cert,
            key: HexaPDF.demo_cert.key,
            certificate_chain: [HexaPDF.demo_cert.sub_ca,
                      HexaPDF.demo_cert.root_ca])
  end 
 عربي