Gibt es eine Möglichkeit, den Druckauftrag mit CUPS API zu halten? Ich muss in der Sprache c und auf Ubuntu-Maschine programmieren. Ein Beispiel könnte wirklich helfen.Gibt es eine Möglichkeit, den Druckauftrag über die CUPS API zu halten?
Antwort
sehen die Shell-Befehle lprm
und cancel
Sie Shell-Befehle von c system()
oder sh -c
(How do I execute a Shell built-in command with a C function?)
http://linux.die.net/man/1/lprm-cups https://www.cups.org/documentation.php/man-cancel.html
diesehttp://linux.die.net/man/3/system
Siehe auch aufrufen kann http://www.g-loaded.eu/2005/11/10/using-a-cups-printer-from-command-line/
Sie können dies auch nutzen (Befehle können mit system()
oder sh -c
verwendet werden), ist es einfacher ist, die Shell-Befehle zu verwenden: cupsCancelJob()
#include <cups/cups.h>
cups_dest_t *dest;
int job_id;
cupsCancelJob(dest->name, job_id);
Wenn Sie den Auftrag löschen möchten (auch hört auf zu drucken) verwenden cupsCancelJob2()
ipp_status_t cupsCancelJob2 (
http_t *http,
const char *name,
int job_id,
int purge
);
Parameter
httpVerbindung zum Server oder CUPS_HTTP_DEFAULT
NameName des Druckers oder Klasse
JOB_IDJob-ID, CUPS_JOBID_CURRENT für den aktuellen Auftrag oder CUPS_JOBID_ALL für alle Jobs
Spülung1 zu spülen, 0
siehe https://www.cups.org/documentation.php/doc-2.0/api-cups.html#cupsCancelDestJob
- 1. Gibt es eine Möglichkeit, Konsolenprogramme über die Befehlszeile zu debuggen?
- 2. Gibt es eine Möglichkeit, eine gesamte Neo4j-Datenbank über die REST-API zu löschen?
- 3. gibt es eine Möglichkeit, Informationen über den Konstruktor mit JavaParser oder einer anderen API zu erhalten?
- 4. Gibt es eine Möglichkeit, den Namen eines VCL-Steuerelements über die Windows-API abzurufen?
- 5. Gibt es eine Möglichkeit, diesen regulären Ausdruck zu verbessern?
- 6. gibt es eine bessere Möglichkeit, Youtube PHP API zu verwenden
- 7. Gibt es eine Möglichkeit, den Flugmodusstatus automatisch zu überprüfen?
- 8. Schnellere Suche in Lucene - Gibt es eine Möglichkeit, den gesamten Index im RAM zu halten?
- 9. Gibt es eine akzeptable Möglichkeit, diese Layer/Abhängigkeiten getrennt zu halten?
- 10. Gibt es eine kurze Möglichkeit, indexOf über 100 zu schreiben?
- 11. Gibt es eine Möglichkeit, den Gerätekontexttyp zu unterscheiden?
- 12. Gibt es eine Möglichkeit, Anfragen, die an den couchbase Server gesendet werden, über sdk zu verfolgen
- 13. Erlang: Gibt es eine API zu 'epmd'?
- 14. Gibt es eine Möglichkeit, mit OneNote über Code zu kommunizieren?
- 15. Gibt es eine Möglichkeit, Standardbilder Ordner über Javascript zu erkennen?
- 16. Gibt es eine Möglichkeit, "träge" zu lesen?
- 17. Gibt es eine Möglichkeit, ein Kalenderereignis über UIActivityViewController zu senden?
- 18. Gibt es eine Möglichkeit, über ein Wörterbuch zu iterieren?
- 19. Gibt es eine Möglichkeit, Sound über PowerShell zu erkennen?
- 20. Gibt es eine Möglichkeit, die Entwicklerwerkzeuge beim Debuggen einer Chrome-Erweiterung offen zu halten?
- 21. Gibt es eine Möglichkeit, Volley-Anfrage zu halten, bis die Antwort abgeschlossen
- 22. Gibt es eine Möglichkeit, NODE_ENV über die Befehlszeile anzuzeigen?
- 23. Gibt es eine Möglichkeit, Creeps zu löschen?
- 24. Gibt es eine Möglichkeit, den Benutzernamen eines SVN-Benutzers über den gesamten Repository-Verlauf zu ändern?
- 25. Gibt es eine Möglichkeit, Kovarianz zu deklarieren?
- 26. gibt es eine Möglichkeit, die Oracle-Datenbankinstanz Fehleranzahl zu kennen
- 27. Gibt es eine Möglichkeit, den IE über Änderungen in der Registrierung per Code zu benachrichtigen?
- 28. Gibt es eine Möglichkeit, die Gesamtzahl der Elemente für ein bestimmtes Tag zu halten?
- 29. Gibt es eine Möglichkeit, die C# -Bindung statisch zu machen?
- 30. gibt es eine Möglichkeit, die Formulardaten in PHP zu löschen?
tatsächlich ich habe zu halten, um den Job ersten und nach der Job-Monitoring, der Admin entscheiden abzubrechen, ob die job.I abzubrechen oder lösen Ich bekomme die Job-ID mit der cupsGetJobs-API, aber der Job hält nicht. Sobald der Benutzer den Befehl print gibt, geht der Drucker an. Ich hoffe, Sie wissen was ich versuche.Help me ... –
Der Befehl 'cancel' wird entfernt Aufträge aus der Druckwarteschlange, so dass sie nicht neu gestartet werden können http://askubuntu.com/questions/350334/how-do-i-clear-a-print-queue-in-ubuntu –