問題タブ [print-spooler-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1079 参照

c++ - ステータス JOB_STATUS_DELETED の印刷ジョブ通知を取得できません

印刷ジョブが完了または削除されたときに通知を受け取りたい。これで、通知メカニズムが JOB_STATUS_DELETING を提供することがわかりましたが、JOB_STATUS_DELETED ステータスを取得できません。

Hereに似たものを見つけましたが、問題は解決しません。

私は次のことをしています:

ジョブを削除すると、JOB_NOTIFY_FIELD_STATUS は DELETING のみを渡し、それ以上のステータス通知はありませんが、本当に DELETED ステータスを取得する必要があります。私は何を間違っていますか?

ポーラー メソッドの完全なコードは次のとおりです。 void Poll(JobTracker* owner, CServiceBase* service) { HANDLE hPrinter = NULL; HANDLE hNotification; if (!OpenPrinter(所有者 -> GetPrinterName(), &hPrinter, NULL)) return;

}

0 投票する
1 に答える
1521 参照

c# - Marshal.SizeOF とは異なる JOB_INFO_1 サイズを返す EnumJobs

マネージド コード (C#) からWin32 関数 EnumJobs ( http://msdn.microsoft.com/en-us/library/windows/desktop/dd162625(v=vs.85).aspx ) を呼び出しています。

JOB_INFO_1 を受信するようにレベル 1 を指定していますが、問題は、上記の関数が構造体ごとに 240 として nBytesNeeded を返すことですが、Marshal.SizeOf(typeof(JOB_INFO_1))実行時にメモリ例外が発生するのは 64 バイトMarshal.PtrToStructureです。構造体のバイトを手動でカウントすると64になるため、関数から240バイトの構造体を受け取っている理由について少し迷っています。洞察をいただければ幸いです。

0 投票する
1 に答える
1513 参照

c++ - ジョブが印刷されると、最後のジョブ ステータスは JOB_STATUS_PRINTED ではなく JOB_STATUS_RETAINED になります。

JOB_CHANGE などの変更があった場合はプリンター キューをポーリングし、ジョブが消えたことを確認した場合は、ジョブの最後のステータスに従って、ジョブが印刷または削除されたことをサーバーに報告します。

問題は、プリンタ Lexmark X945e が最後のジョブ ステータスを JOB_STATUS_RETAINED のみ返し、JOB_STATUS_DELETED または JOB_STATUS_PRINTED を返さなかったことです。

どういう意味ですか?保持ステータスを使用して、ジョブが印刷されたことを示すことはできますか?

0 投票する
4 に答える
2693 参照

c# - C# で PrintSpoolerAPI 関数 SetForm() を使用する

カスタム ドキュメントを印刷する Windows フォーム アプリケーションで作業しています。このカスタム ドキュメントはカスタム サイズであり、C# コードを使用して既定の印刷ページ サイズを設定する必要があります。

私はいくつかのグーグル検索を行い、出くわしPrintSpoolerAPIました。私が見つけたコードは、AddForm()メソッドを使用してカスタム フォーム/ページを印刷可能なページ リストに追加します。また、この新しく追加されたページをデフォルトの印刷ページとして設定したいと考えています。

コードにこの行を書いてみました

値を返しtrueますが、デフォルトの印刷ページを設定していません。

dmPaperSizeこれで何らかの役割を果たしますか?

完全なコードは次のとおりです。

}

この問題を解決するには助けが必要です。

0 投票する
1 に答える
977 参照

winapi - Winspool 経由で印刷する

Web サイトと通信し、印刷可能なドキュメント (pdf、html、excel) を送信するための一種の印刷サービスをセットアップしようとしています。私はゴーに決めました。

以下の簡単なプログラムを作成しました。一部の PC (Windows 7) では機能し、他の PC (Windows 8) では機能しません (右)。それが機能しない場合、ジョブは 1 秒未満の間印刷キューに表示され、その後消えます。コードはエラーを出力しません。Windows イベント ログに何も見つかりません。

オンラインで見つけることができるC ++でRawPrinterの例も試しましたが、同じ動作を示しています。

私が間違っていることを誰かが知っていますか?:(

0 投票する
0 に答える
313 参照

print-spooler-api - spl ファイルからコピー数を取得する

以下のコードを使用して、spl ファイルからコピー数を取得しました。Windows 2008 サーバーで生成された spl ファイルの場合、SpoolerRecordTypes.SRT_DEVMODE はありません。

0 投票する
0 に答える
1311 参照

c# - C#印刷コピー数を取得する方法

印刷管理サーバーを作ろうとしています。私は 1 台のプリンターを 4 人で共有しています。

しかし、各印刷ジョブの部数を取得する必要があります (例: user2 は同じ印刷ジョブの 3 つのコピーを作成します)。

印刷する前に部数を確認する必要があります。私を助けてください

0 投票する
0 に答える
146 参照

python - プリンタ スプーラ ファイルを結合して、紙の領域をより有効に活用する

問題: FedEx の ShipRush プログラムを使用して、毎日の Ebay/Amazon 注文の梱包明細を毎日バッチ印刷しています。このサービスはそのままで多くのことを自動化しますが、注文が印刷される実際の紙はあまり使用しません。各注文は、標準の 8.5x11 インチのプリンター用紙が提供する総スペースの 1/3 未満しか占有しません。

私は 1 日に数十件の注文を処理する任務を負っているため、この方法で何ヶ月/何年も無駄にした紙の量を想像してみてください (言うまでもなく、FedEx ソフトウェアを使用しているのは私だけではありません)。私が働いている会社では、年間6,400枚の紙が無駄に消費されていると見積もっています。

質問/解決策: このコミュニティは、この問題の解決策または回避策について意見を提供できますか? これが私が想像するものです。画像 ( Image-Stitcher )に関する同様の問題に直面している GitHub リポジトリを知っています。このスクリプト (または同様のプロセス) を変更して、ウィンドウの印刷スプーラー APIと対話することを考えています。 3 ページではなく 1 ページに印刷するためのスプーラ キャッシュ。印刷スプーラの性質を考えると、これは可能ですか? または、ドキュメントがキャッシュされる方法は?

: スクリプトを作成してくれる人を探しているわけではありません。Python やその他の Windows API に精通しています。興味がありますが、プリンターに送信される前/送信中に、このレベルで印刷スプーラーを変更することは可能ですか? もしそうなら、私を正しい方向に向ける特定のツール/コマンド/機能はありますか?

0 投票する
3 に答える
3160 参照

vba - 印刷スプーラの状態を確認する (実行中かどうか)

Print Spooler サービスが実行されているかどうかを検出する必要があります。VB.NET のさまざまなリソースを見つけることができます (たとえば、ServiceProcess.ServiceController実際にサービスを操作するために使用します) が、VB6 のリソースはありません。

印刷スプーラーが VB6 で実行されているかどうかを確認する方法はありますか? そして理想的にはそれを開始しますが、私はそれなしで生き残ることができます.