推荐项目:Prawn Rails

推荐项目:Prawn Rails

prawn-rails Prawn Handler for Rails. Handles and registers pdf formats. 项目地址: https://gitcode.com/gh_mirrors/pr/prawn-rails

项目简介

Prawn Rails 是一个基于 Ruby on Rails 的 PDF 渲染库,它提供了简单的 API 和灵活的定制选项,让你可以轻松地为你的 Rails 应用程序生成高质量的 PDF 文档。

功能特性

  • 使用简单的 DSL 定义 PDF 布局和样式
  • 支持多种字体、颜色、图像和图形
  • 可以嵌入 HTML 和 CSS,实现更复杂的布局和样式
  • 提供了丰富的文本格式化选项,如列表、表格和段落
  • 可以自定义页眉、页脚和分页符
  • 可以在生成的 PDF 中添加交互式表单元素
  • 支持直接导出到 PDF 或通过 HTTP 发送到客户端浏览器

使用场景

Prawn Rails 可以用于各种需要生成 PDF 文件的场景,例如:

  • 生成发票、收据和报告
  • 创建产品手册、用户指南和技术文档
  • 设计营销材料、传单和宣传册
  • 生成证书、奖状和证明文件
  • 创建可打印的工作簿、测试题和问卷调查

开始使用

要在你的 Rails 项目中使用 Prawn Rails,首先你需要安装 gem:

gem 'prawn-rails'

然后,你可以创建一个新的 PDF 模型,并使用 Prawn Rails 的 DSL 来定义布局和样式:

class InvoicePdf < Prawn::Document
  def initialize(invoice)
    super()
    @invoice = invoice
    
    # 定义页面大小和边距
    size A4, margins: 20
    
    # 添加页眉和页脚
    header do
      text "Invoice ##{@invoice.id}", style: :bold, align: :center
    end
    footer do
      text "#{Time.current.strftime('%Y-%m-%d')}", align: :right
    end
    
    # 添加主要内容
    move_down 20
    text "Company Name", style: :bold
    text "Address Line 1"
    text "Address Line 2"
    start_new_page
    text "Invoice Details:", style: :bold
    table([["Item", "Description", "Quantity", "Price"], @invoice.line_items.map { |li| [li.product.name, li.description, li.quantity, li.price] }], headers: true) do
      row(0).font_style = :bold
      columns(3..-1).align = :right
    end
    move_down 20
    total_price = @invoice.line_items.sum(&:total_price)
    text "Total: $#{total_price}", style: :bold, align: :right
  end
end

最后,你可以在控制器中实例化 PDF 模型,并将其发送给客户端浏览器:

class InvoicesController < ApplicationController
  def show
    @invoice = Invoice.find(params[:id])
    respond_to do |format|
      format.pdf do
        pdf = InvoicePdf.new(@invoice)
        send_data pdf.render, filename: "invoice_#{@invoice.id}.pdf", type: "application/pdf"
      end
    end
  end
end

这就是一个基本的示例,展示了如何使用 Prawn Rails 来生成一份包含公司信息、商品清单和总价的发票。你可以根据自己的需求进行定制和扩展,以满足更多的业务场景。

结语

如果你正在寻找一个简单易用、功能强大的 PDF 渲染库,那么不妨试试 Prawn Rails。它可以帮助你快速地为你的 Rails 应用程序开发出高质量的 PDF 文档,节省时间并提高效率。现在就去尝试一下吧!

prawn-rails Prawn Handler for Rails. Handles and registers pdf formats. 项目地址: https://gitcode.com/gh_mirrors/pr/prawn-rails

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乌昱有Melanie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值