Skip to content

Commit

Permalink
update dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
fdesjardins committed Jun 2, 2017
1 parent fa5f1cc commit 9a7b2c1
Show file tree
Hide file tree
Showing 5 changed files with 1,287 additions and 1 deletion.
125 changes: 125 additions & 0 deletions grep
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
lp(1) Apple Inc. lp(1)

NAME
lp - print files

SYNOPSIS
lp [ -E ] [ -U username ] [ -c ] [ -d destination[/instance] ] [ -h hostname[:port] ] [ -m ] [ -n num-copies ] [ -o option[=value] ] [ -q priority
] [ -s ] [ -t title ] [ -H handling ] [ -P page-list ] [ -- ] [ file(s) ]
lp [ -E ] [ -U username ] [ -c ] [ -h hostname[:port] ] [ -i job-id ] [ -n num-copies ] [ -o option[=value] ] [ -q priority ] [ -t title ] [ -H
handling ] [ -P page-list ]

DESCRIPTION
lp submits files for printing or alters a pending job. Use a filename of "-" to force printing from the standard input.

THE DEFAULT DESTINATION
CUPS provides many ways to set the default destination. The LPDEST and PRINTER environment variables are consulted first. If neither are set, the
current default set using the lpoptions(1) command is used, followed by the default set using the lpadmin(8) command.

OPTIONS
The following options are recognized by lp:

-- Marks the end of options; use this to print a file whose name begins with a dash (-).

-E Forces encryption when connecting to the server.

-U username
Specifies the username to use when connecting to the server.

-c This option is provided for backwards-compatibility only. On systems that support it, this option forces the print file to be copied to the
spool directory before printing. In CUPS, print files are always sent to the scheduler via IPP which has the same effect.

-d destination
Prints files to the named printer.

-h hostname[:port]
Chooses an alternate server.

-i job-id
Specifies an existing job to modify.

-m Sends an email when the job is completed.

-n copies
Sets the number of copies to print.

-o "name=value [ ... name=value ]"
Sets one or more job options.

-q priority
Sets the job priority from 1 (lowest) to 100 (highest). The default priority is 50.

-s Do not report the resulting job IDs (silent mode.)

-t "name"
Sets the job name.

-H hh:mm

-H hold

-H immediate

-H restart

-H resume
Specifies when the job should be printed. A value of immediate will print the file immediately, a value of hold will hold the job indefi‐
nitely, and a UTC time value (HH:MM) will hold the job until the specified UTC (not local) time. Use a value of resume with the -i option to
resume a held job. Use a value of restart with the -i option to restart a completed job.

-P page-list
Specifies which pages to print in the document. The list can contain a list of numbers and ranges (#-#) separated by commas, e.g.,
"1,3-5,16". The page numbers refer to the output pages and not the document's original pages - options like "number-up" can affect the num‐
bering of the pages.

COMMON JOB OPTIONS
Aside from the printer-specific options reported by the lpoptions(1) command, the following generic options are available:

-o media=size
Sets the page size to size. Most printers support at least the size names "a4", "letter", and "legal".

-o orientation-requested=4
Prints the job in landscape (rotated 90 degrees).

-o sides=one-sided
Prints on one side of the paper.

-o sides=two-sided-long-edge
Prints on both sides of the paper for portrait output.

-o sides=two-sided-short-edge
Prints on both sides of the paper for landscape output.

-o fit-to-page
Scales the print file to fit on the page.

-o number-up={2|4|6|9|16}
Prints 2, 4, 6, 9, or 16 document (input) pages on each output page.

CONFORMING TO
Unlike the System V printing system, CUPS allows printer names to contain any printable character except SPACE, TAB, "/", or "#". Also, printer
and class names are not case-sensitive.

The -q option accepts a different range of values than the Solaris lp command, matching the IPP job priority values (1-100, 100 is highest prior‐
ity) instead of the Solaris values (0-39, 0 is highest priority).

EXAMPLES
Print two copies of a document to the default printer:

lp -n 2 filename

Print a double-sided legal document to a printer called "foo":

lp -d foo -o media=legal -o sides=two-sided-long-edge filename

Print a presentation document 2-up to a printer called "foo":

lp -d foo -o number-up=2 filename

SEE ALSO
cancel(1), lpadmin(8), lpoptions(1), lpq(1), lpr(1), lprm(1), lpstat(1), CUPS Online Help (http://localhost:631/help)

COPYRIGHT
Copyright © 2007-2015 by Apple Inc.

11 June 2014 CUPS lp(1)
Binary file added out.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"lodash": "^4.17.4",
"lwip": "0.0.9",
"paper": "^0.11.3",
"paper-rulings": "^1.2.1",
"paper-rulings": "^1.2.2",
"paper-size": "^1.1.0"
}
}
77 changes: 77 additions & 0 deletions print.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
const fs = require('fs')
const printer = require('printer')

const config = {
printer: {
name: 'Brother_HL-L2300D_series'
}
}

const formats = {
JPEG: 'JPEG',
PDF: 'PDF',
TEXT: 'TEXT'
}

const printImage = (printer, img, options) => {
return new Promise((resolve, reject) => {
return printer.printDirect({
printer,
data: img,
options,
success: resolve,
error: reject
})
})
}

const getPrinterOptions = () => printer.getPrinters()
.map(p => ({
name: p.name,
options: printer.getPrinterDriverOptions(p.name),
pageSize: printer.getSelectedPaperSize(p.name),
formats: printer.getSupportedPrintFormats(p.name)
}))

if (!module.parent) {
const img = fs.readFileSync('./out.jpg')
const options = {
media: 'Letter',
PageRegion: {
Letter: true
}
}
printImage(config.printer.name, img, options)
console.log(JSON.stringify(getPrinterOptions(), null, 2))
}

//
// printer.printDirect({
// data: fs.readFileSync('./out.jpg'), // or simple String: "some text"
// printer:printerName, // printer name
// type: printerFormat, // type: RAW, TEXT, PDF, JPEG, .. depends on platform
// options: // supported page sizes may be retrieved using getPrinterDriverOptions, supports CUPS printing options
// {
// media: 'Letter',
// 'fit-to-page': true
// },
// success:function(jobID){
// console.log("sent to printer with ID: "+jobID);
// var jobInfo = printer.getJob(printerName, jobID);
// console.log("current job info:"+util.inspect(jobInfo, {depth: 10, colors:true}));
// if(jobInfo.status.indexOf('PRINTED') !== -1)
// {
// console.log('too late, already printed');
// return;
// }
// console.log('cancelling...');
// var is_ok = printer.setJob(printerName, jobID, 'CANCEL');
// console.log("cancelled: "+is_ok);
// try{
// console.log("current job info:"+ printer.getJob(printerName, jobID), {depth: 10, colors:true});
// }catch(err){
// console.log('job deleted. err:'+err);
// }
// },
// error:function(err){console.log(err);}
// });
Loading

0 comments on commit 9a7b2c1

Please sign in to comment.