I am developing a web application using node.js where i have a scenario to print some pdf files located in my local.
Ex:
var ipp = require('ipp');
var PDFDocument = require('pdfkit');
//make a PDF document
var doc = new PDFDocument({margin:0});
doc.text(".", 0, 780);
doc.output(function(pdf){
var printer = ipp.Printer("http://NPI977E4E.local.:631/ipp/printer");
var msg = {
"operation-attributes-tag": {
"requesting-user-name": "William",
"job-name": "My Test Job",
"document-format": "application/pdf"
},
data: pdf
};
printer.execute("Print-Job", msg, function(err, res){
console.log(res);
});
});
I have referred the above example, but in that PDF is created but in my case i want to print the existing PDF files.
Any suggestions ???
var fs = require('fs');
fs.readFile('filename.pdf', function(err, data) {
if (err)
throw err;
var printer = ipp.Printer("http://YOUR.PRINTER.SERVER.HOSTNAME:631/ipp/printer");
var msg = {
"operation-attributes-tag": {
"requesting-user-name": "William",
"job-name": "My Test Job",
"document-format": "application/pdf"
},
data: data
};
printer.execute("Print-Job", msg, function(err, res){
console.log(res);
});
});
If I understand you correctly, you want to print local PDF files, and printing works already?
Node.js has the fs api you can use to retrieve a PDF file. http://nodejs.org/api/fs.html
https://npmjs.org/package/ipp To me it doesn't seem you have to use a PDFkit object as data -property in your operation. You can just use data you can read with fs.
来源:https://stackoverflow.com/questions/16187936/node-js-how-to-add-print-job-to-printer