プレビューでJPEGをPDFに書きだすとファイルサイズが大きくなる

お世話になります。

プレビューでJPEGファイルをPDFで「書き出す」と、画質や画像サイズは同じですが、ファイルサイズが元のJPEGファイルの10倍くらいになってしまいます。これはなぜでしょうか。 書き出す際のQuartzフィルタの設定は「なし」にしています。


ご参考までに、プレビューの「プリント」メニューから「PDFとして保存」をした場合は元のJPEGファイルとほぼ同じファイルサイズです。

iMac (27-inch, Late 2012), OS X Mountain Lion (10.8.5)

投稿日 2014/10/15 21:58

返信
返信: 11

2014/10/15 22:33 trin への返信

 プレビューアプリのローレベルな仕様書を見たわけではないので、なんとなく....。


 圧縮されたjpg画像を展開して、PDFとして書き出します。また、PDFは画像の一種ではなく、それ以外に埋め込まれている情報もあります。

なのでファイルサイズが変わるのはしょうがないと思う。


 プリントメニューからPDFとして保存する場合は、上記とはちょっと使用しているアルゴリズムが違うと思う。プリントアウトの方は出力する際の用紙サイズに合わせて画像ファイルの解像度も変わってくるはず。


いずれにせよPDFにて保存すると、画像は若干荒くなりますね。

2014/10/15 23:06 trin への返信

なぜ変わるかはやすどんさんが書かれた通りと思います。2個のファイルで試したら4ないし5倍となりました。

しかしMavericjsのプレビューでは画像サイズにかかわりなく+3kB程度となります。元のJPEGデータをそのまま

埋め込んでいるようです。

2014/10/15 23:14 やすどん への返信

早速ご回答頂きましてありがとうございます。

原画像と、書き出しによるPDFと、プリントメニューによるPDFの3つをピクセルレベルまで拡大して見てみたところ、ご回答頂いたようにプリントメニューからのPDFは若干荒くなっていた(ピクセルのパターンが原画像と異なっていた)のですが、書き出しによるPDFは、ピクセルレベルでも原画像と全く同じように見えました。ということは、書き出しによるPDFは、JPEG画像を展開し、展開後の全く圧縮しないデータがPDFに埋め込まれているような感じで、そのために大きなファイルサイズになっているような気がしてきました。

どうもありがとうございました。

2014/10/15 23:28 品川地蔵 への返信

2つのOSで試して頂きましてありがとうございました。

折しもMavericksにアップしようと思い始めていたところで、Mavericksにすることで解決できそうだとわかり安心しました。

プリントメニューからのPDFでは用紙サイズに仕上がってしまうため余白をカットする必要があり、また、書き出しによるPDFではファイルサイズが大きくなって困っていたところです。

どうもありがとうございました。

2014/10/16 01:48 trin への返信

失礼致します。


私の環境は、OS X Mavericks(10.9.5)ですが、ファイルサイズ 2.4MB の元画像を書き出して見ると、

下記の様になりました。


【「ファイル」メニュー >「PDF として書き出す」

 ・ファイルサイズ : 2.4MB

 ・PDF バージョン : 1.3

 ・ページサイズ  : 21 x 29.7 cm


【「ファイル」メニュー >「プリント」>「PDF」ボタン >「PDF として保存」】

 ・ファイルサイズ : 2.4MB

 ・PDF バージョン : 1.3

 ・ページサイズ  : 21 x 29.7 cm


【「ファイル」メニュー >「書き出し」>「PDF」】

 ・ファイルサイズ : 12.1MB(約 5 倍)

 ・PDF バージョン : 1.4

 ・ページサイズ  : 101.6 x 63.5 cm(10 倍以上)

ユーザがアップロードしたファイル


「PDF として書き出す」や「PDF として保存」の場合は、元画像のファイルサイズをそのまま維持しており、

ページサイズもプリント設定のデフォルト(A4 サイズ)で、PDF 1.3 で書き出されるのに対して、「書き出し」

>「PDF」の方は、全くそう言った縛りが無い感じですね。


しかも、同じ「Mac OS X 10.9.5 Quartz PDFContext」で PDF を生成しているのに、「書き出し」>「PDF」

の方は、PDF 1.4 で書き出されているんですね。

2014/10/16 06:01 trin への返信

先ほど、やすどん様への返信で、「プリントメニューからのPDFは若干荒くなっていた(ピクセルのパターンが原画像と異なっていた)」というのは誤りで、似たような別の箇所を見比べていたことによる見間違いでした。大変失礼致しました。再度確認したところピクセルレベルで原画と同じパターンになっているようです。

つまりプリントメニューからPDFを作成すると、ファイルサイズも画像も変わらないので、JPEGデータをそのまま埋め込んでいるような感じがします。


2014/10/16 06:14 trin への返信

 そうですか。

私はOSX10.8.4ですが、ドットが見えるまで拡大するともとのjpegとは変わっていますね。

そうなるとOSX10.8.5から仕様が変更されたのでしょうか。

PDFの仕様として埋め込まれる画像はビットマップが基本だと思っていました。jpegが埋め込まれるのであればサイズ的にはいいですね。

紙媒体への出力がメインでなければ(デジタルドメインでの閲覧がメインであれば)jpegでが埋め込まれた方が便利ですね。

2014/10/16 06:27 やすどん への返信

ありがとうございます。

ご存知かもしれませんが、プレビューの環境設定で、PDFの書類の表示方法を、「テキストとラインアートを滑らかに表示」しないように設定して比較しています。そうするとこちらでは同じパターンに見えました。

ご回答のように、OSX10.8.5から仕様が変更されたという可能性もあると思います。


2014/10/16 06:53 trin への返信

「テキストとラインアートを滑らかに表示」しないように設定して比較しています。

 たしかにこのオプションを外してドットが見えるまで拡大すると同じに見えますね。

でも、等倍もしくは縮小してみた時に、このオプションが外れていると元画像と比べてがたがたに見えませんか?

なので、私はこのオプションを常に入れっぱなしでいました。


 このオプションの有無で見え方が違うという事は、OSX10.8.4では元画像がそのまま埋め込まれているというよりも、なにかしら展開〜再圧縮(再加工)されていて、それでも見た目に元画像と遜色が無いように工夫する技術が間に入っているのかなと。


 今度暇があればプリントメニューからPDF作成を百回ほど繰り返して元画像とどのぐらい違ってくるのかを見てみたいですね。

(大晦日に紅白見ながらぽちぽちやろうかな)

これで変化が無ければ最初にjepg〜ビットマップの変換が行われて、そのあとはビットマップになっているのかもしれない。だけどそれだとファイルサイズが変わらないってのが気になりますね。


 ストレージのサイズが年々大きくなってきていましたので、ファイルサイズはそれほど気にしていませんでした。しかし、今回のディスカッションは非常に面白い議題ですね。

2014/10/16 06:59 necota への返信

詳細なデータをありがとうございます。大変参考になります。

Mavericksのプレビューには、ファイルメニューの直下にも、プリントメニューでPDF出力するのと同じような働きをする書き出しコマンドがあるんですね。

1番目と2番目の方法ではサイズが同じなのでJPEGデータをそのまま埋め込んでいるような気がします。3番目の方法の結果でMavericksでもファイルサイズが大きくなってしまうことがわかりました。

ちなみにOSX10.8.5でも、プリントメニューから作成したPDFはバージョンが1.3で、ファイルメニューの書き出しコマンドからのPDFはバージョンが1.4になっていました。

結局のところはファイルサイズが大きくなってしまう理由が明確にはわかりませんでしたが、このバージョンの違いも関係しているのかもしれないと思いました。

どうもありがとうございました。

2014/10/16 16:19 やすどん への返信

ありがとうございます。

今回の疑問のためにいろいろ試していて滑らかに表示するオプションを見つけたのですが、確かにオプションで滑らかに表示しないように設定すると、縮小表示したときに微妙に傾いた線などがガタガタに見えてしまいますね。


プリントメニューから作成したPDFが、元画像とファイルサイズが変わらない理由として考えていますのは、元画像のJPEGファイルがそのまま展開されずにPDFに入っているからではないでしょうか。だとするとプリントメニューからのPDF作成を100回繰り返しても、展開せずに圧縮されたままの状態で何度もPDFという器に入れ替え続けるだけの処理になるので、最終的にも元 画像と同じになるかもしれません。

ビットマップに展開されるのは画面表示のためだけで、滑らかに表示するオプションが作用するのは、画面表示するために展開したビットマップ画像に対してだけ、プレビューがぼかしのような画像処理をしているのではないかと考えています。(表示倍率に応じたぼかし処理のような…)

確証がないままに書いていて申し訳ないのですが、これまでのことから考えると そんな風に思っています。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

プレビューでJPEGをPDFに書きだすとファイルサイズが大きくなる

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。