2010年10月03日

Excelで作成した設計書を画面どおりに印刷したい

だいぶ仕事が落ち着いてきており、毎日余裕が出てきました。
うれしい限りですが、今使っているキーボードが身体にあわず、すぐにキーを打ち間違えてしまいます。さすがにドンキで特に何も考えずに買ってしまっただけあり、自分の中で反省です。

さて、会社でいろいろと仕事の種を作っているところではありますが、本業の案件では設計書やらテスト仕様書やらマニュアルやらを書いています。
どうしても都合上、WordではなくExcelで書かないといけないのですが、多くの人が悩んでいる通り、Excelは画面どおりに印刷されません。
日本人はExcelのセルを方眼用紙に見立て、DTPみたいな使い方を強要する謎の文化が存在します。Excelしか使えないと公言する方もいるぐらいです。。。私としてはワープロのほうが良いのですが。。。さらに言えば、TeXあたりがとも思ってしまいます。

さて、このExcel、ネットで調べてみると多くの意見はプリンタドライバと画面のドライバが違うからという意見が多いように見えます。これは分かりやすく説明してくれているのでしょうが、最初は「?」でした。ということで自分なりに色々と実験をしてみました。

結論から言えば、制限が若干あり、画質は落ち直接プリンタに印刷できず一旦PDF経由になりますが、見た目どおり印刷は可能です。

画面は画面のプロパティから設定される文字の大きさによって表示される基本サイズが変ります。画面のプロパティでは文字は96dpi(dpiは、1インチあたりに表示するドット数です。Windowsの画面ではこの値をベースにして画面の文字サイズが決定されます。96の値を変更して増やすと、文字が大きくなります。いろいろと違和感を感じますが、要はこの値をベースにしてExcelは画面を表示しています。

次にプリンタです。プリンタはプリンタごとにこのdpiが違います。そして、だいたいが300dpiからです。つまり、このdpiが違うことによりずれてしまうといえます。
試しに画面のdpiを300に変更してからExcel文書を作成し印刷してみてください。もしExcelの表示サイズが100%であれば画面の見た目どおり印刷されるのではないでしょうか。ただし、ディスプレイによってはダメかもしれません。

ですが、画面の見た目を300dpiにすると文字が大きすぎて使いにくい状態です。よって、プリンタのほうを96dpiにしてあげると良い感じになります。もちろん、プリンタはだいたい300dpiからですので、

1. そもそも設定を変更できない
2. 設定できても画質が悪そうだ(これは設計書メインならば無視できます)

という課題があります。2はおいておいても1は何とかしたいところです。ということで、いくつか対応方法を考えました。

a. PDF出力するソフトウェアで何とかできないか
b. プリンタドライバのdpiを変更できないか
c. プリンタドライバを自作する

結局一番手軽だったのは、aとbのPDFプリンタの設定ファイル変更を組み合わせるものです。
今回はその方法を紹介します。が、システムが動作しない、プリンタが動作しなくなった等が発生したとしても、私は一切責任をとりませんので、了承できる方のみ続きをお読みください。

今回利用させていただいたのはCubePDFです。このソフト、どうやら中はGhostScriptを利用しているのですが、すぐに最新の9.00になっていました。 Bullzip PDF Printerでも良いのですが、こちらはまだ9.00ではなく、見た目がきれいにならないので変更しました。
無償で更改してくださっているCubeSoft様、ありがとうございます。

ちなみにCubePDFをインストールしますが、CubeToolbarは入れていません。

その後、Windows\System32\Spoolフォルダのさらに子供のフォルダにCUBEPDF.PPDというファイルがあります。どのフォルダにあるかはOSによって違いますので、ここでは割愛します。
このCUBEPDF.PPDというファイルをこのファイルに置換します。ちなみにこれは勝手に書き換えておりますので動作保証外かと思います。

これで、ある程度好きなdpiをプリンタドライバから選択できます。
画面のプロパティのdpiと同じ値を設定して印刷してみてください。
どうでしょうか?ちなみに画面の表示を100%にしているかなどでもずれたりするので、根本的にはやはり難しいものがあります。。。

ちなみに、印刷範囲を改ページプレビューで変更している場合、おそらくページ設定の拡大縮小印刷の%が100ではないと思います。
その際は、[画面のdpi] * ([Excelの拡大縮小値] + 1) / 100の値をdpiにすると、印刷範囲はずれてしまいますがだいたい一致するようになります。

できれば、Excelがきれいに出力できるようにオプション変更できるとうれしい限りですね。
posted by Kiruahさん at 00:10| Comment(0) | TrackBack(0) | ノウハウ
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/41068479
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック