こまぶろ

技術のこととか仕事のこととか。

続:Keynote で作成したスライドを Speaker Deck にアップロードすると Transcript が文字化けする問題への対応

Keynote で作成したスライドを Speaker Deck にアップロードすると Transcript が文字化けする問題があり、その対処法を以下の記事で紹介していた。

ky-yk-d.hatenablog.com

最近のMacはPostScriptをビルトインでサポートしなくなった

しかし、記事の中で言及していたMacの「プレビュー」がPostScriptファイルのサポートをやめてしまったため、現在ではPostScriptからPDFに変換する部分は別のツールを使って行う必要がある。

support.apple.com

代わりのツールの一つ:Ghostscript

この記事では、代替の方法のひとつとして、Ghostscriptを紹介する。

www.ghostscript.com

Macの場合、Homebrewでインストールするのが簡単だろう。

$ brew install ghostscript

GhostscriptでPostScriptからPDFに変換する

Keynoteから「プリント」→「PostScriptとして保存」として作成したPostScript(ps)ファイルを、Ghostscriptの ps2pdf を使ってPDFに変換することができる。

$ ps2pdf input.ps output.pdf

こうして作成したPDFをSpeaker Deckにアップロードすれば、文字化けを回避することができる。

補足

手元の環境で作成したpsファイルでは、 ps2pdf では以下のようにエラーになり変換できなかった。

$ ps2pdf input.ps output.pdf
GPL Ghostscript 10.03.0: PDFDocEncoding ad is undefined

@toshimaru_eさんの手元では ps2pdf でも変換ができているようなので、ファイル側に問題があるように思われる。

なお、原因は特定できていないのだが、同じファイルもPDF 1.3を用いる ps2pdf13 を使えば変換することができた。

$ ps2pdf13 input.ps output.pdf

謝辞

以前書いた記事の方法が現在では一部使えなくなっていること、Ghostscriptで代替できることを指摘してくださり、 ps2pdf での動作の状況も教えていただいた@toshimaru_eさんに感謝します。