Ruby on Rails
새우 PDF
수색…
고급 예제
이것은 예제를 사용한 고급 접근 방식입니다.
class FundsController < ApplicationController
def index
@funds = Fund.all_funds(current_user)
end
def show
@fund = Fund.find(params[:id])
respond_to do |format|
format.html
format.pdf do
pdf = FundsPdf.new(@fund, view_context)
send_data pdf.render, filename:
"fund_#{@fund.created_at.strftime("%d/%m/%Y")}.pdf",
type: "application/pdf"
end
end
end
end
위의 코드는 FundsPdf.new(@fund, view_context)
입니다. FundsPdf에서 helper 메소드를 사용하기 위해 @fund 인스턴스와 view_context로 FundsPdf 클래스를 초기화합니다. FundsPdf는 다음과 같이 보입니다.
class FundPdf < Prawn::Document
def initialize(fund, view)
super()
@fund = fund
@view = view
upper_half
lower_half
end
def upper_half
logopath = "#{Rails.root}/app/assets/images/logo.png"
image logopath, :width => 197, :height => 91
move_down 10
draw_text "Receipt", :at => [220, 575], size: 22
move_down 80
text "Hello #{@invoice.customer.profile.first_name.capitalize},"
end
def thanks_message
move_down 15
text "Thank you for your order.Print this receipt as
confirmation of your order.",
:indent_paragraphs => 40, :size => 13
end
end
이것은 새우 보석을 사용하여 클래스로 PDF를 생성하는 가장 좋은 방법 중 하나입니다.
기본 예제
Gem과 PDF MIME을 추가해야합니다. mime_types.rb를 입력하면 PDF mime 유형에 대해 레일스에 알려야합니다.
그 후 우리는 다음과 같은 기본적인 방법으로 새우로 Pdf를 생성 할 수 있습니다.
이것이 기본 과제입니다.
pdf = Prawn::Document.new
pdf.text "Hello World"
pdf.render_file "assignment.pdf"
암시 적 블록으로 처리 할 수 있습니다.
Prawn::Document.generate("implicit.pdf") do
text "Hello World"
end
명시 적 블록 사용
Prawn::Document.generate("explicit.pdf") do |pdf|
pdf.text "Hello World"
end
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow