2016-04-07 8 views
0

私は、ある時点でダウンロードされたPDFを持っているレールアプリを持っています。しかし、私が抱えていた問題は、自分のpdfファイルのフッタにページ番号を追加することです。私はreport_pdf_service.rbと呼ばれるファイルでPDFを生成しています。本質的にファイルが行うのは、htmlに変換される他のメソッドを呼び出すpdfメソッドを呼び出すことです。カスタムPDFファイルにページ番号がある。 (レール)

def pdf(admin_fields = false) 
    html << footer 
    html << page_count 
    html << '</body></html>' 
    PDFKit.new(html).to_pdf 
end 


def footer 
    "".tap do |html| 
     html << <<-HTML 
     <div> 
     <div>Player ID: #{@report.player.id}</div> 
     <div>Player Name: #{@report.player.name} </div> 
     </div> 
    HTML 
    end 
end 

ここに私が試したことがあります。私はこれを行うには、PDFKitの宝石で作業を試み、少しのグーグルを行っているが、あまりにも多くの成功を収めていない。私は<meta />{:name => 'pdfkit-footer_right', :content => "[page]"}をhtml内に追加しようとしました。 (右のhtmlでの選手の名前エントリ.....運以下)

私は新しい方法に

def page_count 
    reader = PDFKit.new(html).to_pdf 
    reader.page_count 
end 

を作成してみました....その後、フッターの方法でこれを呼び出して、まだI作成しようとしたメソッドの定義されていないメソッドエラーを取得し続けます。誰がどのようにこれがうまくいくか考えているだろうか?

答えて

0

この問題を扱った夜の後、私はこの問題を解決しました。

PDFKit gemの仕組みは、htmlフィールドにメタを追加することで解決します。

html << %{<meta name='pdfkit-footer_right' content="Page [page] of [toPage]">} 

はまた、私はpdfkitsについても同様に非常に有用であることが判明し、このブログを見つけました。 http://metaskills.net/2011/03/20/pdfkit-overview-and-advanced-usage/

関連する問題