Prawn
Szybkie generowanie plików PDF za pośrednictwem biblioteki Ruby Open Source
Darmowy interfejs API Ruby PDF, który umożliwia programistom tworzenie i modyfikowanie plików PDF; wstawiaj, edytuj grafikę i rysuj tekst na stronie PDF w aplikacjach Ruby.
Portable Document Format (PDF) to bardzo popularny, niezawodny i bezpieczny format plików do prezentacji, udostępniania i drukowania plików na całym świecie. Biblioteka Ruby o otwartym kodzie źródłowym Prawn zapewnia pełną funkcjonalność do pracy z dokumentami PDF przy użyciu biblioteki Ruby. Biblioteka jest bardzo łatwa w użyciu i dobrze udokumentowana, co ułatwia pracę programisty. Pomaga programistom w łatwym tworzeniu wysoce elastycznego systemu generowania dokumentów PDF.
Biblioteka Prawn zawiera kilka ważnych funkcji, które umożliwiają programistom łatwą obsługę dokumentów PDF, takich jak tworzenie plików PDF od podstaw, osadzanie obrazów PNG i JPG, dodawanie rysunków wektorowych do plików PDF, korzystanie z wbudowanych czcionek i czcionek TrueType, obsługa szyfrowania , bezpieczny dokument PDF za pomocą hasła, obsługa renderowania tekstu, obsługa czcionek opartych na UTF-8, renderowanie tekstu od prawej do lewej, obsługa konturów i wiele innych.
Pierwsze kroki z Krewetką
Aby zainstalować Prawn w swoim systemie, uruchom następujące polecenie,
Zainstaluj Krewetkę przez RubyGems
gem install prawn
Twórz pliki PDF za pomocą biblioteki Ruby
Otwarta biblioteka Ruby Prawn umożliwia programistom programistyczne tworzenie dokumentów PDF przy użyciu kilku linijek kodu Rubiego. Biblioteka zapewnia 3 różne sposoby tworzenia dokumentów PDF z domyślnymi ustawieniami i czcionkami. Są to poprzez przypisanie, blok niejawny lub blok jawny. Po utworzeniu możesz łatwo uzyskać dostęp i modyfikować każdą część dokumentu PDF. Możesz łatwo dodać nową stronę, ustawić rozmiar strony i marginesy, zmienić style czcionek, zastosować formatowanie i wiele więcej.
Twórz i renderuj plik PDF przez 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
Wstaw i edytuj grafikę w plikach PDF
Biblioteka Prawn daje programistom możliwość dodawania rysunków wektorowych do swoich dokumentów PDF za pomocą kodu Ruby. Programiści mogą łatwo rysować linie, wielokąty, krzywe, okręgi itp. w dowolnym miejscu na stronie PDF. Biblioteka zawiera kilka ważnych funkcji do pracy z grafiką, takich jak kolory wypełnienia, stosowanie stylów i deseni kreski, ustawianie grubości linii i stosowanie do niej koloru, używanie trybu mieszanego, stosowanie transformacji, a także przezroczystość i tak dalej.
Używanie obrazów w dokumentach PDF
Biblioteka Open Source Ruby Prawn zapewniła obsługę wstawiania obrazów do plików PDF za pomocą poleceń Ruby. Obecnie biblioteka zawiera obsługę obrazów JPEG i PNG. Dostępnych jest kilka ważnych funkcji zarządzania obrazami w pliku PDF, takich jak dostosowywanie pozycji, obsługa skalowania obrazu, oddzielne ustawianie szerokości i wysokości obrazu, proporcjonalne dopasowywanie obrazu i tak dalej.
Generuj obraz i skaluj, aby zmieścić się w pliku PDF za pomocą 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
Rysowanie tekstu na stronie PDF
Biblioteka Prawn umożliwia profesjonalistom oprogramowania z łatwością rysowanie tekstu na stronie PDF w ich aplikacji Ruby. Możesz łatwo rozpocząć rysowanie tekstu w określonym miejscu na stronie PDF. Możesz łatwo dostosować pozycję tekstu, obrócić tekst zgodnie ze swoimi potrzebami, zastosować rozmiar czcionki, obsługę pojedynczych i wielu linii oraz wiele więcej.
Rysuj tekst na stronie PDF za pomocą biblioteki 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