1

Rails 2.3.8 を使用してアプリケーションを開発しているときに問題が発生しました。私の問題はpdfにあります。PDFを生成すると、Linuxのすべての画像が表示されます(ubuntu)

しかし、windows7で試したときと同じコードで、pdfが本文に画像を表示していません。ヘッダーとフッターの画像が読み込まれています。レイアウトのヘッダーとフッター。私はpdf生成にwickedpdfを使用しています。私のコードは

<%= wicked_pdf_image_tag "#{Rails.root}/public/images/master_student/profile/default_student.png" ,:width=>85,:height=>100 %>

コードはubuntuでは正常に動作しますが、windows7では動作しません..助けてください

4

1 に答える 1

1

WickedPDF の wicked_pdf_image_tag ヘルパーでは、画像が public/images にある必要があるため、Paperclip を介してアップロードされた画像を使用して、Windows で同様の問題を解決しました。

その問題に対してここに記載されている解決策を使用しましたが、それでも画像を PDF にレンダリングできませんでした。次に、画像を public/images フォルダーに入れてそのように参照すると、wicked_pdf_image_tag ヘルパーが「file://」の後にバックスラッシュではなくスラッシュを使用して画像タグをレンダリングすることを発見しました。

これは、私が最終的に得たヘルパー メソッドで、wicked_pdf_image_tag を置き換えます。

module ApplicationHelper
  def wicked_pdf_image_tag_for_public(img, options={})
    if img[0] == "/"
      # Remove the leading slash
      new_image = img.slice(1..-1)
      image_tag "file:///#{Rails.root.join('public', new_image).to_s.gsub("/", "\\")}"
    else
      image_tag "file://#{Rails.root.join('public', 'images', img).to_s.gsub("/", "\\")}}", options
    end
  end
end
于 2013-11-26T06:20:19.440 に答える