1. 产品
  2.   PDF格式
  3.   Ruby
  4.   Prawn

Prawn

 
 

通过开源 Ruby 库快速生成 PDF

免费的 Ruby PDF API,允许程序员创建和修改 PDF 文件;在 Ruby Apps 中的 PDF 页面上插入、编辑图形和绘制文本。

便携式文档格式 (PDF) 是一种非常流行的可靠且安全的文件格式,用于在世界范围内展示、共享和打印文件。开源 Ruby 库 Prawn 提供了使用 Ruby 库处理 PDF 文档的完整功能。该库非常易于使用且文档齐全,使开发人员的工作变得轻松。它帮助开发人员轻松创建高度灵活的 PDF 文档生成系统。 

Prawn 库包含几个重要功能,使软件开发人员能够轻松处理他们的 PDF 文档,例如从头开始创建 PDF、嵌入 PNG 和 JPG 图像、将矢量绘图添加到 PDF、使用内置字体和 TrueType 字体、加密支持,  使用密码保护 PDF 文档、文本渲染支持、基于 UTF-8 的字体支持、从右到左的文本渲染、轮廓支持等等。

Previous Next

大虾入门

要在您的系统上安装 Prawn,请运行以下命令, 

通过 RubyGems 安装 Prawn

gem install prawn 

通过 Ruby 库创建 PDF 文件

开源 Ruby 库 Prawn 使软件开发人员能够使用几行 Ruby 代码以编程方式创建 PDF 文档。该库提供了 3 种使用默认设置和字体创建 PDF 文档的不同方法。这些是通过赋值、隐式块或显式块。创建后,您可以轻松访问和修改 PDF 文档的每个部分。您可以轻松添加新页面、设置页面大小和边距、更改字体样式、应用格式等等。

通过 Ruby 创建和渲染 PDF 文件


  # 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 库使软件开发人员能够使用 Ruby 代码将矢量图添加到他们的 PDF 文档中。开发人员可以轻松地将线、多边形、曲线、圆等绘制到 PDF 页面中他们选择的任何位置。该库包含几个用于处理图形的重要功能,例如填充颜色、应用虚线样式和图案、设置线条粗细并对其应用颜色、使用混合模式、应用变换以及透明度等。

在 PDF 文档中使用图像

开源 Ruby 库 Prawn 支持使用 Ruby 命令将图像插入 PDF 文件。目前,该库已包含对 JPEG 和 PNG 图像的支持。提供了几个重要的功能来管理 PDF 文件中的图像,例如调整位置、图像缩放支持、单独设置图像宽度和高度、按比例调整图像等等。

通过 Ruby 生成图像和缩放以适应 PDF


  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 库使软件专业人员能够轻松地在其 Ruby 应用程序内的 PDF 页面上绘制文本。您可以轻松地在 PDF 页面的指定位置开始绘制文本。您可以轻松调整文本位置、根据需要旋转文本、应用字体大小、支持单行和多行等等。

通过 Ruby 库在 PDF 页面上绘制文本

  
  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
 
 中国人