PDFファイルの中を検索できないしテキストをコピーできない
WindowsでPostScriptファイルをビットマップ画像に変換せずに見られるようになり、MacintoshのOS9.2.2でプリント時にPostScriptファイルとして保存できることを知ったので、Macのドローソフトで作った画像をWindowsで利用できるようにEPS形式で保存することにした。Macで一般的なPICT形式でもQuickTimeに付属するPictureViewerを使えばWindowsでもベクターイメージのままで拡大したり縮小したりしても綺麗に見ることができるが、Windows内に無いフォントは表示できないし機種依存文字の違いがあるので同じフォントをWindowsにインストールしても表示できない文字がある。EPS形式ならMacで見ていたように表示してくれる。ドローソフトで見ていたように拡大しても縮小しても綺麗である。だから、EPS形式で移すことに決めた。
しかし、EPS形式でWindowsに移してGSview 4.9でPDF形式に変換してAdobe Reader 9.4.1で見て、テキスト部分を選択してクリップボードにコピーしてテキストエディタ貼り付けたとき、日本語が全くコピーできず、英数字や記号の羅列が貼り付けられた。後に、Adobe Reader内で日本語の検索ができないことも分かった。
この不具合を無くそうとかなりの時間を費やしたのだが、残念ながら対処法は見つからなかった。
諦めたわけではないが、この問題はいったん終わりにしようと思い、頭を整理する目的、興味のある人への情報提供の目的、ブログを見た人が対処法を教えてくれるかもしれないという期待から、日本語テキストを検索できないしコピーもできないPDFファイルと、そのPDFファイルの元になったPostScriptファイルを、作成時の設定と共にアップロードしておく。
-
設定:Macでは、 フォント代用なし、 EPS内容確認なし、PostScript:レベル2と3、フォントの保持:すべて、 優先フォーマット:True TypeでEPSを作成。Windowsの GSview 4.9のpdfwriteでPDFに変換。
-
設定:Macでは、 フォント代用なし、 EPS Mac拡張内容確認、PostScript:レベル2と3、フォントの保持:すべて、 優先フォーマット:True TypeでEPSを作成。Windowsの GSview 4.9のpdfwriteでPDFに変換。
-
設定:Macでは、 フォント代用なし、 EPS Mac標準内容確認認、PostScript:レベル2と3、フォントの保持:すべて、 優先フォーマット:True TypeでEPSを作成。Windowsの GSview 4.9のpdfwriteでPDFに変換。
-
設定:Macでは、 フォント代用なし、 PostScript作業、PostScript:レベル2と3、フォントの保持:すべて、 優先フォーマット:True TypeでEPSを作成。Windowsの GSview 4.9のpdfwriteでPDFに変換。
-
20101229_Mac_1511.pdf(作成できなかった)設定:Macでは、 フォント代用なし、 EPS内容確認なし、PostScript:レベル2と3、フォントの保持:なし、 優先フォーマット:True TypeでEPSを作成。Windowsの GSview 4.9のpdfwriteでPDFに変換。
-
設定:Macでは、 フォント代用なし、 EPS内容確認なし、PostScript:レベル2と3、フォントの保持:すべて、 優先フォーマット:Type 1でEPSを作成。Windowsの GSview 4.9のpdfwriteでPDFに変換。
-
設定:Macでは、 フォント代用あり、 EPS内容確認なし、PostScript:レベル2と3、フォントの保持:すべて、 優先フォーマット:Type 1(Type42フォーマットを作成しない)でEPSを作成。Windowsの GSview 4.9のpdfwriteでPDFに変換。
Macintosh OS9.2.2側では、用紙設定の「PostScript オプション」で「フォント代用」は半角の英数字に関してだけらしいのでチェックを入れても入れなくても変わらないと思うが、チェックを入れないほうが安心である。
プリントの「ファイルとして保存」の所ではフォーマットが4種類ある。「PostScript作業」を選べば一度に全ページをPostScriptに変換できるようだがEPS形式ではなく、プレビュー画像が必要なら「EPS Mac標準内容確認」などの方が良いらしい。「EPS Mac標準内容確認」は72dpiのビットマップデータを含むらしい。「EPS Mac拡張内容確認」はQuickDrawイメージを含むらしくプレビューなどはPICT画像で変形しても歪まないらしい。しかし、WindowsではPICTのベクターイメージを扱えるソフトがほとんど無いのではないだろうか。「EPS内容確認なし」はMacでは一般的に使われるだろう「EPS Mac拡張内容確認」からPICTイメージを取り除いたものなのだろう。これを選ぶなら「PostScript作業」を選んだ方が良いような気がするが、詳細は分からない。「PostScriptレベル」については「レベル3」が良いらしい。「レベル2と3」で「レベル3」だけを選択できないことによる問題はよく分からない。「フォントの保持」も「なし」「すべて」「標準13フォント以外」「PPDファイルに無いフォントのみ」の4種類あって、上の例のように「なし」を選ぶとWindowsで見ることができなくなるようである。PostScriptプリンタに内蔵されてないフォントをファイル内に保存するか否かの選択らしい。フォントの種類が異なるWindowsで見るためには「すべて」を選んでおくのが無難だろう。
プリントの「フォント設定」パネルの「フォント・ダウンロード」の「優先フォーマット」は「フォントをダウンロードする必要があるときに、Type 1 または TrueType フォーマットのどちらかをドライバに選択させる」らしい(参照)。ファイルで保存するときに関係あるとは思えないが「TrueType」を選んでおく方が無難な気がする。なぜならば、Type1フォントだと元のTrueTypeフォントと外観が異なったり、PDFファイル内で検索できないのかもしれないからである(参照)。「Type42フォーマットを作成しない」の選択があるが、この「Type42」とは「TrueTypeフォントをPostScriptプリンタで処理するための形式」らしい(参照)。また、「True Type フォントを Type 42 フォント(ネイティブともいう)で送信すると、TrueType フォントの外観が保持され、Type 1 フォントで置き換えられないようにする」らしく、テキストを検索できるようにするには「Type42」を使うのが最適らしい(参照)。ただ、「他の要素が影響することにより、検索できないテキストに変換されてしまう場合があります」(参照)ということらしく、上の例では色が変わっている「私のブログ:」などはPDFファイルでテキスト部分を選択できなくなっているので関係あるかもしれない。とにかく、「Type42フォーマットを作成しない」はチェックしない方が良さそうである。むしろ、「常にType42フォーマットを作成する」があれば、その方が良さそうである。
ところで、これを書いている間に、上の「20101229_Mac_1111.pdf」を開いてプロパティのフォントタブを見たら次のようになっていた。
種類の所に「Type 1」とある。検索できないのはこれが原因だろうか。
さて、EPSファイルをPDFに変換する仕組みに問題があるのなら、Windowsで作成したEPSファイルでも日本語テキストの検索やコピーができないはずである。
と、ここまで書いてからWindowsで同様のEPSファイルを作成してPDFファイルに変換してみた。日本語テキストの検索もコピーもできなかった。以前はできたのだが、それはTeraPadで作成したテキストファイルをプリント時にEPSファイルで出力してPDFに変換したのだった。その時は検索もコピーもできた。今回はFirefox 3.6.13で閲覧している私のサイトを印刷時にファイルへ出力して実験した。Windowsでも問題が生じたり生じなかったりするようである。
ファイルは次の通り。
-
EPF作成時の警告メッセージ: 20101229_Win_1_3.png、「文書のプロパティ」の「フォント」タブ: 20101229_Win_1_4.png、
-
EPF作成時の警告メッセージは無く、「文書のプロパティ」の「フォント」タブの画像は 20101229_Win_1.pdf と同じ。
-
EPF作成時の警告メッセージは無く、「文書のプロパティ」の「フォント」タブの画像は 20101229_Win_1.pdf と同じ。
20101229_Win_1.eps を作成するときだけ警告メッセージが生じたが、ファイルの異常には気付かなかった。
今回、Windowsで作成したEPSをGSview 4.9のpdfwriteでPDFに変換した場合も日本語テキストが検索できなかったりコピーできなかったりすることが分かったので、MacOS9.2.2だけの問題ではないと分かった。これでこの問題についての検討は終了する予定だったが、継続しなければならないようである。
コメント 0