ぼちぼち書くブログ

日記とかうまいもんとかパソコンのことをマイペースで記します。高知市に住んでいるので地元の情報も投稿します。

PowerPoint 2010でPDF保存時にシステムフォントを埋め込むには~カギは「ISO 19005-1に準拠」

ASKUL(アスクル)でチラシ(パンフレット)を印刷するサービスがあります。

結構手軽で、WordやPowerPointで作成した文書をPDF化して入稿すれば、それを原稿にして印刷してくれるサービスです。

spc.askul.co.jp

職場で「説明通りにやっても説明通りに出来ない」という相談があったので、私が調べてみたところ、ASKULの手順書に記された設定が間違えている事が判明しました。アスクルのミスですねこれは。

f:id:sasapurin:20170217211049p:plain

アスクル入稿条件を要約

使用しているフォントを全てPDFに埋め込みサブセットとして含ませないと、異なったフォントで印刷される事があります」という注意書きがあるので、それに従うのが筋と言えそうです。システムフォントは要らんやろ?と思いますけどね・・

問題は手順書にあった

PowerPointからPDFとして書き出す際の手順の指示にミスがありました。

下図はアスクルの手順書(PDF)をキャプチャしたものです。

f:id:sasapurin:20170217211300p:plain

③この通りに設定します」と記されているのですが、この設定で書き出すとシステムフォントが含まれず、別ページに記されている下図の「NG」の例の通りになってしまいます。

f:id:sasapurin:20170217211449p:plain

理屈で考えれば、ArialはWindowsのシステムフォントなので埋め込みサブセットとしてPDFに組み込む必要は無いのですが、この手順書が適切では無いので初めて入稿しようとした担当者は混乱して当然です。そもそもフォントの埋め込みがなぜ必要かも分からないのですから(普通のユーザーはそこまで意識しない)

そこで「どうやっても上手く出来ない」ということで私が相談を受けた訳です。

システムフォントをサブセットして埋め込む

マイクロソフトにも問題はあると思うのですが、たかだかPDF保存ごときの設定をあちこちに散らかしているので、普通のユーザーにはどこをどう設定すれば思い通りになるのか分からないというのも無理はありません。

まず混乱の原因の一つは「オプション」-「保存」にあります。

下図を参照していただければ分かると思いますが、

  • 「ファイルにフォントを埋め込む」
  • 「すべての文字を埋め込む」

本来ならこれだけで目的は果たせるハズなのですが、マイクロソフトは恐らくシステムフォント(Windowsに初期からインストールされているフォント)は除外するというお節介な仕様でOfficeを設計している様です。日本語的に変だろ?すべてって全てだろうに!

f:id:sasapurin:20170217212406p:plain

保存した結果、PDFファイルのプロパティを確認すると、アスクルの注意事項の様に、Arialが埋め込みサブセットとして含まれません。理屈がわかっている人にとっては別段気にすることでは無いのですが、アスクルの手順書に注意として記されているのでこれではダメだと思って当然です。担当者がきちんと説明を読んでいる証拠です。

f:id:sasapurin:20170217212918p:plain

では、どうやったらArialも組み込みサブセットとしてPDFに含ませることが出来るのか?

PDFファイルとして保存する時に、「オプション」というボタンがあるのでクリックします。アスクルの説明通りだと上手く出来ないので、結果を重視するなら指示は無視します。

f:id:sasapurin:20170217215705p:plain

ISO 19005-1で全てのフォントを含める

肝は単純な話で「ISO 19005-1に準拠(PDF/A)」を選ぶことです。

f:id:sasapurin:20170217213338p:plain

マイクロソフトの公式文書によると

ISO 19005-1 形式の PDF ファイルを作成する場合は、[ISO 19005-1 に準拠 (PDF/A)] チェック ボックスをオンにします。

このチェック ボックスのオンとオフを判断する方法

次のような場合には、このチェック ボックスをオンにします。

  • この形式を必須と定めている官公庁にファイルを提出する必要がある場合。

  • 長期間にわたる保管が必要なファイルで、現在の表示にできるだけ近い形で将来も表示できるよう、必要な情報をファイルにすべて含めておく場合

官公庁に提出する訳では無いのですが、アスクルがそうしろと言う注意を促していて(手順書の指示は間違えているけど)ので、ISO 19005-1に準拠させます。つまり全てのフォントをPDFに埋め込みます。

繰り返しになりますが、PowerPointの「オプション」-「保存」にある、「すべての文字を埋め込む」は何だったんだろうか?という疑問がモヤモヤしてイラっとさせられます。作ったヤツはアホかと言いたくなりますね。

成功

単純な話ですが、これでシステムフォント(Arial)も埋め込みサブセットとしてPDFに含めることが出来ました。同じ理屈でWordやExcelでもPDFとして保存する時の埋め込みサブセットとしてシステムフォントを含める操作は同じです。

f:id:sasapurin:20170217213834p:plain

本当にわかりづらい仕様の上、分かりにくい標記になっているので戸惑う人は多いと思います。

ISO 19005-1という用語で検索するとそれらしい情報は見つかりますが、アスクルがこのチェックボックス(レ点)を外す様に図示しているので気づく人は少ないでしょう。

フォントを埋め込むとファイルサイズは増える

下図で比較したとおりファイルサイズは若干大きくなりますがシステムフォント1つ(Arial)を含めた程度の事ではファイルサイズの肥大は大したこと無いです。

f:id:sasapurin:20170217221041p:plain

最後に愚痴っておく

まだまだITという技術は、普通の人には不親切だと思います。

しかし、ITに携わる人の、特にプログラミング仕様を決める人の「センス」にかかっていると思います。ズバリ言えばセンスが無いです。

Microsoft Officeがいつまで経っても垢抜けないのは、作っている人達のセンスが良くないからだと私は思います。実際に自分で使ってみたら分かるっしょ!と言いたいですね。

私自身は長年ITに携わって生きてきましたが、いつまで経っても洗練されない・・嘆かわしいです。でも私はプログラマーじゃない(インフラ系エンジニアだ)のでソフトウェアの作成は任せるしか無いのでもどかしいです。