1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GhostScript 8.xで一部のフォント埋め込みpdfが変換失敗する時は9系にバージョンアップするといいかも

Last updated at Posted at 2018-06-26

TL;DR

問題: GhostScript(v8.7)で連結したPDFの、日本語のうちいくつかの文字が文字化けしてしまう…
回避策: 9.23 に上げたら直った

背景1 GhostScript で複数のPDFファイルを連結

wkhtmltopdf で何枚かのviewをPDF化し、バックグラウンドで表紙PDFと目次PDFを対象に含めて連結するみたいなことをしていた。

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=#{file_path}/#{output_file_name} #{files_str}

みたいなやつ。
環境はAWSのamazon linuxに日本語フォントはIPAゴシックのみ入れた状態。
そうすると一部の文字が見つからないような感じ。

かなしい 本当はこう
スクリーンショット 2018-06-26 23.56.48.png スクリーンショット 2018-06-26 23.57.16.png

背景2 原因がだいぶわからずつらい

  1. 多くの日本語はうまくいった。これが起こったのは1%程度だった。
  2. 連結前の wkhtmltopdf で生成したPDFは問題なかった
  3. 文字特有というわけでなく、他ページでも「雑給」は問題なく出力されていた。ただ、このページのこの箇所では絶対に再現するというような感じ。

他のページでOKのがある例
スクリーンショット 2018-06-26 23.59.09.png

対応

cidfmap 対応しても変わりなし
回避が大変そうなのと、バージョンアップすると変換エラーが出ないかもしれない情報(Ubuntu で ghostscript 9.0.7)もあり、yumで入れたghostscriptを引っこ抜き、ソースからコンパイルした。

結果

直った〜 :open_hands:

たいへん参考になった記事 :pray:
http://d.hatena.ne.jp/donbulinux/20150319/1426764756
http://kamae-norihiro.blogspot.com/2012/11/japanese-font-ghostscript.html
https://qiita.com/iharakenji/items/476e8b32e4e7a3c1a274

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?