[Rails5] wicked_pdf 란 무엇입니까? 계속

소개



지난번 의 계속입니다.

왜 계속 됐어?



마지막 조임에

어쩌면 여기에서 먼저,
일본어 넣거나, 출력시의 레이아웃 조정 등,
여러 가지 더 어려운 일이 있다고 생각하지만,
우선은 단락으로서 일단 여기에서 단락짓습니다.

라고 말했지만,



일본어 넣으면 예상대로 깨져 버렸으니까.
(플래그 빈빈이었습니다.)

검증 환경



전회와 마찬가지지만,
다음 환경에서 실시했습니다.
[client]
・MacOS Mojave(10.14.2)
・Vagrant 2.2.2
・VBoxManage 6.0.0

[virtual]
・CentOS 7.6
・Rails 5.2.2
・ruby 2.3.1

참고까지.

wicked_pdf 탐구



1.문자화 대응

조속히 문자 깨짐의 해소를 해 갑니다.
대응으로서는 IPA로부터 일본어 폰트를 가상 환경에 돌진합니다.
$ yum install -y ipa-gothic-fonts
$ yum install -y ipa-mincho-fonts

나중에 컨트롤러에 인코딩 사양을 추가합니다.

posts_controller.rb
def show
  # とりあえず愚直に
  respond_to do |format|
    format.html
    format.pdf do
      render pdf: "sample",   # PDF名
             template: "posts/show.html.erb", # viewを対象にする
             encoding: "UTF-8" # 日本語に対応させる
    end
  end
end

그런 다음 화면을 다시로드하고,



일본어가 표시되었습니다.
좋았고 좋았습니다.

2. 눈치채고 재조정

일본어 표시 문제를 해결하고,
화면 캡처를 보고 문득 눈치챘다.



※화상은 Chrome 브라우저.
/posts/show.pdf 에서 열려있는 탓인지,
화면상에 표시되는 PDF명은 탭도 포함해, format로 지정한 옵션은 적용되지 않는군요.
제대로 다운로드시에는 "sample.pdf"가 되었기 때문에 눈치채지 못했다.

공식 README 옵션을 보았을 때,
"title"옵션의 지정으로 해소할 수 있는 것 같기 때문에 조속히 해 봅니다.

posts_controller.rb
def show
  # とりあえず愚直に
  respond_to do |format|
    format.html
    format.pdf do
      render pdf: "sample",   # PDF名
             template: "posts/show.html.erb", # viewを対象にする
             encoding: "UTF-8", # 日本語に対応させる
             title: "sample.pdf" # ブラウザ上のファイル名も合わせる
    end
  end
end



탭 쪽도 지정대로 "sample.pdf"가 되어 주었습니다.
퀘스트 클리어!

소감



또 빠질까 생각하고 히야히야하면서 착수했지만,
특히 정체없이 해결할 수 있어서 좋았다. (작은 느낌)

결론



뭔가 눈치채는 점이 있으면,
지적이나 어드바이스등 받을 수 있으면 매우 도움이 됩니다!

좋은 웹페이지 즐겨찾기