Macでコマンドから印刷する方法

※本ページにはプロモーション(広告)が含まれています。
Macでコマンドから印刷する方法

ターミナルで印刷しようとして操作に迷ってしまった方に向けて、やさしく具体的な手順を用意しました。

この記事を読むとコマンドから直接ファイルを印刷する流れがつかめます。設定や接続のコツを押さえてスクリプトに組み込む応用まで学べます。

項目内容
実体験に基づく手順実際に試して成功したコマンドと画面の流れを詳しく説明します。
トラブル対応のコツ接続エラーや権限問題の素早い確認方法と解決策を紹介します。
プログラマー向け応用例スクリプト化や自動化の具体例をサンプル付きで解説します。

ここから順を追って進めればコマンド一発で印刷できる自信がつきますので気楽に読み進めてください。

Macエンジニア

最初は戸惑うかもしれませんがゆっくり落ち着いて進めれば必ずできるようになりますから安心してついてきてくださいね。

目次

Macでターミナルからファイルを印刷する方法

Macでターミナルからファイルを印刷する方法

ターミナルからファイルを印刷するのは意外と気軽にできます。lpやlprというコマンドを使えば、PDFやテキストをそのままプリンターに送れます。コマンド操作が苦手でも、手順を覚えれば作業を自動化して時短にできます。

事前準備としてプリンターがシステム設定で使える状態になっていることを確認してください。ネットワークプリンターの場合はドライバーや共有設定に注意すると失敗が減ります。慣れてくるとスクリプトからまとめて印刷するのが楽になります。

  • lpやlprで直接プリントする方法(シンプルでスクリプト向き)。
  • openコマンドでPreviewを開きGUIで印刷する方法(確認しながら出したいとき)。
  • osascriptやAutomatorでAppleScript経由にして柔軟に制御する方法。

Macのターミナルでlpコマンドを使うパターン

Macのターミナルでlpコマンドを使うパターン

lpコマンドはプリンター名や用紙指定、部数などを細かく指定できます。基本はlp ファイル名で、よく使うオプションは-dでプリンター指定、-nで部数指定、-oで詳しい印刷オプションを渡すことです。

プリンター名はlpstatコマンドで確認できますし、ファイルパスにスペースがある場合は引用符で囲むと安心です。プログラマー向けの小技として、findやxargsと組み合わせて大量ファイルを順に送ることも簡単にできます。

Macのアプリケーションフォルダからターミナルを起動する場所と方法

  1. Finderでアプリケーションフォルダを開く→ユーティリティフォルダ内のターミナルをダブルクリックする手順。
  2. Spotlightを使う場合は画面右上の虫眼鏡を押して「ターミナル」と入力して起動する手順。
  3. Dockにドラッグしておけば次回からワンクリックで起動できる便利な方法。

ターミナルでlpを使ってPDFを印刷する具体的なコマンド例

  • デフォルトプリンターに送る場合:lp sample.pdf (指定がなければ既定のプリンターへ送信されます)。
  • 特定プリンターへ送る場合:lp -d Printer_Name sample.pdf (プリンター名はlpstatで確認)。
  • 部数や両面を指定する場合:lp -d Printer_Name -n 2 -o sides=two-sided-short-edge sample.pdf。
  • ページ指定して印刷する場合:lp -d Printer_Name -P 1-3 sample.pdf (1〜3ページのみ印刷)。

印刷後にlpstatでジョブを確認するコマンドと見方

手順
ジョブ一覧を確認する

lpstat -o で現在の印刷ジョブ一覧が表示されます。表示にはジョブID、ユーザー名、ファイル名が含まれるので対象を特定しやすいです。

手順
プリンターの状態を確認する

lpstat -p で各プリンターの状態が見られます。停止中やエラーが出ているとジョブが進まないのでここをチェックしてください。

手順
不要なジョブを取り消す

cancel ジョブID で該当ジョブを取り消せます。ジョブIDはlpstat -oの先頭に表示される番号を指定します。

Macで印刷ジョブを確認とキャンセルする方法

Macで印刷ジョブを確認とキャンセルする方法

ターミナルから印刷ジョブを確認したりキャンセルしたりするときは、落ち着いて手順を踏めば怖くありません。lpstatやlpqで現在のキューを確認し、表示されたジョブIDを使ってcancelやlprmで不要なジョブだけを削除します。

主に使う方法は三つあります。プリンター一覧とデフォルト確認、ジョブ一覧の表示、ジョブ指定での削除です。

普段からjobIDを確認する習慣をつけると安心です。リモートで作業しているときやGUIでうまくいかないときにターミナル操作は特に頼りになります。

  1. プリンター一覧とデフォルトを確認する。lpstat系コマンドを使います。
  2. ジョブ一覧を表示してjobIDと送信者を確認する。間違えて他人のジョブを消さないように注意します。
  3. jobIDを指定してcancelやlprmで削除する。全削除は最後の手段にします。
Macエンジニア

慌てず順番に進めれば大抵は解決します。jobIDをメモしておくと作業がスムーズになりますよ、と気軽に伝えておきます。

Macのターミナルで印刷キューの状態を確認するパターン

Macのターミナルで印刷キューの状態を確認するパターン

ターミナルで印刷キューを確認する基本パターンはとてもシンプルです。まずlpstatやlpqで現在のプリンターとジョブを一覧表示して、各行に表示されるjobIDや送信者を把握します。

jobIDは削除コマンドで使う重要な情報なので、表示形式を見てどの部分がIDかを確認してください。複数プリンターがある環境ではprinter名も一緒に確認すると安全です。

lpstatやlpqでプリンター一覧とジョブ一覧を確認する具体的なコマンド

項目内容
lpstat -p -dインストールされているプリンター一覧とデフォルトプリンターを表示します。まずプリンター名を確認したいときに便利です。
lpstat -o送信済みのジョブ一覧を表示します。ジョブIDとプリンター名、送信者が確認できます。
lpq -P プリンター名指定したプリンターのキューを簡潔に確認できます。短く一覧を見たいときに使います。

Macのターミナルで印刷ジョブをキャンセルするパターン

Macのターミナルで印刷ジョブをキャンセルするパターン

印刷ジョブをキャンセルするパターンもいくつかあります。個別のjobIDを指定して削除するのが基本で、どうしても必要なときにprinter全体のジョブを一括削除する方法もあります。

まずはlpstat -oで該当のjobIDとプリンター名を確認してください。誤って他人のジョブを消さないように送信者やプリンター名を必ず目で確認することが大切です。

cancelやlprmでジョブIDを指定してジョブを削除する具体的なコマンド例

項目内容
cancel ジョブID特定のジョブを削除します。jobIDはlpstat -oの出力で確認してください。
cancel -P プリンター名 -a指定プリンターの全ジョブをまとめて削除します。取り消しはできないので注意してください。
lprm ジョブID古いBSD系のコマンドでジョブを削除できます。環境により使えるか確認してください。

Macからネットワークプリンターにコマンドで送る方法

Macからネットワークプリンターにコマンドで送る方法

ネットワークプリンターにコマンドで送ると手早く印刷できて便利です。ターミナルから直接送るときはIPやURIを指定してCUPSのlpコマンドを使うのがいちばんシンプルです。慣れると自動化やスクリプト化がとても楽になります。

  1. URIを直接指定して送る方法。ipp://で始まるURIを使うのが一般的です。
  2. プリンター名やホストを指定して送る方法。既定プリンターを使いたいときに便利です。
  3. lpoptionsやCUPSの設定で事前登録しておきコマンドから呼び出す方法。繰り返し使うときに楽になります。

プログラマー的なちょっとしたコツとしてはプリンターごとにURIの書式や認証方法が違う点に注意してください。最初は小さなPDFでテスト印刷して動作を確認することをおすすめします。

MacのターミナルでプリンターURIやIPを指定して印刷するパターン

MacのターミナルでプリンターURIやIPを指定して印刷するパターン

ターミナルでIPやURIを指定して印刷するときはプロトコルに注意してください。多くのプリンターはIPP(印刷プロトコル)に対応しておりipp://で指定する書式が使えます。

一般的にはlpコマンドにプリンターURIを渡すだけで動きます。まずは次のコマンドを実行して挙動を確認してください。

lp -d ipp://192.168.1.50/ipp/print sample.pdf

lpでIPPやipp://IPアドレスなどのURIを指定して送る具体的な書式例

項目内容
基本例lp -d ipp://printer.local/ipp/print file.pdf
IPで直接指定lp -d ipp://192.168.1.50/ipp/print file.pdf
ポートやパス指定lp -d ipp://192.168.1.50:631/ipp/print file.pdf

Macでフォルダ監視して自動でバッチ印刷する方法

Macでフォルダ監視して自動でバッチ印刷する方法

フォルダを監視して新しいファイルが追加されたら自動で印刷する仕組みは、毎日の手間をぐっと減らします。ここではMac標準のlpコマンドを使って安定して動くバッチ印刷の作り方をやさしく説明します。実際に現場で使っている経験をもとにした実用的な注意点も交えます。

利用シーンや技術レベルに応じて選べる方法がいくつかあります。簡単なものから運用向けのやり方まで紹介します。

  • Automatorでフォルダアクションを作りlpコマンドを呼ぶ方法。GUIで設定でき初心者向けです。
  • fswatchやlaunchdを使ってスクリプトで常駐監視する方法。細かい制御やログ管理がしやすいです。
  • 定期バッチでまとめてチェックして印刷する方法。転送途中のファイル対策がしやすいです。

プログラマーとしてのちょっとしたコツはファイルの書き込み完了をどう判定するかです。一時拡張子を使うかタイムスタンプで安定検出する仕組みを入れると失敗が減ります。

Automatorやスクリプトでフォルダアクションを使うパターン

Automatorやスクリプトでフォルダアクションを使うパターン

AutomatorはGUIで設定できるので小規模な運用や手早く試したい場面にぴったりです。フォルダアクションで新しいファイルを受け取りシェルスクリプトを実行してlpコマンドに渡せます。

スクリプトとfswatchやlaunchdを組み合わせると細かい再試行やログ出力を組み込みやすく大量ファイルやエラー対応が必要な場合に向きます。どちらを選ぶかは運用の規模と必要な制御の度合いで決めるとよいです。

Automatorでフォルダアクションを作成してlpコマンドを呼ぶ具体的手順

手順
ワークフローを作る

Automatorを起動して新規でフォルダアクションを選び監視したいフォルダを指定します。

手順
シェルスクリプトでlpを呼ぶ

シェルスクリプトを実行アクションにファイルパスを受け取りlpコマンドに渡す処理を書きます。ファイル完成判定のロジックを入れるとより安全です。

手順
保存してテスト

小さなテキストファイルを置いて自動で印刷されるか確認します。失敗時はログや一時拡張子の運用を見直してください。

よくある質問

よくある質問
ターミナルから印刷するにはどうすればよいですか

lpまたはlprコマンドを使います。例えば lp filename.pdf のように実行すれば、既定プリンタへ送れます。

接続されているプリンタ一覧はどうやって確認しますか

lpstat -p で接続中のプリンタ一覧が見られます。既定プリンタは lpstat -d で確認できます。

PDFや画像をコマンドでうまく印刷したいときのコツはありますか

PDFはそのまま lp で問題ないことが多いです。向きや余白を調整したければ lp -o fit-to-page や -o orientation-requested=3 を試してください。

プリンタに送れないときはどうすればいいですか

まずプリンタ名のスペルとネットワーク接続を確認してください。必要ならプリンタとCUPSを再起動し、lpstat で状態を確認すると原因が分かりやすくなります。

まとめ

まとめ

ここまで読んでくれてありがとうございます。ターミナルからの印刷は大きく分けて、コマンドで直接送る方法と、CUPSのウェブ設定やAutomatorで自動化する方法の二種類があります。実際にはPDFなど汎用的なファイル形式を使い、プリンタ名とドライバーの状態を先に確認してから送ると失敗が減ります。

頻繁に印刷する作業はlprやlpをエイリアスやシェルスクリプトにまとめると手間が減り、lpoptionsで好みのオプションを保存しておくと便利です。ネットワーク接続やジョブキューの確認はlpstatやlpqででき、問題があればプリンタ再起動やドライバーの更新を試してみてください。慌てず一つずつチェックすればほとんど解決します。

Macエンジニア

最初は設定に戸惑うかもしれませんが、少し慣れればコマンド印刷は日常の強い味方になります。いつでも落ち着いて進めてくださいね。

社内ネットワークや共有プリンタを使う場合はアクセス権やファイアウォールも確認してください。

自動化する場合はlaunchdやcronを使うと定期的な印刷も自動化できます。ただしmacOSの認可設定に注意してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次