Prawn
Швидке створення PDF-файлів за допомогою бібліотеки Ruby з відкритим кодом
Безкоштовний Ruby PDF API, який дозволяє програмістам створювати та змінювати PDF-файли; вставляти, редагувати графіку та малювати текст на сторінці PDF у Ruby Apps.
Портативний формат документів (PDF) — це дуже популярний надійний і безпечний формат файлів для представлення, спільного використання та друку файлів у всьому світі. Бібліотека Ruby з відкритим кодом Prawn надала повний функціонал для роботи з PDF-документами за допомогою бібліотеки Ruby. Бібліотека дуже проста у використанні та добре задокументована, що полегшує роботу розробника. Це допомагає розробникам легко створювати дуже гнучку систему створення PDF-документів.
Бібліотека Prawn містить кілька важливих функцій, які дозволяють розробникам програмного забезпечення легко обробляти свої PDF-документи, як-от створення PDF-файлів з нуля, вбудовування зображень PNG і JPG, додавання векторних малюнків у PDF, використання вбудованих шрифтів і шрифтів TrueType, підтримка шифрування , захищений PDF-документ за допомогою пароля, підтримка відтворення тексту, підтримка шрифтів на основі UTF-8, відтворення тексту справа наліво, підтримка контурів і багато іншого.
Початок роботи з Prawn
Щоб установити Prawn у вашій системі, виконайте наступну команду:
Встановіть Prawn через RubyGems
gem install prawn
Створюйте файли PDF за допомогою бібліотеки Ruby
Бібліотека Ruby з відкритим вихідним кодом Prawn дозволяє розробникам програмного забезпечення програмно створювати PDF-документи за допомогою кількох рядків коду Ruby. Бібліотека надала 3 різні способи створення PDF-документів із налаштуваннями та шрифтами за замовчуванням. Це через призначення, неявний блок або явний блок. Після створення ви можете легко отримати доступ до кожної частини PDF-документа та змінити її. Ви можете легко додати нову сторінку, встановити розмір сторінки та поля, змінити стилі шрифту, застосувати форматування та багато іншого.
Створення та рендеринг файлу PDF через Ruby
# Using explicit block form and rendering to a file
content = "Hello World"
Prawn::Document.generate "example.pdf" do |pdf|
# self here is left alone
pdf.font "Times-Roman"
pdf.draw_text content, :at => [200,720], :size => 32
end
Вставляйте та редагуйте графіку в PDF-файлах
Бібліотека Prawn дає розробникам програмного забезпечення можливість додавати векторні малюнки у свої PDF-документи за допомогою коду Ruby. Розробники можуть легко малювати лінії, багатокутники, криві, кола тощо в будь-якому місці на сторінці PDF. Бібліотека містить кілька важливих функцій для роботи з графікою, наприклад кольори заливки, застосування стилів тире та візерунка, встановлення товщини лінії та застосування до неї кольору, використання змішаного режиму, застосування трансформації, а також прозорості тощо.
Використання зображень у PDF-документах
Бібліотека Ruby з відкритим кодом Prawn підтримує вставлення зображень у файли PDF за допомогою команд Ruby. Наразі бібліотека підтримує зображення JPEG та PNG. Існує кілька важливих функцій для керування зображеннями в PDF-файлі, як-от налаштування положення, підтримка масштабування зображення, налаштування ширини та висоти зображення окремо, пропорційне припасування зображення тощо.
Створюйте зображення та масштабуйте його відповідно до PDF-файлу через Ruby
Prawn::Document.generate("image2.pdf", :page_layout => :landscape) do
pigs = "#{Prawn::DATADIR}/images/pigs.jpg"
image pigs, :at => [50,450], :width => 450
dice = "#{Prawn::DATADIR}/images/dice.png"
image dice, :at => [50, 450], :scale => 0.75
end
Нанесення тексту на сторінку PDF
Бібліотека Prawn дозволяє професіоналам програмного забезпечення з легкістю малювати текст на сторінці PDF у своїй програмі Ruby. Ви можете легко почати малювати текст у вказаній позиції сторінки PDF. Ви можете легко регулювати положення тексту, обертати текст відповідно до ваших потреб, застосовувати розмір шрифту, підтримувати один рядок і кілька рядків і багато іншого.
Намалюйте текст на сторінці PDF за допомогою бібліотеки Ruby
def draw_text!(text, options)
unless font.unicode? || font.class.hide_m17n_warning || text.ascii_only?
warn "PDF's built-in fonts have very limited support for " \
"internationalized text.\nIf you need full UTF-8 support, " \
"consider using an external font instead.\n\nTo disable this " \
"warning, add the following line to your code:\n" \
"Prawn::Fonts::AFM.hide_m17n_warning = true\n"
font.class.hide_m17n_warning = true
end
x, y = map_to_absolute(options[:at])
add_text_content(text, x, y, options)
end