rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

UTF-8テキストファイル・POSTSCRIPTファイル・PDFファイル変換、コマンドラインでの印刷

2024 Jan. 20.
2023 Feb. 23.
2023 Jan. 29.

参照元
なにかやったら書くブログ: UTF-8で書かれた日本語テキスト, テキストファイルをPostScriptに変換する方法(2019/11)
テキストファイルをページ番号付きでコマンドラインから印刷したい -ut- UNIX・Linux | 教えて!goo

utf-8テキストファイルをpostscriptファイルに変換するフィルターソフト paps

(Ubuntuでのインストール)

$ sudo apt update && sudo apt install paps


utf-8テキストファイルのpostscriptファイルへの変換

$ paps --header UTF-8TEXT-FILE > POSTSCRIPT-FILE
 headerオプションで日時、ファイル名、ページ番号が各ページのヘッダに挿入される

ファイル名が長いとheaderオプション出力がページ番号と重なって判読できない。

下記コマンドでは、headerオプションでのファイル名がstdinとなり、ページ番号と重なって判読できないのを防げる。
$ cat UTF-8TEXT-FILE | paps --header  > POSTSCRIPT-FILE


postscriptファイルのpdfファイルへの変換

$ cat POSTSCRIPT-FILE | ps2pdf - > PDF-FILE


utf-8テキストファイルのpdfファイルへの変換

$ paps --header UTF-8TEXT-FILE | ps2pdf - > PDF-FILE


utf-8テキストファイルの印刷

postscriptファイルに変換して印刷する

出力先プリンター確認

/etc/printcapに書かれている
下記例では Brother_DCP_J562N

$ cat /etc/printcap

# This file was automatically generated by cupsd(8) from the
# /etc/cups/printers.conf file.  All changes to this file
# will be lost.
Brother_DCP_J562N|Brother DCP-J562N:rm=pc17:rp=Brother_DCP_J562N:
印刷コマンド実行

(postscriptファイルの印刷)
lpr -P プリンター POSTSCRIPTファイル
あるいは
cat POSTSCRIPT-FILE | lpr -P プリンター

(片面印刷)
$ paps --header UTF-8TEXT-FILE | lpr -P Brother_DCP_J562N
あるいは
$ cat UTF-8TEXT-FILE | paps --header | lpr -P Brother_DCP_J562N

(両面印刷)
$ paps --header UTF-8TEXT-FILE | lpr -P Brother_DCP_J562N -o Duplex=DuplexNoTumble
あるいは
$ cat UTF-8TEXT-FILE | paps --header | lpr -P Brother_DCP_J562N -o Duplex=DuplexNoTumble

(プリンター取得自動化)
$ MyPrinter=$(grep -m 1 "^[^#]" /etc/printcap | sed "s/|.*//")
$ paps --header UTF-8TEXT-FILE | lpr -P "$MyPrinter" -o Duplex=DuplexNoTumble

参考ページ
両面印刷の設定 - adbird(広告鳥) 備忘録
両面印刷