2

ページを排出することなく、これまでに送信したすべてのラスター データをプリンター (USB 上の HP DeskJet 1280) で印刷できるようにしたいと考えています。単純なラスター グラフィックスとカーソル配置コマンドのみを送信しています。ベクター グラフィックスもテキストも送信していません。

より正確には、2 つの質問があります。

1)いくつかのラスターデータをプリンターに送信した後(ラスターデータの転送( "\ 033 * b%dW")を使用)、ページを排出せずにすぐに印刷して停止する方法は?

2) 正の引数を指定して垂直カーソル位置指定コマンド (例: 垂直カーソル位置指定 (デシポイント) ("\033&a%+dV")) を送信した後、プリンタに新しい位置まで用紙をすぐに送り、そこで停止させる方法?

(適切な高さの空白のラスターを送信することで間接的にカーソルを進めることができるため、(1) のみを解決するだけでもほぼ十分であることに注意してください。)

PCL はページ記述言語なので、このような低レベルの処理は実際には不可能かもしれません。しかし、PCL のドキュメントとインターネットを広範囲に検索した後も、明確な否定的な答えはまだ見つかりませんでした。

プリンターには、データを格納するための何らかの内部バッファーがあり、バッファーが十分に大きくなると、そのバッファーをフラッシュ (つまり、印刷) するようです。他に何もせずにそのバッファをすぐにフラッシュするようにプリンタに指示するコマンドがあれば、すべて問題ありません。しかし、そのようなコマンドは見つかりませんでした。"\033*rC" (ラスター グラフィックスの終了) でさえ、すぐには効果がありません。

プリンターとの通信に CUPS の USB バックエンドを使用しており、(usbmon を使用して) バックエンドがすべてのコマンドを確認するとすぐにプリンターに実際に送信することを確認しました。運転者。

部分ページを印刷するコマンドには、たとえば、「\033E」(プリンターのリセット)、「\033%%-12345X」(Universal Exit Language)、「\033&r1F」(すべてのページをフラッシュ (部分ページを含む)) などがありますが、それらはすべて、部分ページも排出します。

誰かが私が望むことを行うための賢い方法を提案してくれますか、それとも絶対に不可能であるという私の印象を確認できますか?

4

0 に答える 0