Pages

2014年11月5日水曜日

帳票システム設計ノウハウ!~ドライバ印刷におけるスプールデータの話~

初めまして。担当の山本と申します。
今回は、ドライバ印刷におけるスプールデータの話をします。

ドライバ印刷とは、プリンタドライバを使用して行う印刷のことです。
スプールデータとは、プリンタドライバがプリンタに印刷をさせるために生成するデータのことです。印刷をするとプリンタに送る前にディスクに一時的に保管され、印刷が完了したらなくなってしまうので、その細かい情報まで気にする人はあまりいないかもしれません。

しかし、大量帳票を印刷する際は、スプールデータのサイズが問題となる場合があります。同じデータ(帳票など)を印刷する場合でも、プリンタドライバ(すなわちプリンタ)によりスプールデータのサイズが大きく違う場合があって、時に驚くほど巨大なサイズになり印刷に時間がかかるだけでなく、ネットワーク負荷がかかることで会社のネットワークを使う他の業務に影響がでるかもしれません。

そして、今回は興味本位で色々なパターンでスプールサイズを調べてみましたので、紹介させていただきます。なお、試してみたプリンタは、弊社で使わせてもらっているものや、最近の案件で利用されたドライバなどを使っています。

試して見たのは次のパターンです。
印刷するデータは次の通り。
 ・ファイル形式=Excelファイル(XLS)とPDF
 ・ページ数=10ページ、100ページ、1000ページ

















まず、Excelで適当に作った納品書(仮)。
それを、コピー&ペーストを繰り返して10,100,1000ページのものも用意します。
そして、それぞれPDF化しておきます(今回はPrimoPDFを使用)。
ファイルサイズは1000ページのXLSが2.086MB、同じくPDFが1.947MBで、どちらも約2MBです。

ドライバは次の通り
 ・Microsoft XPS Document Writer
 ・FX DocuCentre-II C4300
 ・FX ApeosPort-III C7600
 ・FX 650J Continuous Feed PS3
 ・RICOH IPSiO SP 9100Pro RPCS
 ・Canon LBP3920/3970 LIPS
 ・NEC MultiWriter8250N NPDL

ちなみにMicrosoft XPS Document Writerは、Windowsにデフォルトで入っている仮想プリンタで、実際のプリンタで印刷を行うものではなく、XPSファイルを出力するものです。

後はAdobe ReaderとExcelで、ドライバを指定して印刷します。

ここで、念のため、知っている方も多いと思いますが、スプールサイズの確認方法を説明します。
Windowsでは「コントロールパネル」→「デバイスとプリンター」から対象のプリンタを右クリックして「印刷ジョブの表示」を選択します。スプールデータの生成が始まると「サイズ」列にスプールサイズが表示されますが、上で書いたように、生成が完了するとすぐにプリンタに送られて消えてしまいます。よって今回はサイズを確認しやすいように、プリンタ(スプーラ)を一時停止にしておきます。また、印刷ジョブのプロパティを見るとさらに詳細な数値が見られます。



スプールサイズを調べた結果がこちら。一概に少なければいいというわけではないので、その辺りはご了承ください。結構違いが出てきました。
・XPSはファイル出力なのでほぼ違いはない
・同じメーカー(F社)でもドライバによってスプールサイズが大きく異なる
・例えばF社とC社。PDFのスプールサイズが小さくても、逆にXLSのスプールサイズは大きいという場合もある
・基本的にはPDF>
XLS(最大約19倍)。一部例外あり 


結構違いが出てきました。
・XPSはファイル出力なのでほぼ違いはない
・同じメーカー(F社)でもドライバによってスプールサイズが大きく異なる
・例えばF社とC社。PDFのスプールサイズが小さくても、逆にXLSのスプールサイズは大きいという場合もある
・基本的にはPDF>XLS(最大約19倍)。一部例外あり 
・スプールサイズがページ数に比例しないパターンがいくつか存在する
・R社のドライバだけ妙にサイズが大きい

ちなみにPDF化の方法に応じてPDFファイルのサイズも変わってきますが、スプールサイズは同じになるようです。

次回はアプリケーションによる違い(例えばOpenOffice CalcでXLSファイルを印刷)も調べてみたいと思います。

0 件のコメント:

コメントを投稿