質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Q&A

解決済

1回答

3260閲覧

【Rails】wicked_pdf を導入しPDFを出力できたが、Heroku で日本語が表示されない

kwtkwt

総合スコア21

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

0グッド

0クリップ

投稿2021/10/08 08:41

編集2021/10/09 09:20

前提・実現したいこと

ローカルでPDFを出力したときは、日本語が表示されるが、Heroku で日本語のみが表示されません。
英語は正常に表示されます。

Heroku でも日本語を表示できるようにしたい。

該当のソースコード

ruby

1gem 'wicked_pdf' 2gem 'wkhtmltopdf-binary'

app/controllers/resumes_controller.rb

ruby

1class ResumesController < ApplicationController 2 3 4def show 5 @resume = Resume.find(current_user_devise.id) 6 7 @user_devise = UserDevise.find(@resume.user_devise_id) 8 9 respond_to do |format| 10 format.html 11 format.pdf do 12 render pdf: 'filename', # PDF名 13 template: 'resumes/show.html.erb', # viewを対象にする 14 orientation: 'Landscape', #  横向き 15 page_size: 'A4' # ページサイズ 16 17 end 18 end 19 end 20 21

config/routes.rb

ruby

1Rails.application.routes.draw do 2 3 get 'resumes/show', to: 'resumes#show' 4 5end

app/views/layouts/pdf_template.html.erb

ruby

1<!DOCTYPE html> 2<html> 3 <head> 4 <title>Wicked PDF</title> 5 <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 6 <%= wicked_pdf_stylesheet_link_tag 'application', 'data-turbolinks-track': 'reload' %> 7 <%= wicked_pdf_javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> 8 </head> 9 <body> 10 11 <%= yield %> 12 13 </body> 14</html>

app/views/resumes/show.html.erb
こちらのhtmlがPDFとして出力されていますが、Heroku で日本語のみ表示されません。

ruby

1<html> 2 <head> 3 4 <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 5 </head> 6 <body> 7 aaaaあああ 8 9 </body> 10</html>

試したこと

1

https://qiita.com/awakia/items/d53ab583f214703f6afa

こちらを参考にルートディレクトリの直下に、下記のフォントを入れてみました。
https://moji.or.jp/ipafont/ipaex00401/
.font/ipaexm.ttf

2
下記にも入れてみましたがダメでした...
app/assets/fonts/ipaexm.ttf

補足情報(FW/ツールのバージョンなど)

Rails 5.1.6
heroku/7.59.0 darwin-x64 node-v12.21.0

回答、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

winterboum

2021/10/09 08:48

私に解決できるかはわからないのですが、この質問だと何が問題なのかがさっぱりわからないので、 「PDFを出力」する部分のcodeを載せてください
kwtkwt

2021/10/09 09:21

回答ありがとうございます。 質問内容を修正しましたので、再度ご確認よろしくお願いいたします。
guest

回答1

0

自己解決

view にフォントが読み込まれていないのが原因でした。

ruby

1<html> 2 <head> 3 4 <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 5 6 7こちらを追加 8<style> 9html { 10 font-family: 'IPAexゴシック', 'IPA Pゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'MS Pゴシック', sans-serif; 11 } 12 </style> 13 14 15 </head> 16 <body> 17 aaaaあああ 18 19 </body> 20</html>

投稿2021/10/09 12:43

kwtkwt

総合スコア21

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問