バッチファイル印刷


8

平均2〜3ページのドキュメントを約220枚印刷するユーザーがいます。Windowsの標準的な方法である[すべて選択]-右クリック-[印刷]を使用して印刷すると、プリントサーバーまたはプリンター自体を圧倒します。特定のディレクトリ内のすべてのドキュメントを処理する、一度に5つのドキュメントを処理できるユーティリティを探しています。これにより、プリントサーバーの負担が軽減され、ユーザーが印刷ジョブを行う必要がなくなることを期待しています。特定の時間に印刷ジョブをスケジュールできるものを見つけましたが、プログラムのスペルはひどいものです(そして、おそらくこれは取引ブレーカーではありません)。

回答:


4

DarkStormのバッチ印刷ハンドラー Its Freeを試すことができます!:-)

DarkStormのバッチ印刷ハンドラーは、印刷ドキュメントをバッチ処理する.Netアプリケーションです。DarkStormのバッチ印刷ハンドラーは、Word / ExcelとAdobe Readerを自動化してバッチ印刷プロセスを支援し、一部の一般的な画像形式もサポートします。
私はそれをテストすることができませんでした

または:

テキストファイルから名前を取得して一定の間隔で出力する簡単なスクリプトを作成できます。印刷フォルダの内容を照会してドキュメント名を取得し、それらをテキストファイルに入れてから、すべてのドキュメントが印刷されるまで待機してからテキストファイルをループ処理できます。

擬似コードは次のようになります。

Populate Text File Function ()  
{  
  Set Folder Path  
  Get Document Names in folder  
  Write Document Names to Text File  
}  
Print Function  
{  
  While Not End of File{  
  Get Document Name  
  Print Document Name  
  Move down 1 line  
      Wait a timed interval  
 }  
}

私のコーディングは以前のものではなかったので、いくつかのビットを逃したかもしれませんが、それはそこに合理的にあると思います。私はGuys Scripting Enzineにコードサンプルを探すことをお勧めします。必要なコードのほとんどをカットアンドペーストできるはずです。


うわー- DarkStorm's batch print handlerいいです。
Sathyajith Bhat

今すぐダウンロードしています。すべてのスクリプトは素晴らしいですが、私はむしろその道を進みたくありません。DarkStormをテストするつもりです。
19:06にchrispt

DarkStormアプリがいいと思います。機能が追加された場合に便利なのは、バッチを特定の時間に実行するようにスケジュールできるため、1日の外出時に自動的に開始することができます。
2010

3

これはコマンドラインの仕事です。

Cygwinの、(あなたは、bashのコマンドラインに入力することができます)次のスクリプトは、1 5秒ごとに、カレントディレクトリ内のすべてのPDFファイルを印刷します。

for x in *.pdf; do cygstart -p -- "$x"; sleep 5; done

Cygwinをインストールしたくない場合(他の多くの場合に役立ちます)、cmdの方法についてはSathyaの回答を参照してください(少し簡単ではありません)。選択ツールはPowershellです。これには、必要なビルディングブロックがすべて含まれています(ただし、Powershellは話せません)。


cmd has an equivalent of sleep->粗雑な置換は `ping localhost -n 6> NUL
Sathyajith Bhat

また、start新しいアプリケーションを起動します-これには印刷機能がありません。
Sathyajith Bhat

@Sathya:ありがとう。cygstartstartよりも多くの機能があることには驚かされませんが、cmdから印刷アクションをトリガーする方法があると思いました(印刷アクションは、レジストリに登録されているアプリケーションを呼び出し、編集用に開くのではなく印刷するように指示します)。cmdで印刷する方法があるかどうかを知っていますか(printそうではないようです)。
Gilles「SO-邪悪なことをやめなさい」

@Gilles-(ネットワーク)共有として構成されている場合、1つの方法はPDFファイルをプリンターにコピーすることです- copy *.pdf \\printer\name。バッチ処理の場合、cmdにはforコマンドがありますが、複数のコマンドを実行する方法に行き詰まっています
Sathyajith Bhat

@Sathya:私がfor %x in (*.pdf) do ( ; command1 ; command2 ; )書いた改行のようなものだと思います;。うまくいけば答えてください。
Gilles「SO-邪悪なことをやめよう」

2

本当にコマンドラインを使用したい場合は、これをコピーしてバッチファイルに貼り付け、パスを変更してフルパスを追加します。 AcroRd32.exe

cd\path\to\pdf\files
for %%f in ("*.pdf") do AcroRd32.exe /t %%f "\\servername\printername" & ping localhost -n 6 >NUL

これにより、ディレクトリがPDFファイルを含むディレクトリに変更され、Acrobat Readerがサイレントモードで起動して印刷され、5秒間待機します。プリンターが共有されている場合の別の選択肢は

cd\path\to\pdf\files
for %%f in ("*.pdf") do copy %%f "\\servername\printername" & ping localhost -n 6 >NUL

これは同じことですが、私の過去の経験で、このアプローチでは良い結果が得られませんでした。ただし、PDFファイルにフォントが埋め込まれていないためです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.