![](https://products-qa.fileformat.com/ru/pdf/ruby/hexapdf/header-image.png)
HexaPDF
Библиотека Ruby с открытым исходным кодом для обработки PDF
Создавайте и изменяйте PDF-документы, объединяйте PDF-файлы, уменьшайте размер PDF-файлов, добавляйте аннотации, извлекайте изображения и текст с помощью бесплатной библиотеки Ruby с открытым исходным кодом.
Portable Document Format (PDF) — это мультиплатформенный формат файлов, который можно использовать для обмена и отображения документов в электронной форме независимо от программного обеспечения, оборудования или операционной системы. HexaPDF — это библиотека PDF с открытым исходным кодом, которая позволяет разработчикам программного обеспечения создавать мощные приложения для работы с документами PDF с использованием кода Ruby. Это позволяет разработчикам создавать PDF-файлы с нуля с минимальными усилиями.
HexaPDF — это чистая библиотека Ruby, разработанная для обеспечения простоты использования и повышения производительности. Библиотека включает несколько важных функций, связанных с созданием PDF-документов, а также с манипуляциями, такими как открытие и чтение существующих PDF-файлов, изменение существующих PDF-файлов, извлечение метаинформации и текста, извлечение изображений и файлов из PDF-файлов, объединение PDF-файлов, шифрование или расшифровка PDF-файлов. файлы, оптимизация PDF-файлов для уменьшения размера файла и многое другое.
Библиотека полностью поддерживает высокоуровневый слой для составления документа из отдельных элементов, таких как заголовки, абзацы, ссылки, выделенный текст и многое другое. Эти элементы автоматически корректируются, настраиваются и могут быть изменены в соответствии с вашими потребностями. Вы можете легко добавлять дополнительные типы элементов.
Начало работы с HexaPDF
Для беспрепятственного использования библиотеки HexaPDF первым важным шагом является ее установка. Рекомендуемый способ установки — с помощью Rubygem. Пожалуйста, используйте следующую команду.
Установите HexaPDF с помощью Rubygem
$ gem install hexapdf
Создавайте новые PDF-файлы с помощью Ruby Library
Библиотека PDF с открытым исходным кодом HexaPDF предоставляет полную функциональность для создания новых PDF-документов с нуля с помощью всего нескольких команд Ruby. Вам нужен пустой экземпляр документа для создания PDF. После того, как пустой файл PDF создан, теперь в него можно добавлять новые страницы, рисовать линии, кривые, прямоугольники, вставлять текст и применять к нему цвета. Вы также можете настроить размер линии и применить к ней различные цвета и эффекты.
Создание файлов PDF с использованием библиотеки Ruby
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-документов, должен предоставить пароль.
Применение цифровой подписи к 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