HexaPDF
کتابخانه روبی منبع باز برای پردازش PDF
اسناد PDF را ایجاد و تغییر دهید، فایلهای PDF را ادغام کنید، اندازه فایلهای PDF را کاهش دهید، حاشیهنویسی اضافه کنید، تصاویر و متن را از طریق کتابخانه رایگان روبی منبع باز استخراج کنید.
فرمت سند قابل حمل (PDF) یک فرمت فایل چند پلتفرمی است که می تواند برای اشتراک گذاری و نمایش اسناد به شکل الکترونیکی مستقل از نرم افزار، سخت افزار یا سیستم عامل استفاده شود. HexaPDF یک کتابخانه PDF منبع باز است که به توسعه دهندگان نرم افزار اجازه می دهد تا برنامه های قدرتمندی را برای کار با اسناد PDF با استفاده از کد Ruby ایجاد کنند. این به توسعه دهندگان کمک می کند تا با حداقل تلاش، فایل های PDF را از ابتدا ایجاد کنند.
HexaPDF یک کتابخانه Ruby خالص است که برای سهولت استفاده و بهبود عملکرد طراحی شده است. این کتابخانه دارای چندین ویژگی مهم مربوط به تولید اسناد PDF و همچنین دستکاری مانند باز کردن و خواندن PDF های موجود، اصلاح فایل های PDF موجود، متا اطلاعات و استخراج متن، استخراج تصاویر و فایل ها از PDF، ادغام فایل های PDF، رمزگذاری یا رمزگشایی PDF است. فایلها، بهینهسازی فایلهای PDF برای حجم فایلهای کوچکتر و بسیاری موارد دیگر.
این کتابخانه به طور کامل از یک لایه سطح بالا برای نوشتن یک سند از عناصر جداگانه مانند سرصفحه ها، پاراگراف ها، پیوندها، متن تاکید شده و موارد دیگر پشتیبانی می کند. این عناصر به طور خودکار تنظیم، سفارشی می شوند و می توانند بر اساس نیاز شما تغییر کنند. شما می توانید انواع عناصر اضافی را به راحتی اضافه کنید.
شروع کار با HexaPDF
برای استفاده راحت از کتابخانه HexaPDF اولین قدم مهم نصب آن است. روش توصیه شده برای نصب استفاده از Rubygem است. لطفا از دستور زیر استفاده کنید.
HexaPDF را با استفاده از Rubygem نصب کنید
$ gem install hexapdf
با استفاده از Ruby Library فایل های 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 از طریق Ruby
کتابخانه 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 را از طریق Ruby Library بهینه کنید
کتابخانه 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 است باید رمز عبور را ارائه دهد.
امضای دیجیتال را از طریق Ruby به PDF اعمال کنید
// 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