Programming Field - プログラミング Tips

Trouble: PrimoPDFでエラー…?

Windows Vistaにて、PrimoPDF(日本語版)を使用して、知人から受け取ったWordファイルを(Word2007経由で)PDFに変換しようとしたところ、

PDF creation failed: -18

というエラーが出てしまいました。

このエラーについていろいろ検索してみましたがいい対処法は見つからず。とりあえず印刷時にプリンタを「PrimoPDF」、「ファイルに出力」をチェックして印刷しファイルに保存。「PrimoPDFプリンタ」が「PostScriptプリンタ」のため出来たファイルがPostScriptファイルになるので、ps2pdf(Ghostscriptに付属)を使用してPDFに変換すると、文書が途中で切れてその次のページにエラーメッセージが出力されていました。エラーメッセージは以下のような感じです。

ERROR: syntaxerror
OFFENDING COMMAND: --nostringval--

STACK:(略)

そこでWordにて文書で切れている部分を確認してみると、「HiraKakuPro-W3」というフォント指定がありました。この部分を適当なフォントに変えて出力してみるとエラーが出ず、無事PDFが出力されました。

また、自分のパソコンにはフォント「HiraKakuPro-W3」がインストールされていなかったので、この文書を開いた状態でWord2007のオプション→「詳細設定」→「構成内容の表示」→「フォントの置換」を見てみると、「HiraKakuPro-W3」の代替フォントが「Arial Unicode MS」になっていました。ここで試しに「Arial Unicode MS」フォントを利用して適当に文書を書き、普通にPrimoPDFで出力してみると、やはり上記のエラーが発生しました。

ということで、結論としては『「Arial Unicode MS」はPrimoPDFで出力できない』ということでした。(※おそらく「Arial Unicode MS」はPostScriptに変換できないということが原因だと思いますが、詳しい調査をしていないので…)

参考: PDF creation failed -18 - PrimoPDF Forums の投稿#15

ちなみに「Lucida Sans Unicode」というフォントでは問題なく出力されるので、もともと「Arial Unicode MS」を使用していてUnicode特有の文字を使用したい場合は、代わりに「Lucida Sans Unicode」を使うのがいいかもしれません。

おまけ: 「creation failed」メッセージが出た後、なぜかすべてのプリンタが使用できなくなってしまいましたが、これはサービスの「Print Spooler」が停止していたためで、「コントロールパネル」→「管理ツール」→「サービス」から「Print Spooler」を「開始」させれば復旧します。(ただし管理者権限が必要です)

最終更新日: 2008/12/13