Prawn
Greitas PDF generavimas naudojant atvirojo kodo Ruby biblioteką
Nemokama Ruby PDF API, leidžianti programuotojams kurti ir keisti PDF failus; įterpti, redaguoti grafiką ir piešti tekstą PDF puslapyje „Ruby Apps“.
Portable Document Format (PDF) yra labai populiarus patikimas ir saugus failų formatas, skirtas failams pateikti, dalytis ir spausdinti visame pasaulyje. Atvirojo kodo „Ruby“ biblioteka „Prawn“ suteikė visas funkcijas, skirtas darbui su PDF dokumentais naudojant „Ruby“ biblioteką. Biblioteka labai paprasta naudotis ir gerai dokumentuota, todėl kūrėjo darbas yra lengvas. Tai padeda kūrėjams lengvai sukurti labai lanksčią PDF dokumentų generavimo sistemą.
„Prawn“ bibliotekoje yra keletas svarbių funkcijų, kurios leidžia programinės įrangos kūrėjams lengvai tvarkyti savo PDF dokumentus, pvz., PDF kūrimas nuo nulio, PNG ir JPG vaizdų įterpimas, vektorinio piešinio pridėjimas prie PDF, integruotų šriftų ir TrueType šriftų naudojimas, šifravimo palaikymas. , saugus PDF dokumentas naudojant slaptažodį, teksto atvaizdavimo palaikymas, UTF-8 pagrįstų šriftų palaikymas, teksto atvaizdavimas iš dešinės į kairę, kontūrų palaikymas ir daug daugiau.
Darbo su krevetėmis pradžia
Norėdami įdiegti "Prawn" savo sistemoje, paleiskite šią komandą,
Įdiekite Prawn per RubyGems
gem install prawn
Kurkite PDF failus naudodami Ruby biblioteką
Atvirojo kodo „Ruby“ biblioteka „Prawn“ leidžia programinės įrangos kūrėjams programiškai kurti PDF dokumentus naudojant keletą „Ruby“ kodo eilučių. Biblioteka pateikė 3 skirtingus PDF dokumentų kūrimo būdus su numatytaisiais nustatymais ir šriftais. Tai yra priskyrimas, numanomas blokas arba aiškus blokavimas. Sukūrę galėsite lengvai pasiekti ir keisti kiekvieną PDF dokumento dalį. Galite lengvai pridėti naują puslapį, nustatyti puslapio dydį ir paraštes, pakeisti šrifto stilius, pritaikyti formatavimą ir dar daugiau.
Sukurti ir pateikti PDF failą per 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
Įterpti ir redaguoti grafiką PDF failuose
„Prawn“ biblioteka suteikia programinės įrangos kūrėjams galią įtraukti vektorinius brėžinius į savo PDF dokumentus naudojant „Ruby“ kodą. Kūrėjai gali lengvai nubrėžti linijas, daugiakampius, kreives, apskritimus ir pan. į bet kurią pasirinktą vietą PDF puslapyje. Bibliotekoje yra keletas svarbių funkcijų, skirtų darbui su grafika, pvz., užpildymo spalvos, brūkšnelių stilių ir raštų taikymas, linijos storio nustatymas ir spalvų pritaikymas jai, mišraus režimo naudojimas, transformacijos, skaidrumo taikymas ir pan.
Vaizdų naudojimas PDF dokumentuose
Atvirojo kodo „Ruby“ biblioteka „Prawn“ palaiko vaizdų įterpimą į PDF failus naudojant „Ruby“ komandas. Šiuo metu biblioteka palaiko JPEG ir PNG vaizdus. Yra keletas svarbių funkcijų, skirtų vaizdams tvarkyti PDF faile, pvz., padėties reguliavimas, vaizdo mastelio palaikymas, vaizdo pločio ir aukščio nustatymas atskirai, vaizdo pritaikymas proporcingai ir pan.
Sukurkite vaizdą ir mastelį, kad tilptų į PDF naudodami 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
Teksto piešimas pdf puslapyje
„Prawn“ biblioteka leidžia programinės įrangos profesionalams lengvai piešti tekstą PDF puslapyje savo „Ruby“ programoje. Galite lengvai pradėti piešti tekstą nurodytoje PDF puslapio vietoje. Galite lengvai reguliuoti teksto padėtį, pasukti tekstą pagal savo poreikius, taikyti šrifto dydį, vienos eilutės ir kelių eilučių palaikymą ir dar daugiau.
Nupieškite tekstą PDF puslapyje per Ruby biblioteką
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