Drucken von Elektron-Anwendung
Ich versuche, Knoten-Drucker von einem Elektron Anwendung, aber sobald ich hinzufügen, die Zeilen zu verwenden, den Drucker, die app stürzt nach unten.
Die Konsole gibt Folgendes:
[1] 9860 segmentation fault (core dumped) node_modules/electron-prebuilt/dist/electron.
Dies ist die app, die bei mir läuft. Ich habe nur die Zeilen drucken, die einfache app Beispiel auf Elektronen-Dokumentation:
var app = require('app'); //Module to control application life.
var BrowserWindow = require('browser-window'); //Module to create native browser window.
var printer = require('printer');
//Report crashes to our server.
require('crash-reporter').start();
//Keep a global reference of the window object, if you don't, the window will
//be closed automatically when the JavaScript object is GCed.
var mainWindow = null;
//Quit when all windows are closed.
app.on('window-all-closed', function() {
//On OS X it is common for applications and their menu bar
//to stay active until the user quits explicitly with Cmd + Q
if (process.platform != 'darwin') {
app.quit();
}
});
//This method will be called when Electron has finished
//initialization and is ready to create browser windows.
app.on('ready', function() {
//Create the browser window.
mainWindow = new BrowserWindow({width: 800, height: 600});
//and load the index.html of the app.
mainWindow.loadUrl('file://' + __dirname + '/app/index.html');
//Open the devtools.
mainWindow.openDevTools();
printer.printDirect({data:"print from Node.JS buffer" //or simple String: "some text"
, printer:'HP-Deskjet-F4400-series' //printer name, if missing then will print to default printer
, type: 'TEXT' //type: RAW, TEXT, PDF, JPEG, .. depends on platform
, success:function(jobID){
console.log("sent to printer with ID: "+jobID);
}
, error:function(err){console.log(err);}
});
//Emitted when the window is closed.
mainWindow.on('closed', function() {
//Dereference the window object, usually you would store windows
//in an array if your app supports multi windows, this is the time
//when you should delete the corresponding element.
mainWindow = null;
});
});
Bin ich etwas fehlt?
Ich versuchte den Knoten Drucker auf seine eigene und ich habe Sie erfolgreich gedruckt, einige Kauderwelsch-text.
InformationsquelleAutor leamasuero | 2015-08-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
node-printer
verwendet native Bindungen und nach der docs:Ich nehme an, dass ist, warum Sie immer die
seg fault
. Versuchen Sie, bauen Sie das Modul gegen die Elektron-Header, wie erwähnt, in den docs:npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'. npm ERR! This is most likely a problem with the printer package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild npm ERR! You can get their info via: npm ERR! npm owner ls printer npm ERR! There is likely additional logging output above.
Siehe die Doku gibt es auch eine andere Möglichkeit mit der node-gyp. vielleicht hilft das.
InformationsquelleAutor Yan Foto
Ansonsten können Sie auch die folgende Zeile
writeFile('output.pdf'...)
funktioniert nicht, aber die untere nicht!InformationsquelleAutor Rohit Goyal
Den
node-printer
- Modul mit C++ - code in es. Was bedeutet, dass Sie haben, um es zu kompilieren mit der gleichen version von Knoten, Elektron. Das ist machbar, aber es ist ziemlich kompliziert.Auf der anderen Seite, Elektron bereits Druck-API ' s in it:
https://electronjs.org/docs/api/web-contents#contentsprintoptions-callback
Wenn diese api ist nicht ausreichend und Sie möchten trotzdem zu nutzen, die
node-printer
Modul lassen Sie mich wissen, und ich werde Bearbeiten, ist diese Antwort mit einer längeren Antwort, wie man Gabel und fixnode-printer
so dass es Elektronen-kompatibel.node-printer
kompatibel mit Elektron benötigt, um die Portierung aufNAN 2
, ist das richtig?Was ich meine ist, dass Elektronen verwendet jetzt
node v4
- und V8-api verändert eine ganze Menge.Ja, ich denke so. Ich hatte eine ähnliche situation mit einem anderen Paket und ich musste Gabel es zur Umsetzung der änderungen, die ich brauchte, um es zu bauen, mit Elektron. Die meisten änderungen waren oberflächlich... die meisten von Ihnen.
Die Knoten-Drucker funktioniert nicht für mich auf windows. Es ist nur durchführbar, wenn ich drucken möchte einfachen text oder ROHDATEN. Kaufen scheitert zum drucken einer JPEG-oder PDF-Datei. Haben Sie es getestet auf windows ?
legendäre BART btw
InformationsquelleAutor justin.m.chase