Emacsは、バッファーの全体、または一部のハードコピーを印刷するコマンドを提供します。以下で詳しく述べるとおり、直接印刷コマンドを呼び出したり、メニューバーの‘File’メニューを使うことができます。
このセクションで説明するコマンドとは別に、Dired(ファイルにたいする操作を参照してください)からハードコピーを印刷したり、ダイアリー(ダイアリーの表示を参照してください)から印刷することもできます。コマンドM-x htmlfontify-bufferで、EmacsバッファーをHTMLに“印刷”することもできます。これはEmacsのフェイスをCSSベースのマークアップに置換して、カレントバッファーをHTMLに変換します。さらにOrgモード(Orgモードを参照してください)では、OrgファイルをPDFのような様々なフォーマットに印刷できます。
ファイル名を含むページヘッダーとともに、カレントバッファーのハードコピーを印刷します。
ページヘッダーなしで、カレントバッファーのハードコピーを印刷します。
print-bufferと同様ですが、カレントリージョンだけを印刷します。
lpr-bufferと同様ですが、カレントリージョンだけを印刷します。
ほとんどのオペレーティングシステムでは、上記のハードコピーコマンドは、lprプログラムを呼び出して、印刷のためにファイルをサブミットします。印刷プログラムを変更するには、変数lpr-commandをカスタマイズします。追加のスイッチを指定して、印刷プログラムにに与えるには、リスト変数lpr-switchesをカスタマイズします。この変数の値はオプション文字列のリストで、それぞれが‘-’で始まります(たとえばオプション文字列"-w80"は1行に80列を指定します)。デフォルトは、空リストnilです。
使用するプリンターを指定するには、変数printer-nameをセットします。デフォルトはnilで、これはデフォルトプリンターを指定します。これにプリンター名(文字列)をセットした場合、その名前は‘-P’スイッチとともにlprに渡されます。lprコマンドを使用しない場合は、スイッチをlpr-printer-switchで指定する必要があります。
同様に変数lpr-headers-switchesは、ページヘッダーを作成するために使用する追加のスイッチを指定します。変数lpr-add-switchesは、印刷プログラムに‘-T’および‘-J’オプション(lpr向きのオプションです)を渡すかどうかを制御します。nilは、これらを追加しないことを意味します(印刷プログラムがlpr)互換でない場合は、この値を使用するべきです)。