フチ無し印刷について

Photo by (c)Tomoyuki.U( http://www.yun.co.jp/~tomo/photo.html )

1 余白のないフチ無し全面印刷をするには

Linux では、用紙に余白を入れないフチ無し全面印刷(以下、完全フチ無し印刷)を実現するためには、専用のアプリケーションが現状存在しないため、アプリケーションからの印刷では、注意が必要です。
したがって、完全フチ無し印刷をする場合には、コマンドラインのオプションのみで実現可能なターミナルからのコマンドラインモードでの印刷を推奨します。

2 ターミナルからの印刷

ターミナルからの印刷には、UI で設定を行うGUI モードと、コマンドラインで設定を行うコマンドラインモードの二つがあり、完全フチ無し印刷の実現方法が異なります。

2-1 コマンドラインモード

コマンドラインモードでは、bjfilter の起動オプションで、「--borderless 」、「--full 」、「--location center」を指定するだけで、容易に完全フチ無し印刷を実現することができます。
(原画像の中央部分が完全フチ無し印刷で出力されます。)

実行例:bjfilterbjs500 --borderless --location center --full image.bmp >/dev/lp0

2-2 GUI モード

GUI モードでは --full オプションにあたる印刷設定がありません。
そこで、以下の2 通りで、完全フチ無し印刷を実現する方法について説明します。

2-2-1 画像を加工しない方法

  1. bjfilter のUI 上で「フチ無し全面印刷」と「センタリング」を両方設定します。

  2. さらに必要であれば、bjfilter のUI 上で「拡大/縮小印刷」を設定し、画像が用紙を完全にはみ出すまで拡大します。
    その結果、原画像の中央部分が完全フチ無し印刷で出力されます。
    (拡大率は、原画像の物理サイズと用紙のサイズから計算することもできます。)

2-2-2 画像を加工する方法

  1. アプリケーションで画像の一部を切り取り、画像のアスペクト比を用紙のアスペクト比にあわせます。
    (GIMP などで画像の一部を切り取る。画像加工の例は「5. 画像の加工」を参照してください。)

  2. bjfilter のUI 上で「フチ無し全面印刷」と「フィットページ印刷(デフォルト設定)」を両方設定します。
    *用紙のアスペクト比と印字領域のアスペクト比が異なる場合に生じる差を分散させるため「センタリング」も選択することを推奨します。

3 アプリケーションからの印刷

アプリケーションから出力される画像は、指定されたサイズ(A4 など)のps ファイルとして出力されます。
そのため、アプリケーション上で用紙いっぱいに画像を配置していない場合は、bjfilter の「フィットページ印刷」オプションを指定しても、完全フチ無し印刷は実現できません。

また、多くのアプリケーションが、アプリケーション上で表示される画像にマージン(白枠)をつけたpsデータを出力しているため、bjfilter が受け取るデータにもマージンが付加されています。
その結果、アプリケーション上でページいっぱいに配置した画像を「フチ無し全面印刷」オプションを使用して印刷しても、用紙からのはみ出し量よりもアプリケーションが付加するマージン量のほうが大きいことがほとんどであるため、余白なしの完全フチ無し印刷をすることができません。

3-1 マージンをつけるアプリケーションの場合

マージン(白枠)をつけたps データを出力するアプリケーションの場合、「フチ無し全面印刷」オプションだけでは、余白なしの完全フチ無し印刷をすることができません。
そこで、画像範囲を示すBoundingBox コメントに基づき、ps データから画像データ部分のみを抽出して処理すると、アプリケーションの付加するマージンを排除することができます。

上記の画像領域抽出を行うには、アプリケーションの印刷設定画面で、印刷コマンドを指定する際に、lpr に<-J ”--bboxon ”>というオプションを指定します。

例:lpr -J”--bboxon” -Pbjs500usbps

アプリケーションによって、BoundingBox が信用できない場合や、印刷コマンドを指定できない場合があります。
そのため、BoundingBox を利用して完全フチ無し印刷を行うためには、以下の二つの条件を満たすアプリケーションを使用する必要があります。

  1. 正しいBoundingBox を設定する

  2. 印刷コマンドを指定することが可能である

上記の条件を満たすアプリケーションは限られているため、ここでは、完全フチ無し印刷を実現する方法について説明します。

3-1-1 BoundingBox を使用する場合

BoundingBox の値を使用できる場合は、以下の2 通りで、完全フチ無し印刷を実現します。

3-1-1-1 画像を加工しない方法
  1. bjfilter のUI 上で「フチ無し全面印刷」と「センタリング」を両方設定します。

  2. bjfilter のUI 上で「拡大/縮小印刷」を設定し、画像が用紙を完全にはみ出すまで拡大します。
    その結果、原画像の中央部分が完全フチ無し印刷で出力されます。

  3. (拡大率は、原画像の物理サイズと用紙のサイズから計算することもできます。)

3-1-1-2 画像を加工する方法
  1. アプリケーションで画像の一部を切り取り、画像のアスペクト比を用紙のアスペクト比にあわせます。
    (GIMP などで画像の一部を切り取る。画像加工の例は「5. 画像の加工」 を参照してください。)

  2. アプリケーションの印刷コマンドを設定する欄で、lpr コマンドに<-J”--bboxon”>をつけて印刷します。

  3. bjfilter のUI 上で「フチ無し全面印刷」と「フィットページ印刷(デフォルト設定)」を両方設定します。
    *用紙のアスペクト比と印字領域のアスペクト比が異なる場合に生じる差を分散させるため「センタリング」も選択することを推奨します。

3-1-2 BoundingBox を使用しない場合

BoundingBox の値を使用できない場合は、bjfilter の「拡大/縮小印刷」を利用して、出力サイズを調節する方法で完全フチ無し印刷を実現します。
処理はBoundingBox を使用する場合の画像を加工しない方法(3-1-1-1)と同様だが、アプリケーションの付加する余白を考慮して画像を拡大/縮小する必要があります。

  1. アプリケーションの印刷設定画面で、画像を中央に印刷するように設定します。

  2. bjfilter のUI 上で「フチ無し全面印刷」と「センタリング」を両方設定します。

  3. bjfilter のUI 上で「拡大/縮小印刷」を設定し、ps ファイルの画像領域が用紙を完全にはみ出すまで拡大する。その結果、原画像の中央部分が完全フチ無し印刷で出力されます。

3-2 マージンをつけないアプリケーションの場合

マージンをつけないアプリケーションの場合は、BoundingBox を使用しないでも完全フチ無し印刷を実現することができます。
ただし、「3 アプリケーションからの印刷」の冒頭で述べたように、アプリケーションの出力は、指定されたサイズ(A4 など)のps ファイルにされるため、アプリケーション上で用紙いっぱいに画像を配置していない場合は、ページフィットをしても余白なしの印刷結果は得られません。
そのため、アプリケーション上の領域いっぱいに画像を配置してから印刷する必要があります。この場合、ターミナルからの印刷の、「2-2-2 画像を加工する方法」と同様の方法で完全フチ無し印刷を実現することができます。

アプリケーション上の印刷領域いっぱいに画像を配置できない場合は、マージンをつけるアプリケーションの「3-1-2 BoundingBox を使用しない場合」の手順2.以降で、完全フチ無し印刷を実現します。
また、BoundingBox を使用して、マージンをつけるアプリケーションの「3-1-1 BoundingBox を使用する場合」と同様の操作でも、完全フチ無し印刷をすることができます。

4 アプリケーション情報

各種アプリケーションの動作は以下の2つに分けられます。

  1. 出力するps ファイルにマージン(余白)をつけないアプリケーション
    これらのアプリケーションでは、BoundingBox を使用しなくても、各アプリケーション上の設定で画像が用紙をはみ出すように配置するなどの調節をすることで、完全フチ無し印刷が可能です。
  2. BoundingBox を利用できるアプリケーション

  3. これらのアプリケーションでは、BoundingBox の値が正確に記述されるため、<-J ”--bboxon ”>オプションを使用することで、完全フチ無し印刷が可能です。

5 画像の加工

画像を加工して用紙のアスペクト比に合わせる方法の例を示します。

《GIMP を使用する場合》

  1. 現在のサイズの確認
    画像のサイズ(ピクセル数)は、「画像->拡大縮小...」もしくは「画像->サイズ変更...」で、現在のサイズを確認することができます。

  2. 矩形選択ツールを選択、ツールオプションを設定

  3. 選択領域を決定

  4. 選択した領域をコピーし、新しい画像に保存