hibitekitou
プレビューで開いたPDFからエクセルに画像をペーストする
mac |2016-01-27
あ、Excel 2011の話です。2016はまだ買っていません。
エクセルファイルの中に画像を配置するのって嫌いなんだけど、お仕事的にそうせざる得ない事もありますんでやります。画像のソースはPDFに配置された画像です(サムネイルのカタログをPDFで出力したもの)。

で、Macで作業をしていると、PDFファイルはAcrobatを使うよりプレビューを使ったほうが手軽なので、そっちで開いて、長方形の選択ツールを使って範囲選択の上でコピーをし、エクセルにペーストするわけですね。ところが、こうして作成したエクセルファイルのファイルサイズがあり得ない巨大さになってしまうのです。
エクセルでペーストする時、ペーストの選択肢は二つあります。

普通のペーストと形式を選択してペースト...です。
形式を選択してペースト...は、この場合、PDFか図かの選択肢となります。

それぞれでペーストしてみました。

一見すると、全部おんなじ用にペーストされているように見えます。
そこで、この3つの画像を全部選択し、幅を大きくしてみます(拡大してみるということです)。

普通にペーストしたりPDFでペーストした時に比べ、図でペーストした時の結果が明らかに劣化しているのが分かりますな。PDFで貼り付けるとソースの解像度を保持しているように見えます(故にファイルサイズも巨大になる可能性があります)。
たぶんファイルサイズを小さくしたいなら図でペーストしてやるのがいいんでしょうが、画質の劣化が許容範囲を超えてしまいそうで心配です。
ところで、PDFファイルの編集機能をプレビューは持ちませんから、プレビュー上でPDFをコピーすると、矩形選択していたとしても実は1ページ分の情報が丸々クリップボードに入るようです。これは、Photoshopなんかにペーストしようとすると分かります。

余談ながらAffinity Designerにペーストすると、各絵が別レイヤーとして(別オブジェクトとして)ペーストされます。ちょっとほぉと思いました。
レイヤーが6つ(写真と同じ数)できているのが分かりましょうか
このように、プレビューでPDFを矩形選択してコピーすると、ページ丸ごとのコンテンツの情報(そこには矩形選択の選択範囲も含まれる)がクリップボードに送られるようなのです。PDFフィアルは単なるビットマップではなく、色々な素材をまとめた物なのだから、そうなるのがむしろ自然なのでしょうが、直感的には理解しづらい挙動を見せてくれますね。
で、今回の例では再現しなかったのだけど、仕事で扱われた例で、エクセルに貼り付けられたものが、PDFの1ページ丸々のコンテンツを矩形選択した形で切り抜いたもの、という状態になりました。つまり、今回の例でたとえると、1ページ6枚の画像が全部張り付いているのだけど、矩形選択された範囲(1枚の写真)しかエクセル上では見えていない、という形になっていたわけです。ちなみにどうしてそれが明らかになったのかというと、エクセル上でその画像をコピーしてPhotoshopにペーストしてみたら、エクセル上では見えていなかったPDFの時の1ページが丸々現れたからです。そりゃ、ファイルサイズも膨らむわけです。
というわけで、pdf上の画像を取り扱う時は注意しましょうね、という趣旨のエントリでございました。たぶん、エクセルに貼り付ける前に、確実にビットマップデータだけの状態にしてから作業をしたほうがいいのでしょうね。プレビューだけで作業をするなら、とりあえずJPEGとかで書き出してから、それに対して矩形選択してコピーするとか、ね。
エクセルファイルの中に画像を配置するのって嫌いなんだけど、お仕事的にそうせざる得ない事もありますんでやります。画像のソースはPDFに配置された画像です(サムネイルのカタログをPDFで出力したもの)。

で、Macで作業をしていると、PDFファイルはAcrobatを使うよりプレビューを使ったほうが手軽なので、そっちで開いて、長方形の選択ツールを使って範囲選択の上でコピーをし、エクセルにペーストするわけですね。ところが、こうして作成したエクセルファイルのファイルサイズがあり得ない巨大さになってしまうのです。
エクセルでペーストする時、ペーストの選択肢は二つあります。

普通のペーストと形式を選択してペースト...です。
形式を選択してペースト...は、この場合、PDFか図かの選択肢となります。

それぞれでペーストしてみました。

一見すると、全部おんなじ用にペーストされているように見えます。
そこで、この3つの画像を全部選択し、幅を大きくしてみます(拡大してみるということです)。

普通にペーストしたりPDFでペーストした時に比べ、図でペーストした時の結果が明らかに劣化しているのが分かりますな。PDFで貼り付けるとソースの解像度を保持しているように見えます(故にファイルサイズも巨大になる可能性があります)。
たぶんファイルサイズを小さくしたいなら図でペーストしてやるのがいいんでしょうが、画質の劣化が許容範囲を超えてしまいそうで心配です。
ところで、PDFファイルの編集機能をプレビューは持ちませんから、プレビュー上でPDFをコピーすると、矩形選択していたとしても実は1ページ分の情報が丸々クリップボードに入るようです。これは、Photoshopなんかにペーストしようとすると分かります。

余談ながらAffinity Designerにペーストすると、各絵が別レイヤーとして(別オブジェクトとして)ペーストされます。ちょっとほぉと思いました。

このように、プレビューでPDFを矩形選択してコピーすると、ページ丸ごとのコンテンツの情報(そこには矩形選択の選択範囲も含まれる)がクリップボードに送られるようなのです。PDFフィアルは単なるビットマップではなく、色々な素材をまとめた物なのだから、そうなるのがむしろ自然なのでしょうが、直感的には理解しづらい挙動を見せてくれますね。
で、今回の例では再現しなかったのだけど、仕事で扱われた例で、エクセルに貼り付けられたものが、PDFの1ページ丸々のコンテンツを矩形選択した形で切り抜いたもの、という状態になりました。つまり、今回の例でたとえると、1ページ6枚の画像が全部張り付いているのだけど、矩形選択された範囲(1枚の写真)しかエクセル上では見えていない、という形になっていたわけです。ちなみにどうしてそれが明らかになったのかというと、エクセル上でその画像をコピーしてPhotoshopにペーストしてみたら、エクセル上では見えていなかったPDFの時の1ページが丸々現れたからです。そりゃ、ファイルサイズも膨らむわけです。
というわけで、pdf上の画像を取り扱う時は注意しましょうね、という趣旨のエントリでございました。たぶん、エクセルに貼り付ける前に、確実にビットマップデータだけの状態にしてから作業をしたほうがいいのでしょうね。プレビューだけで作業をするなら、とりあえずJPEGとかで書き出してから、それに対して矩形選択してコピーするとか、ね。
コメント ( 0 )|Trackback ( )
コメント(10/1 コメント投稿終了予定) |
コメントはありません。 |
![]() |
コメントを投稿する |
![]() |
ブログ作成者から承認されるまでコメントは反映されません |