Linux -> プリンタ管理

PDFファイルの印刷

PostScript フォーマットへの変換

Linux で PostScriptプリンタに PDFファイルを印刷する場合、
PS(PostScript)形式のファイルに変換すると印刷できる。

ghostscript パッケージでの変換

ghostscript パッケージの gs コマンドを使用する場合、
基本的なパラメータがあらかじめ設定されている pdf2ps シェルスクリプト
がパッケージに含まれるのでこれを使う。
/usr/bin/pdf2ps
#!/bin/sh
# Convert PDF to PostScript.

OPTIONS=""
while true
do
        case "$1" in
        -?*) OPTIONS="$OPTIONS $1" ;;
        *)  break ;;
        esac
        shift
done

if [ $# -eq 2 ]
then
    outfile=$2
elif [ $# -eq 1 ]
then
    outfile=`basename "$1" \.pdf`.ps
else
    echo "Usage: `basename $0` [-dASCII85EncodePages=false]
                   [-dLanguageLevel=1|2|3] input.pdf [output.ps]" 1>&2
    exit 1
fi

# Doing an initial 'save' helps keep fonts from being flushed between pages.
# We have to include the options twice because -I only takes effect if it
# appears before other options.
exec gs $OPTIONS -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pswrite
                            "-sOutputFile=$outfile" $OPTIONS -c save pop -f "$1"
#

参考 gs の help (オプション)

# gs -h
GNU Ghostscript 7.07 (2003-05-17)
Copyright (C) 2003 artofcode LLC, Benicia, CA.  All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
 -dNOPAUSE           no pause after page   | -q       `quiet', fewer messages
 -gx  page size in pixels   | -r  pixels/inch resolution
 -sDEVICE=  select device         | -dBATCH  exit after last file
 -sOutputFile= select output file: - for stdout, |command for pipe,
                                         embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PDF
Default output device: display
Available devices:
   AP21xx DJ630 DJ6xx DJ6xxP DJ8xx DJ9xx DJ9xxVIP alc1900 alc2000 alc4000
   alc4100 alc8500 alc8600 alc9100 ap3250 appledmp atx23 atx24 atx38 bbox
   bit bitcmyk bitrgb bj10e bj10v bj10vh bj200 bjc600 bjc800 bjc880j bjccmyk
   bjccolor bjcgray bjcmono bmp16 bmp16m bmp256 bmp32b bmpa16 bmpa16m
   bmpa256 bmpa32b bmpamono bmpasep1 bmpasep8 bmpgray bmpmono bmpsep1
   bmpsep8 ccr cdeskjet cdj1600 cdj500 cdj550 cdj670 cdj850 cdj880 cdj890
   cdjcolor cdjmono cfax cgm24 cgm8 cgmmono cljet5 cljet5c cljet5pr coslw2p
   coslwxl cp50 cups declj250 deskjet dfaxhigh dfaxlow display dj505j
   djet500 djet500c dl2100 dmprt dnj650c epl2050 epl2050p epl2120 epl2500
   epl2750 epl5800 epl5900 epl6100 epl6200 eps9high eps9mid epson epsonc
   epswrite escp escpage faxg3 faxg32d faxg4 fmlbp fmpr fs600 gdi hl1250
   hl7x0 ibmpro ijs imagen inferno iwhi iwlo iwlq jetp3852 jj100 jpeg
   jpeggray la50 la70 la75 la75plus laserjet lbp310 lbp320 lbp8 lex2050
   lex3200 lex5700 lex7000 lips2p lips4 lips4v lj250 lj3100sw lj4dith
   lj4dithp lj5gray lj5mono ljet2p ljet3 ljet3d ljet4 ljet4d ljet4pjl
   ljetplus ln03 lp1800 lp1900 lp2000 lp2200 lp2400 lp2500 lp2563 lp3000c
   lp7500 lp7700 lp7900 lp8000 lp8000c lp8100 lp8200c lp8300c lp8300f
   lp8400f lp8500c lp8600 lp8600f lp8700 lp8800c lp8900 lp9000b lp9000c
   lp9100 lp9200b lp9200c lp9300 lp9400 lp9500c lp9600 lp9600s lp9800c lq850
   lx5000 lxm3200 lxm5700m m8510 mag16 mag256 md1xMono md2k md50Eco md50Mono
   md5k mgr4 mgr8 mgrgray2 mgrgray4 mgrgray8 mgrmono miff24 mj500c mj6000c
   mj700v2c mj8000c ml600 necp6 npdl nullpage oce9050 oki182 okiibm omni
   oprp opvp paintjet pbm pbmraw pcl3 pcx16 pcx24b pcx256 pcxcmyk pcxgray
   pcxmono pdfwrite pgm pgmraw pgnm pgnmraw photoex picty180 pj pjetxl pjxl
   pjxl300 pkm pkmraw pksm pksmraw plan9bm png16 png16m png256 pngalpha
   pnggray pngmono pnm pnmraw ppm ppmraw pr1000 pr1000_4 pr150 pr201 psgray
   psmono psrgb pswrite pxlcolor pxlmono r4081 sgirgb sj48 st800 stcolor
   sunhmono t4693d2 t4693d4 t4693d8 tek4696 tiff12nc tiff24nc tiffcrle
   tiffg3 tiffg32d tiffg4 tifflzw tiffpack uniprint x11 x11alpha x11cmyk
   x11cmyk2 x11cmyk4 x11cmyk8 x11gray2 x11gray4 x11mono x11rg16x x11rg32x
   xes
Search path:
   . : /usr/share/ghostscript/7.07/lib : /usr/share/ghostscript/7.07/vflib :
   /usr/share/ghostscript/fonts : /usr/share/fonts/default/ghostscript :
   /usr/share/fonts/default/Type1 : /usr/share/fonts/default/amspsfnt/pfb :
   /usr/share/fonts/default/cmpsfont/pfb
For more information, see /usr/share/doc/ghostscript-7.07/Use.htm.
Report bugs to bug-gs@ghostscript.com, using the form in Bug-form.htm.
#

使用例

 man.pdf(PDF) を man.ps(PS形式) へ変換する
# pdf2ps man.pdf man.ps
# ls -l man.*
-rw-r--r--  1 root root 788899  7月 23 18:54 man.pdf
-rw-r--r--  1 root root 260542  7月 25 15:30 man.ps
#

このファイルを印刷する
#lp man.ps
#

Linux用の Adobe をインストールする

Adobe のサイトから Linux用パッケージをダウンロードし、インストールする。
acroread コマンドがあるのでこれを使うとコマンドラインで PDF から PS形式へ変換できる

acroread での変換例


 インストールした Adobe Reader
# rpm -aq | grep -i adobe
AdobeReader_jpn-7.0.9-1
#

  acroreadのディレクトリへ移動する
# pwd
/usr/local/Adobe/Acrobat7.0/bin
#

  test.pdf を PS形式へ変換しようとするが、
  なぜか DISPLAY変数が設定されていないと エラーになってしまう

# acroread -toPostScript test.pdf
(acroread:4503): Gtk-WARNING **: cannot open display:
#

  DISPLAY変数を設定後再度実行する
# export DISPLAY=192.168.100.101:0.0
# acroread -toPostScript test.pdf
# ls -l test*
-rw-r--r--  1 root root  24422  7月 23 19:24 test.pdf
-rw-------  1 root root 229175  7月 25 15:57 test.ps
#

acroread のオプション #acroread -help

使用法 :/usr/bin/acroread [オプション] [ファイルリスト]

オプション :
    --display=
        このオプションは、使用するホストおよびディスプレイを指定します。
    --screen=
        X スクリーンを使用します。このオプションは、
        DISPLAY 環境設定のスクリーン部分をオーバーライドするときに使用します。
    --sync
        X コールを同期させます。これによりプログラムの処理速度が大幅に低下します。
    -geometry [<幅>x<高さ>][{+|-}{+|-}]
        ドキュメントウィンドウのサイズおよび/または場所を指定します。
        注意 :このオプションは位置に依存し、
        複数回指定することがあります。geometry は、後続のファイルリストにのみ
        影響します。
    -help
        一般的なコマンドラインオプションをプリントします。
    -iconic
        デスクトップ上にアイコンとして起動します。
    -setenv <変数>=<値>
        C-shell の setenv <変数> <値>
        に相当する環境変数をメインアプリケーションに伝えます。
    -tempFile
        コマンドライン上にリストされたファイルが一時ファイルであることを示し
        最新のファイルリスト内に含めません。文書の
        タイトルはファイル名ではなく pdf 文書のタイトルに
        なります。
    -tempFileTitle <タイトル>
        タイトルを指定できる点を除き -tempFile と同じです。
    -toPostScript [オプション] pdf_ファイル ... [ps_ディレクトリ]
    -toPostScript [オプション] -pairs pdf_ファイル_1 ps_ファイル_1 ...
    -toPostScript [オプション]
        指定した pdf_ファイルを PostScript に変換します。

        最初の方法では、指定した最後のファイルがディレクトリの場合
        それ以前のすべてのファイルが PostScript に変換されます。
        生成された PostScript ファイルは ps_dir 内に保存されます。
        ディレクトリが指定されない場合、PostScript ファイルは
        元のファイルと同じディレクトリに保存されます。

        2 番目の方法では、ファイルリストはペアで指定します。
        それぞれ、PDF ファイル名とそれに対応する PostScript
        ファイル名です。

        3 番目の方法では、フィルタを指定します。標準入力から
        PDF を読み込み、標準出力から PostScript ファイルを
        出力します。

        注意 :-toPostScript を使用するときは、コマンドラインで
        最初に渡される引数である必要があります。

        以下は PDF から PostScript への変換で有効な
        オプションです。

        -binary - バイナリ PostScript を発行(可能な場合)
        -start  - 変換する文書の開始ページを
           指定します(デフォルトでは文書の先頭ページ)
        -end  - 変換する文書の終了ページを
           指定します(デフォルトでは文書の最終ページ)
        -optimizeForSpeed - すべてのフォント情報を文書の先頭に記載した
           PostScript ファイルを発行します。これにより、
           送信速度が速くなり、PostScript 文書のサイズも
           抑えられますが、より多くの PostScript プリンタの仮想メモリを
           必要とします。
        -landscape - ページを横置きに回転
        -reverse - ページを逆順で印刷
        -odd - 奇数ページのみを発行
        -even - 偶数ページのみを発行
        -commentsOff - 注釈を印刷しない
        -annotsOff - 注釈を印刷しない
        -stampsOff - スタンプをプリントしない
        -markupsOn - 文書とマークアップを印刷する
        -level2 - PostScript レベル 2 を発行(level1 はサポートしていません)
        -level3 - PostScript レベル 3 を発行
        -printerhalftones - プリンタのデフォルトのハーフトーン設定を使用します。
        -saveVM - プリンタメモリ節約のために必要時にフォントをダウンロードします
        -size - 用紙サイズ(letter、tabloid、ledger、legal、a3、a4、a5、b4、b5)
        -scale  - 拡大・縮小率に合わせてページを拡大・縮小
           (デフォルトは 100 %)
        -shrink - 用紙サイズに合わせて大きいページを縮小
        -expand - 用紙サイズに合わせて小さいページを拡大
        -size  - 用紙サイズを設定します。以下のページサイズを
           指定できます。
              letter - レターサイズ
              tabloid - タブロイドサイズ
              ledger - ledger size paper
              legal - リーガルサイズ
              executive - エグゼクティブサイズ
              a3 - ISO 規格 A3 サイズ
              a4 - ISO 規格 A4 サイズ
              a5 - ISO 規格 A5 サイズ
              b4 - ISO 規格 B4 サイズ
              b5 - ISO 規格 B5 サイズ
              wxh - カスタムの用紙サイズ。w は幅、
                 h は高さ(整数値、単位はポイント)
        -transQuality level - 透明部分の分割・統合レベルを
           1-5 の値で指定します。1 はすべてラスタライズ、
           5 は最小限のラスタライズ、デフォルトは 3 です。
    -openInNewWindow
        既に起動されているかのチェックを行わず、新規ウィンドウで
        アプリケーションを起動します。
    -version
        バージョン情報をプリントし、終了します。
    -visual <ビジュアルクラス> [depth=<深さ>]
    -visual id=<ビジュアル ID>
    -visual best
    -visual default
        ビジュアルを指定します。

        最初の方法では、ビジュアルクラス(名前または番号のいずれかで指定)
        と深さ(オプション)で使用するビジュアルを
        決定します。

        2 番目の方法では、ビジュアル ID を指定します。16 進数を使用するときは、
        接頭辞 0x を使用する必要があります。

        3 番目の方法では、深さおよびビジュアルクラスに基づいた
        内部アルゴリズムを使用します。

        4 番目の方法では、単純にデフォルトのビジュアルを使用します。

        PseudoColor ビジュアルの深さは 8 以上になることに注意してください。
        DirectColor ビジュアルはサポートしていません。
#

テキストファイルを PostScriptプリンタへ出力する場合

テキストファイルを PostScript プリンタへ出力する場合は、
/usr/bin/a2ps ( a2ps パッケージ )で変換する。

/etc/group ファイルを a2ps で PS形式へ変換後 プリンタへ出力する

#a2ps /etc/group | lp
[/etc/group (プレーン): 1ページ, 1シート]
[合計: 1ページ, 1シート] 標準プリンタへ転送します
request id is XEROX3_lp-44 (1 file(s))
#
      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google