खोज…


उन्नत उदाहरण

यह उदाहरण के साथ उन्नत दृष्टिकोण है

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  

I कोड के ऊपर हमारे पास यह पंक्ति FundsPdf.new(@fund, view_context) । यहां हम FundsPdf वर्ग को @fund उदाहरण और view_context के साथ FundsPdf में सहायक विधियों का उपयोग करने के लिए आरंभ कर रहे हैं। FundsPdf wuld इस तरह दिखता है

 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 

यह प्रॉन रत्न का उपयोग करके कक्षाओं के साथ पीडीएफ उत्पन्न करने के लिए सबसे अच्छा तरीका है।

मूल उदाहरण

आपको मणि और पीडीएफ MIME जोड़ने की आवश्यकता है: mime_types.rb के अंदर टाइप करें क्योंकि हमें पीडीएफ माइम प्रकार के बारे में रेल को सूचित करने की आवश्यकता है।

उसके बाद हम मूल तरीकों का पालन करते हुए Praw को 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