【#Word解決】「変換ソフトでPDFを書き出すとsvg画像がラスターになる」を解決

こんにちは、アカツキユウです!
svgファイル(ベクター画像)をWordに配置してからPDF化する場合について検証を行い、まとめた記事になります。
今回は本当に本当に、私自身たくさん調べて良かったな~! ってすごく思った内容になっています!
Wordを使う色々な方の参考になると思いますので、是非最後までじっくりご覧いただければと思います!

それでは目次をどうぞ!

[Ad]

目次 [目次を閉じる]

別記事:Wordでjpgやpngを劣化せずにPDF化

ラスターデータ(jpgやpngなど)をPDFに埋め込む場合については、こちらの記事で検証、回避手段を掲載しています。
この記事と重複する内容もありますが、jpgやpngを使用したい人はこちらの記事をご覧ください。

きっかけ「svg画像がラスター化される」

とある日のメッセージ――

こちらは夜永オールド明朝作者のイチさん(@ichi_branch)からの投稿です。
今回の記事は、このメッセージをいただいたことをきっかけに調査をはじめ、最終的にまとめ記事執筆に至りました。
メッセージはご本人に許可を得て掲載しています

ご相談の内容は「otfを使いたいのでJustPDF5でPDF出力を行いたいが、JustPDF5経由ではsvg画像部分がラスター画像になってしまう」ということです。
メッセージ中の「最新のPDFファイルの生成の記事」は、小説同人誌のための「WordからPDFを出力する方法」のことです。
PDF出力設定の仕方や、PDF出力全般についてのトラブルシューティングは、こちらの記事をご覧ください。

ベクター画像とは?

ベクターファイル形式は、主要な2つの画像形式(ベクターとラスター)のひとつで、デジタル写真、グラフィック、ロゴ、その他の画像で使用されます。
(中略)
ベクター画像ではピクセルを使用しません。数式、直線、曲線(グリッド上に固定された点を使用)で構成されているため、解像度を落とすことなく無限に大きく(または小さく)サイズ変更できます。基本的にベクターはサイズ変更しても画質は落ちません。

ベクターファイルについて | Adobe

雑にベクター画像は拡大・縮小してもガビガビしない画像とでも覚えておいて下さい。
「ベクター」は数式ですから、数式を直すだけで線などを描き直すことが出来る。これにより拡大しても綺麗さを維持できます。
ベクターは物理サイズ(mmなど)情報を持っており、仮に元データが印刷したい物理サイズよりも小さくても、ボヤけずに拡大出来るので使いやすいということなのです。
よく企業ロゴなどに使われています。企業ロゴは使用用途に応じて拡大・縮小の必要があるためです。

ラスター画像とは?

デジタル画像ファイルには、ラスターとベクターという、2つの主要な形式があります。
デジタル写真と詳細なグラフィックは、いずれもラスター形式で提供されます。一般的なラスターファイルとしては、JPEG、PNG、およびGIF画像があります。
ただし、ピクセル数は固定であるため、配置するスペースに合わせてサイズを拡大縮小すると、ラスター画像がゆがんだり、ぼやけたりすることがあります。

ラスターファイルについて | Adobe

ラスター画像であるpngなどでよく言われているのは、「拡大すると劣化する(ボケる)」。
画像を拡大しようとすると画像のドットの数を増やす必要がありますが、これを綺麗に実行することが出来ないんですね。
最近ではwaifu2xなど、AIを利用してより綺麗に拡大したりノイズを低減したりするツールも出ていますが、確実ではありません。

見て分かる「ラスター」と「ベクター」

実際にどう違うのか、Word上で比較してみましょう。
svgもpngなどと同じように、ドラッグ&ドロップで配置可能です。

素材はICOOON MONOさんで配布されているものを使います。
ピンと来たのでこのアイコンにしようかな。

こちらの素材サイトではpng、jpg、svg、ai、epsの5種類の形式でDLすることが出来ます。
形式豊富でありがたい~~~~
こちらでsvgファイルとpngファイルをダウンロードします。
pngは512pxのものをDLしました。
色設定はページを表示したときのデフォルトのままです。

Wordに配置しました。
左がsvg、右がpngです。
この表示では違いが分かりませんが、拡大してみると違いがハッキリわかります。
Wordでは最大500%まで拡大することが出来るので、500%で表示してみます。
右下のスライダーを右端まで動かせば500%になります。

1枚目がsvg、2枚目がpngです。3枚目は配置時の物理サイズ設定です。
svgでは画像の縁がなめらかですが、pngでは少々ぼんやりしているのが分かります。

配置したpngがぼんやりする理由は、Wordに配置した時点で拡大されているためです。
Wordの最大解像度は330ppiなので、最大の330ppiの状態で扱っていると考えます。
そして3枚目の画像の通り135.47mmとして配置されています。
この時、必要なpx数は1760pxとなるのですが、元の画像は512pxしかないため、拡大する必要があります。
その拡大の結果、輪郭部分がぼんやりしてしまったのです。

ラスターの解像度の話はこちらの記事でも少し触れていますのでご参考にどうぞ。
ベクターでは解像度の概念は不要です。

svg画像入りのデータをPDFに変換・検証

それでは本題。svg画像を配置したデータをPDFに変換してみます。
使用しているWordのバージョンはWord2016です。

そして、以下の方法でPDFに変換してみます。

  1. 名前をつけて保存から変換
  2. JustPDF5で変換
  3. CubePDFで変換
  4. Acrobat X Proで変換
  5. Acrobat CC Proでアドオンから変換

どのように保存されているかの確認は、それぞれの方法でPDFを出力した後、Adobe Illustratorで開いて確認します。

①名前をつけて保存から変換

慣れ親しんだ(?)「名前をつけて保存」でPDFとして保存します。
エクスポート>PDF/XPSでも同様の結果が得られます。
svg画像の配置は、jpgやpngと異なり、「図の圧縮」の影響を受けません。
なので、設定は特にいじらずにやっても大丈夫です。(私は設定済ですが)

保存方法はいたってシンプル、「名前をつけて保存」を選んだら、ファイル形式を「.pdf」に変更して保存するだけです。
何も特別なことは必要ない。
そして保存したファイルをIllustratorで開いてみると…

この通り、ベクターデータとして保存出来ています。(パスのところ)
jpgやpngなどのラスター画像を配置した場合、PDF保存をする際に圧縮方法の指定が出来ず、必ずjpg/最低画質相当で保存されるため、Wordの名前をつけて保存からのPDF出力は非推奨でした。
当サイトの他の記事でも、PDF保存する場合にはWordの名前をつけて保存は非推奨と書いてます。

しかしsvgであればWordの名前をつけて保存は有効ということになります。

②JustPDF5で変換


あちこちの記事で紹介していますが、JustPDF5は一太郎の開発元であるジャストシステムが制作したPDF変換ソフトです。
一太郎プラチナ版に付属している他、単体購入が可能です(上は単体購入用の商品ページリンクです)。

JustPDF5での変換については2通りの出力方法があります。
1つ目はWordで「印刷」メニューから変換する方法。
2つ目はJustPDF5[作成]から変換する方法です。

まずは1つ目、「印刷」メニューからの出力です。
出力手順は以下の通り。

  • ファイル>印刷メニューを開きます。
  • プリンターはJustPDF5を選びます。
  • プリンターのプロパティは必要に応じて設定。今回は設定なしでそのまま「印刷」を押して保存。

そして、出力したPDFをIllustratorで開いてみます。

画像化されてしまっているようです。

では、JustPDF5[作成]でのPDF出力で変化があるか確かめます。
JustPDF5[作成]では、画面にWordファイルをドラッグ&ドロップで放り込んで、「変換」を押すだけで簡単にPDF化することが出来ます。
また、保存形式を「画像(png)」にすると画像として保存されます。
サンプル画像を作る時に、わざわざスクショを撮ったりしなくていいので便利ですね。
さて、「変換」を押して保存します。

やはり画像化されてしまっていますね。

JustPDF5ではsvgをベクターのままPDF化出来ないようです。

③CubePDFで変換

CubePDFは国産の仮想PDFプリンタです。
現在も開発が続いており、CubePDFを使用したPDF出力手順を紹介する印刷所が増えてきました。

CubePDFもインストールしたまま、特に設定をいじらずにPDFを出力して大丈夫です。
出力手順はJustPDF5と同じです。
「印刷」ボタンを押した後、CubePDFの出力設定のウィンドウが追加表示されますが、何もせずに「変換」ボタンを押して大丈夫です。
そして出力したPDFを開いたところがこちら。

画像化されてしまっています。

CubePDFもsvgをベクターのままPDF化出来ないようです。

④Acrobat Xで変換

Adobe製でおなじみAcrobatです。
こちらは私が所持しているCS6に付属しているバージョンです。

JustPDF5やCubePDFと同じ手順でPDF出力が可能です。
また、Acrobat X Proのウィンドウからファイルを指定し、変換することも可能です。

以下、1枚目はWordの「印刷」から、2枚目はAcrobatのウィンドウから変換したPDFをそれぞれ開いたところです。

ここまでずっと同じスクショを貼っているように見えるが、ファイル名が異なるのである…!!

Adobe製品なのでちょっと期待を持っていたのですが、JustPDF5やCubePDFと同様、画像化されてしまいました

⑤Acrobat CC Proのアドオンから変換


製品名は「Acrobat DC」ですが、Adobe税でお馴染みAcrobat Creative Cloudの一員なのと、この後紹介するメッセージ中の表記がCCなので、統一の為に「CC」と表記します。

AcrobatCCは月額、または年額課金が必要なソフトです。
変換回数が少ない場合は、変換回数に対するコスパはお世辞にも良いとは言えません。
AmazonでAdobeCCのセールをしている場合に、Acrobat単品のコードももしかしたらセール対象になるかもしれません。

この項目のスクショはイチさんからご提供いただきました。
Word2016+AcrobatCC環境だと、アドオンが追加されるようです。
Word2016+Acrobat Xではアドオンは追加されません。
Word2013の時には追加されてた記憶はありますが…

AcrobatCCでは、リボンにPDF出力などのボタンが追加されたり…

ファイルメニューに「Adobe PDFとして保存」コマンドが追加されたり、「エクスポート」の中に「Adobe PDFを作成」ボタンが追加されたりします。

AcrobatCCについての検証は、イチさんの方でして下さいました。
その時のメッセージがこちらです。
(私の方から、上記JustPDF5、CubePDFの検証+考察を送った後のものです)

とのことです。
AcrobatCC+Word2016環境であれば、svg画像をベクターのままPDF化できる
但し、「印刷」メニューからだと、JustPDF5・CubePDF同様に画像化されてしまう

ここまでの結論

svg画像を配置したWordデータをPDF出力する際、ベクターの状態を保ちながら保存するならば、

  • Wordの「名前をつけて保存」
  • AcrobatCCを導入してアドオンから出力

のいずれかの方法になると考えられます。

otfが埋め込めなかったり、jpgやpngの劣化が回避出来ないなどで問題があったWordの「名前をつけて保存」ですが、追加のPDF出力ソフトなどの導入無しで今回の要件を満たす出力が出来ました。
しかし、otfを使いつつsvgをベクターのままPDFにしたい、という場合は「名前をつけて保存」では満たせません

というわけで、追加の検証をご覧ください。

追加検証

JustPDF5・CubePDFはベクターデータを保存出来るのか?

そもそもとして、この2つがベクターデータを保存出来ないなら、Wordでも当然ベクターデータを保存出来ない……ということになるので検証しました。
検証手順はIllustrator CS6で適当なベクターデータを作り、プリントから印刷するだけです。
JustPDF5[作成]での変換については後述しますが、とりあえずこの項目では実行しません。
あと、AcrobatはAdobe製品なのでベクターを埋め込めないわけがない! ってことで、この検証からは除外しています。

制作したデータはこちら。
パスであることをご確認ください。

印刷結果はこちら。
左がJustPDF5、右がCubePDFです。

何度も書くが、同じファイルを開いているように見えてファイル名が違うのである!!!!

A5のデータをA4に印刷した状態になってたのでキャンバスサイズは変わってますが…
JustPDF5は若干赤みがかった色に変わってしまった(RGB値変わってました)ものの、ベクターデータは保存出来ていますね。
CubePDFもきちんとベクターで保存出来ています。色は変化していません。

余談

イラレからに限らないんですけど、JustPDF5でカラーのデータを印刷すると、色が変わっちゃうことがあるんですよね…
これ、イラレのデータを作った時にCMYKだったから? と思ってRGBモードでデータを作ってプリントしてみましたが、やはり色は変わってしまっていました。
私自身はこの実験以前より、ExcelからPDF出力しようとして色が変わってるのを見て以来、Acrobat経由でPDFを出力しています。
あれ…これ表紙データをPDF化する時にJustPDFを使ったら色変わっちゃうってことじゃないですか、それは良くないのでは…?
まぁ、表紙をPDF化しなければならない印刷所は割と限られていますけども…

余談ここまで

JustPDF5もCubePDFも、ベクターデータをPDF化することは可能である、と分かりました。

Wordの「印刷」についての推測

JustPDF5[作成]・Acrobat Xで変換するとき、それぞれこのような表示が出ます。
左はJustPDF5、右はAcrobat Xです。

それぞれのソフトからの出力…と見せかけて、内部的にはWordの「印刷」を経由しているようなんですね。
上でイラレのデータをJustPDF5[作成]から変換するのを割愛したのですが、これも「印刷」を経由すると想定されたために割愛しました。

  • JustPDF5・CubePDFともにベクターデータをPDF化が可能
  • Wordの「名前をつけて保存」は「印刷」ではなく「保存」
  • AcrobatCCのアドオンからのPDF出力ではベクターが埋め込める

以上の点から、
「Wordから印刷」を実行する時は、必ず「svgを画像に変換」して「印刷データとして渡す」という挙動になるのではないか
……と推測しました。

Wordの図形はどういう扱いなのか?

ベクターといえば、ちょっと確かめたいことがあります。
Word文書には図形を挿入する機能があります。
たとえば、この図形を利用してフローチャートを描いたり出来るのですが……
この図形、大きくしたり小さくしたりしても品質が変わりません。つまりベクターデータなのではないかと思いました。

それでは、図形を配置した状態で、以下の方法でPDFに変換します。
Word上のデータはこんな感じです。

そして上の検証と同じく以下の方法でそれぞれPDFを出力してみます。

  • Wordの名前をつけて保存
  • 印刷からJustPDF5で保存
  • 印刷からCubePDFで保存
  • 印刷からAcrobat Xで保存

そして保存したPDFをIllustratorで開いたところがこちらです。
この検証に限り、違いを比較するために本文をカラーで変換するように設定しています。

左からWord、JustPDF5、CubePDF、Acrobatです。

しつこいようだが、同じファイルを開いているように見えてファイル名が違うのである!!!!

全てのPDFで、図形の箇所がパスになっていることが分かります。
つまり、Wordの図形は全てベクターデータとして保存されているということです。

じゃあなんでsvgをベクターとして保存してくれないんだ…?

別の形式のベクター画像はどうか?

Wordの「図を挿入」で配置出来る画像の種類は以下の通りです。

このうちのひとつ、emfファイルに注目してみました。

EMF は Enhanced Metafile の略で、グラフィックデザインや印刷業界でよく使われる大容量のメタデータファイルです。Windows メタファイルなどの類似のメタデータエクステンションよりも優れており、より大きい容量の画像データを保持できます。
EMF ファイルとは何ですか、どのように開くのですか?| Adobe

拡張子「.emf」のファイルとは、Windowsの拡張メタファイル(EMF:Enhanced Metafile Format)と呼ばれるものです。32ビットの描画を記録することのできるベクター画像ファイルの保存形式がこの「.emf」となります。
拡張子「.emf」のファイルとは? | Aprico

というわけで、emfはベクター画像であるようです。
試しにこのemfファイルを配置してPDF出力してみます。
emfファイルは、svgファイルを変換して作ります。

余談:emfファイルの作り方

当記事の1番上に貼っている、『【#Word解決】「PDFを書き出すとpng画像が劣化する」を解決』初版執筆時には、emfファイルの制作(変換)方法については紹介しておりませんでした。
これは、emfがメジャーな配布形式でないことや、png(ラスター)をemf(ベクター)に変換したいというご要望だったためです。
しかし今回はベクターデータを扱う話ですので、改めてご紹介します。

フリーソフトのInkscapeを使用して変換出来ます。
もしくは、Illustratorをお持ちの方はそちらでも変換出来ます。

Inkscapeの場合:
「開く」でsvgファイルを指定して開きます。ドラッグ&ドロップではなく「開く」の方がいいです。
そのまま、ファイルから「名前をつけて保存」または「コピーを保存」から「拡張メタファイル(.emf)」を選択して保存します。

Illustratorの場合:
「開く」またはドラッグ&ドロップで開きます。
但し、他のデータを開いている状態の場合は、「配置」にならないように開きます。
そのまま、ファイル>書き出しを選択し、「Enhanced Metafile(.emf)」を選択して保存します。

InkscapeとIllustrator、それぞれemfを保存出来ますが、ファイルサイズが若干変わるようです。
あと、Word上で編集も可能ではあるのですが、svgを配置する場合と違って若干扱いが面倒だったので、色だけ、使いたい色に変えておいた方がいいかもしれません。

emfファイルの配置

ではWordに戻ってemfファイルを配置します。
配置後はpngやsvgなどと同様に拡大・縮小したり、位置を指定して配置が可能です。
上で書いた通り、色変更については面倒なので、Word側での編集については割愛します。
まーーーーーじで面倒だったので興味あったらやってみてくださいね…

配置したところ。

さて、では配置した状態でPDF化します。
上と同じく、以下の4つの方法を使います。

  • Wordの名前をつけて保存
  • 印刷からJustPDF5で保存
  • 印刷からCubePDFで保存
  • 印刷からAcrobat Pro Xで保存

そして保存したPDFをIllustratorで開いたところがこちらです。
左からWord、JustPDF5、CubePDF、Acrobatです。

あれーーーーーーーーーーーーー!!???
全部パスで保存出来てます、嘘だろ!?

と思ったのでちょっとこちらをご覧ください。

WMFを拡張し、追加された新しいGDIコマンドの記述に対応している。
Windows上でアプリケーションが印刷を行う際にデータをプリンタドライバへ引き渡す標準のファイル形式となっており、ドライバはEMF形式のデータを読み込んで機器固有の形式に変換し印刷する。Windows XP以降はGDI+に対応したEMF互換の拡張形式であるEMF+が用いられる。
Windowsメタファイル(WMF / .wmfファイル)とは – 意味をわかりやすく – IT用語辞典 e-Words

ここポイントですね!
「プリンタドライバへ引き渡す標準のファイル形式」!
svgではダメだったのは、Word的にはsvgがプリンタドライバに対応した形式ではなかったからですね。
なるほどそういうことか。

最終的な結論

WordからPDFを出力する時に仮想PDFプリンタを使って出力するのは主に「otfを埋め込みたいから」ですが、図形を利用するかemfファイルを使用すれば「otfを使いつつベクター画像も使用出来る!」ってことになりますね。
これは朗報かも!
emfを使用する場合は変換の手間こそありますが、どのPDF出力ソフトを使ってもベクター形式として埋め込める、つまり拡大縮小出来て品質を維持できるのがとてもいいですね。

おおもとの「svg画像をベクターのまま仮想PDFプリンタを使用してPDF化する」という要件自体は満たしませんでしたが、代替手段を用いてのPDF化が可能であることが分かりました。

おわりに

今回は本当に小さなきっかけで、私が動作確認をしたところから始まったのですが、最終的に「Wordでベクターデータが使える!」っていう結論に至ったところがとても良かったです!
これまでWordについて色々調べて来ましたが、まだまだ知らないことがたくさんあるなぁ…と思うとともに、知れば知るほどWordの可能性が広がってる感じがします。
飾り罫を使ったり、扉や目次・章扉などのワンポイントに使うもよし、デザインの幅が広がりそうです。

ではでは、今回の記事はここまでです!
お読みいただき有難うございました!

よろしければ

今後もまとめ記事を書いたり、色々なものを制作したりする活動を継続するために、皆様からの応援メッセージ・ご支援をいただけると嬉しいです。
送っていただけると励みになります! よろしくお願いします!

  • card.user

謝辞

上にも書きましたが改めて。
Acrobat CCでsvgを埋め込む件の検証は、イチさん(@ichi_branch)にご協力いただきました。
Acrobat CC体験版をわざわざ導入して検証くださったり、スクショをご提供いただいたりしました。
本当にありがとうございました。

更新履歴

  • 2022.08.24:初版