問題タブ [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.
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;
}
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バイトの構造体を受け取っている理由について少し迷っています。洞察をいただければ幸いです。
c++ - ジョブが印刷されると、最後のジョブ ステータスは JOB_STATUS_PRINTED ではなく JOB_STATUS_RETAINED になります。
JOB_CHANGE などの変更があった場合はプリンター キューをポーリングし、ジョブが消えたことを確認した場合は、ジョブの最後のステータスに従って、ジョブが印刷または削除されたことをサーバーに報告します。
問題は、プリンタ Lexmark X945e が最後のジョブ ステータスを JOB_STATUS_RETAINED のみ返し、JOB_STATUS_DELETED または JOB_STATUS_PRINTED を返さなかったことです。
どういう意味ですか?保持ステータスを使用して、ジョブが印刷されたことを示すことはできますか?
c# - C# で PrintSpoolerAPI 関数 SetForm() を使用する
カスタム ドキュメントを印刷する Windows フォーム アプリケーションで作業しています。このカスタム ドキュメントはカスタム サイズであり、C# コードを使用して既定の印刷ページ サイズを設定する必要があります。
私はいくつかのグーグル検索を行い、出くわしPrintSpoolerAPI
ました。私が見つけたコードは、AddForm()
メソッドを使用してカスタム フォーム/ページを印刷可能なページ リストに追加します。また、この新しく追加されたページをデフォルトの印刷ページとして設定したいと考えています。
コードにこの行を書いてみました
値を返しtrue
ますが、デフォルトの印刷ページを設定していません。
dmPaperSize
これで何らかの役割を果たしますか?
完全なコードは次のとおりです。
}
この問題を解決するには助けが必要です。
winapi - Winspool 経由で印刷する
Web サイトと通信し、印刷可能なドキュメント (pdf、html、excel) を送信するための一種の印刷サービスをセットアップしようとしています。私はゴーに決めました。
以下の簡単なプログラムを作成しました。一部の PC (Windows 7) では機能し、他の PC (Windows 8) では機能しません (右)。それが機能しない場合、ジョブは 1 秒未満の間印刷キューに表示され、その後消えます。コードはエラーを出力しません。Windows イベント ログに何も見つかりません。
オンラインで見つけることができるC ++でRawPrinterの例も試しましたが、同じ動作を示しています。
私が間違っていることを誰かが知っていますか?:(
print-spooler-api - spl ファイルからコピー数を取得する
以下のコードを使用して、spl ファイルからコピー数を取得しました。Windows 2008 サーバーで生成された spl ファイルの場合、SpoolerRecordTypes.SRT_DEVMODE はありません。
c# - C#印刷コピー数を取得する方法
印刷管理サーバーを作ろうとしています。私は 1 台のプリンターを 4 人で共有しています。
しかし、各印刷ジョブの部数を取得する必要があります (例: user2 は同じ印刷ジョブの 3 つのコピーを作成します)。
印刷する前に部数を確認する必要があります。私を助けてください
python - プリンタ スプーラ ファイルを結合して、紙の領域をより有効に活用する
問題: FedEx の ShipRush プログラムを使用して、毎日の Ebay/Amazon 注文の梱包明細を毎日バッチ印刷しています。このサービスはそのままで多くのことを自動化しますが、注文が印刷される実際の紙はあまり使用しません。各注文は、標準の 8.5x11 インチのプリンター用紙が提供する総スペースの 1/3 未満しか占有しません。
私は 1 日に数十件の注文を処理する任務を負っているため、この方法で何ヶ月/何年も無駄にした紙の量を想像してみてください (言うまでもなく、FedEx ソフトウェアを使用しているのは私だけではありません)。私が働いている会社では、年間6,400枚の紙が無駄に消費されていると見積もっています。
質問/解決策: このコミュニティは、この問題の解決策または回避策について意見を提供できますか? これが私が想像するものです。画像 ( Image-Stitcher )に関する同様の問題に直面している GitHub リポジトリを知っています。このスクリプト (または同様のプロセス) を変更して、ウィンドウの印刷スプーラー APIと対話することを考えています。 3 ページではなく 1 ページに印刷するためのスプーラ キャッシュ。印刷スプーラの性質を考えると、これは可能ですか? または、ドキュメントがキャッシュされる方法は?
注: スクリプトを作成してくれる人を探しているわけではありません。Python やその他の Windows API に精通しています。興味がありますが、プリンターに送信される前/送信中に、このレベルで印刷スプーラーを変更することは可能ですか? もしそうなら、私を正しい方向に向ける特定のツール/コマンド/機能はありますか?
vba - 印刷スプーラの状態を確認する (実行中かどうか)
Print Spooler サービスが実行されているかどうかを検出する必要があります。VB.NET のさまざまなリソースを見つけることができます (たとえば、ServiceProcess.ServiceController
実際にサービスを操作するために使用します) が、VB6 のリソースはありません。
印刷スプーラーが VB6 で実行されているかどうかを確認する方法はありますか? そして理想的にはそれを開始しますが、私はそれなしで生き残ることができます.