Prawn
Geração rápida de PDF por meio da biblioteca Ruby de código aberto
API Ruby PDF gratuita que permite aos programadores criar e modificar arquivos PDF; inserir, editar gráficos e desenhar texto em uma página PDF dentro do Ruby Apps.
O Portable Document Format (PDF) é um formato de arquivo confiável e seguro muito popular para apresentação, compartilhamento e impressão de arquivos em todo o mundo. A biblioteca Ruby de código aberto Prawn forneceu funcionalidade completa para trabalhar com documentos PDF usando a biblioteca Ruby. A biblioteca é muito fácil de usar e bem documentada, facilitando o trabalho do desenvolvedor. Ele ajuda os desenvolvedores a criar um sistema de geração de documentos PDF altamente flexível com facilidade.
A biblioteca Prawn inclui vários recursos importantes que permitem que os desenvolvedores de software manipulem seus documentos PDF com facilidade, como criação de PDF a partir do zero, incorporação de imagens PNG e JPG, adicionar desenho vetorial a PDF, usar fontes integradas e fontes TrueType, suporte a criptografia , documento PDF seguro usando uma senha, suporte a renderização de texto, suporte a fontes baseadas em UTF-8, renderização de texto da direita para a esquerda, suporte a contornos e muito mais.
Primeiros passos com camarão
Para instalar o Camarão em seu sistema, execute o seguinte comando,
Instale o Camarão via RubyGems
gem install prawn
Crie arquivos PDF através da biblioteca Ruby
A biblioteca Ruby de código aberto Prawn permite que desenvolvedores de software criem documentos PDF programaticamente usando algumas linhas de código Ruby. A biblioteca fornece 3 maneiras diferentes para a criação de documentos PDF com configurações e fontes padrão. Estes são por atribuição, bloco implícito ou bloco explícito. Uma vez criado, você pode acessar e modificar facilmente cada parte do seu documento PDF. Você pode facilmente adicionar uma nova página, definir o tamanho da página e as margens, alterar estilos de fonte, aplicar formatação e muito mais.
Criar e renderizar arquivo PDF via 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
Inserir e editar gráficos dentro de PDFs
A biblioteca Prawn oferece aos desenvolvedores de software o poder de adicionar desenhos vetoriais em seus documentos PDF usando código Ruby. Os desenvolvedores podem facilmente desenhar linhas, polígonos, curvas, círculos, etc. para qualquer lugar de sua escolha em uma página PDF. A biblioteca inclui várias funções importantes para trabalhar com gráficos, como cores de preenchimento, aplicar estilos e padrões de traço, definir a espessura da linha e aplicar cores a ela, usar o modo mesclado, aplicar transformação e transparência e assim por diante.
Usando imagens em documentos PDF
A biblioteca Ruby de código aberto Prawn fornece suporte para inserir imagens em seus arquivos PDF usando comandos Ruby. Atualmente, a biblioteca inclui suporte para imagens JPEG e PNG. Existem vários recursos importantes fornecidos para gerenciar suas imagens dentro de um arquivo PDF, como ajuste de posição, suporte a dimensionamento de imagem, configuração de largura e altura da imagem separadamente, ajuste de imagem proporcional e assim por diante.
Gerar imagem e dimensionar para caber em PDF via 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
Texto de desenho na página PDF
A biblioteca Prawn permite que profissionais de software desenhem texto em uma página PDF dentro de seu aplicativo Ruby com facilidade. Você pode facilmente começar a desenhar texto em uma posição específica de uma página PDF. Você pode facilmente ajustar a posição do texto, girar o texto de acordo com suas necessidades, aplicar o tamanho da fonte, suporte para linha única e várias linhas e muito mais.
Desenhar texto na página PDF via biblioteca 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