Ich habe eine Silent-Print-Webanwendung erstellt, die eine PDF-Datei druckt. Der Schlüssel war das Hinzufügen von JavaScript zur PDF-Datei, die sich selbst im Hintergrund ausgibt.
Dazu öffne ich das PDF mit acrobat reader in chrome, damit ich das Skript (mit den entsprechenden Berechtigungen) ausführen kann.
Aber wie angekündigt wurde, wird diese Lösung nach Chrom 45 nicht funktionieren, da das npapi-Problem auftritt.
Ich denke, eine mögliche Lösung könnte sein, den kürzlich veröffentlichten printProvider von Chrome-Erweiterungen zu verwenden.
Trotzdem kann ich mir nicht vorstellen, wie man eines der printProvider-Ereignisse auslöst. Die Frage ist also: Ist es in Ordnung, in Chrome-Erweiterungen zu denken, um eine stumme Web-Anwendung zu erstellen, und wie kann ich einen Druckauftrag für eine eingebettete PDF-Datei einer HTML-Seite auslösen und bearbeiten?
Endlich habe ich eine akzeptable Lösung für dieses Problem gefunden, da ich es dort draußen nicht finden konnte, aber zu vielen Posts mit dem gleichen Thema lese ich hier meine Lösung.
Zuerst müssen Sie Ihren Drucker zu Google Cloud Print hinzufügen. Anschließend müssen Sie der Google Developers Console ein Projekt hinzufügen
Fügen Sie dann dieses Skript hinzu und wann immer Sie etwas drucken müssen, führen Sie die Funktion print () aus. Diese Methode druckt das im Inhalt angegebene Dokument
Die Anwendung fragt nach Ihrer Erlaubnis, um Ihre Drucker einmal zu verwalten.
Wie auch immer, dieses Skript wirft einen 'Access-Control-Allow-Origin'-Fehler, obwohl dies in der Dokumentation erscheint ... Ich konnte es nicht funktionieren lassen: (
Google APIs unterstützen Anfragen und Antworten mit Cross-Originally Resource Sharing (CORS). Sie müssen die vollständige JavaScript-Clientbibliothek nicht laden, um CORS zu verwenden. Wenn Ihre Anwendung jedoch auf die persönlichen Informationen eines Nutzers zugreifen soll, muss sie dennoch mit dem OAuth 2.0-Mechanismus von Google funktionieren. Um dies zu ermöglichen, bietet Google den Standalone-Auth-Client - eine Teilmenge des JavaScript-Clients.
Um dies zu werfen, musste ich diese Chrome-Erweiterung CORS installieren . Ich bin sicher, dass jemand dieses Skript verbessern wird, um diese Chrome-Erweiterung zu vermeiden.
Nach dem Entfernen von npapi glaube ich nicht, dass dies nur programmatisch möglich ist. Die einzige gängige Methode, Chrome zum stillen Drucken zu bringen, ist der Chrome-Kiosk-Modus, bei dem es sich um einen Flag (Modus) handelt, den Sie beim Starten von Chrome festlegen müssen.
Sieh dir diese SO-Posts an:
Tags und Links javascript printing google-chrome-extension