enhanced-printer 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +2 -1
- package/lib/job-tracker.d.ts +1 -1
- package/lib/job-tracker.js +11 -5
- package/lib/print-manager.d.ts +5 -0
- package/lib/print-manager.js +8 -0
- package/lib/types.d.ts +7 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -50,6 +50,16 @@ async function printPDF() {
|
|
|
50
50
|
printPDF();
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
## Available Methods
|
|
54
|
+
|
|
55
|
+
- `print()` - Print PDF with custom settings
|
|
56
|
+
- `getPrinters()` - Get list of available printers
|
|
57
|
+
- `getDefaultPrinter()` - Get default printer name
|
|
58
|
+
- `getJobs()` - Get all print jobs with custom names
|
|
59
|
+
- `getPrinterJobs()` - Get all print jobs (alias for getJobs)
|
|
60
|
+
- `getJobStatus()` - Get status of specific job by ID
|
|
61
|
+
- `cancelJob()` - Cancel a print job
|
|
62
|
+
|
|
53
63
|
## API Reference
|
|
54
64
|
|
|
55
65
|
### `print(options: PrintOptions): Promise<PrintResult>`
|
package/lib/index.d.ts
CHANGED
|
@@ -10,5 +10,6 @@
|
|
|
10
10
|
* - Automatic use of printer defaults when settings not specified
|
|
11
11
|
* - Query job status and printer information
|
|
12
12
|
*/
|
|
13
|
-
export { print, getPrinters, getDefaultPrinter, getJobStatus, getPrinterJobs,
|
|
13
|
+
export { print, getPrinters, getDefaultPrinter, getJobStatus, getPrinterJobs, getJobs, // New method for getting jobs with custom names
|
|
14
|
+
cancelJob } from './print-manager';
|
|
14
15
|
export { PrintOptions, PrintResult, PrinterInfo, JobInfo } from './types';
|
package/lib/index.js
CHANGED
|
@@ -12,11 +12,12 @@
|
|
|
12
12
|
* - Query job status and printer information
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.cancelJob = exports.getPrinterJobs = exports.getJobStatus = exports.getDefaultPrinter = exports.getPrinters = exports.print = void 0;
|
|
15
|
+
exports.cancelJob = exports.getJobs = exports.getPrinterJobs = exports.getJobStatus = exports.getDefaultPrinter = exports.getPrinters = exports.print = void 0;
|
|
16
16
|
var print_manager_1 = require("./print-manager");
|
|
17
17
|
Object.defineProperty(exports, "print", { enumerable: true, get: function () { return print_manager_1.print; } });
|
|
18
18
|
Object.defineProperty(exports, "getPrinters", { enumerable: true, get: function () { return print_manager_1.getPrinters; } });
|
|
19
19
|
Object.defineProperty(exports, "getDefaultPrinter", { enumerable: true, get: function () { return print_manager_1.getDefaultPrinter; } });
|
|
20
20
|
Object.defineProperty(exports, "getJobStatus", { enumerable: true, get: function () { return print_manager_1.getJobStatus; } });
|
|
21
21
|
Object.defineProperty(exports, "getPrinterJobs", { enumerable: true, get: function () { return print_manager_1.getPrinterJobs; } });
|
|
22
|
+
Object.defineProperty(exports, "getJobs", { enumerable: true, get: function () { return print_manager_1.getJobs; } });
|
|
22
23
|
Object.defineProperty(exports, "cancelJob", { enumerable: true, get: function () { return print_manager_1.cancelJob; } });
|
package/lib/job-tracker.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ export declare function getJobIdByName(printerName: string, jobName: string, max
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function getJobInfo(printerName: string, jobId: number): Promise<JobInfo | null>;
|
|
10
10
|
/**
|
|
11
|
-
* Gets all print jobs for a printer
|
|
11
|
+
* Gets all print jobs for a printer with enhanced details
|
|
12
12
|
*/
|
|
13
13
|
export declare function getAllJobs(printerName: string): Promise<JobInfo[]>;
|
package/lib/job-tracker.js
CHANGED
|
@@ -27,7 +27,7 @@ async function getJobInfo(printerName, jobId) {
|
|
|
27
27
|
const script = `
|
|
28
28
|
Get-PrintJob -PrinterName "${escapePowerShellString(printerName)}" |
|
|
29
29
|
Where-Object {$_.Id -eq ${jobId}} |
|
|
30
|
-
Select-Object Id, DocumentName, JobStatus, TotalPages, Size |
|
|
30
|
+
Select-Object Id, DocumentName, JobStatus, TotalPages, Size, UserName, SubmittedTime |
|
|
31
31
|
ConvertTo-Json
|
|
32
32
|
`;
|
|
33
33
|
try {
|
|
@@ -39,10 +39,13 @@ async function getJobInfo(printerName, jobId) {
|
|
|
39
39
|
return {
|
|
40
40
|
jobId: result.Id,
|
|
41
41
|
jobName: result.DocumentName || '',
|
|
42
|
+
customJobName: result.DocumentName || '', // Custom name you provided during print
|
|
42
43
|
printerName: printerName,
|
|
43
44
|
status: result.JobStatus || 'Unknown',
|
|
44
45
|
pages: result.TotalPages || 0,
|
|
45
|
-
size: result.Size
|
|
46
|
+
size: result.Size,
|
|
47
|
+
userName: result.UserName,
|
|
48
|
+
submittedTime: result.SubmittedTime
|
|
46
49
|
};
|
|
47
50
|
}
|
|
48
51
|
catch (error) {
|
|
@@ -50,12 +53,12 @@ async function getJobInfo(printerName, jobId) {
|
|
|
50
53
|
}
|
|
51
54
|
}
|
|
52
55
|
/**
|
|
53
|
-
* Gets all print jobs for a printer
|
|
56
|
+
* Gets all print jobs for a printer with enhanced details
|
|
54
57
|
*/
|
|
55
58
|
async function getAllJobs(printerName) {
|
|
56
59
|
const script = `
|
|
57
60
|
Get-PrintJob -PrinterName "${escapePowerShellString(printerName)}" |
|
|
58
|
-
Select-Object Id, DocumentName, JobStatus, TotalPages, Size |
|
|
61
|
+
Select-Object Id, DocumentName, JobStatus, TotalPages, Size, UserName, SubmittedTime |
|
|
59
62
|
ConvertTo-Json
|
|
60
63
|
`;
|
|
61
64
|
try {
|
|
@@ -66,10 +69,13 @@ async function getAllJobs(printerName) {
|
|
|
66
69
|
return jobs.map((job) => ({
|
|
67
70
|
jobId: job.Id,
|
|
68
71
|
jobName: job.DocumentName || '',
|
|
72
|
+
customJobName: job.DocumentName || '', // Custom name you provided during print
|
|
69
73
|
printerName: printerName,
|
|
70
74
|
status: job.JobStatus || 'Unknown',
|
|
71
75
|
pages: job.TotalPages || 0,
|
|
72
|
-
size: job.Size
|
|
76
|
+
size: job.Size,
|
|
77
|
+
userName: job.UserName,
|
|
78
|
+
submittedTime: job.SubmittedTime
|
|
73
79
|
}));
|
|
74
80
|
}
|
|
75
81
|
catch (error) {
|
package/lib/print-manager.d.ts
CHANGED
|
@@ -19,6 +19,11 @@ export declare function getJobStatus(printerName: string, jobId: number): Promis
|
|
|
19
19
|
* Gets all print jobs for a specific printer
|
|
20
20
|
*/
|
|
21
21
|
export declare function getPrinterJobs(printerName: string): Promise<JobInfo[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Gets all print jobs with custom job names for a specific printer
|
|
24
|
+
* This is an alias for getPrinterJobs with clearer intent
|
|
25
|
+
*/
|
|
26
|
+
export declare function getJobs(printerName: string): Promise<JobInfo[]>;
|
|
22
27
|
/**
|
|
23
28
|
* Cancels a print job
|
|
24
29
|
*/
|
package/lib/print-manager.js
CHANGED
|
@@ -5,6 +5,7 @@ exports.getPrinters = getPrinters;
|
|
|
5
5
|
exports.getDefaultPrinter = getDefaultPrinter;
|
|
6
6
|
exports.getJobStatus = getJobStatus;
|
|
7
7
|
exports.getPrinterJobs = getPrinterJobs;
|
|
8
|
+
exports.getJobs = getJobs;
|
|
8
9
|
exports.cancelJob = cancelJob;
|
|
9
10
|
const pdf_to_printer_1 = require("pdf-to-printer");
|
|
10
11
|
const uuid_1 = require("uuid");
|
|
@@ -125,6 +126,13 @@ async function getJobStatus(printerName, jobId) {
|
|
|
125
126
|
async function getPrinterJobs(printerName) {
|
|
126
127
|
return (0, job_tracker_1.getAllJobs)(printerName);
|
|
127
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Gets all print jobs with custom job names for a specific printer
|
|
131
|
+
* This is an alias for getPrinterJobs with clearer intent
|
|
132
|
+
*/
|
|
133
|
+
async function getJobs(printerName) {
|
|
134
|
+
return (0, job_tracker_1.getAllJobs)(printerName);
|
|
135
|
+
}
|
|
128
136
|
/**
|
|
129
137
|
* Cancels a print job
|
|
130
138
|
*/
|
package/lib/types.d.ts
CHANGED
|
@@ -62,8 +62,10 @@ export interface PrintResult {
|
|
|
62
62
|
export interface JobInfo {
|
|
63
63
|
/** Job ID in the print queue */
|
|
64
64
|
jobId: number;
|
|
65
|
-
/** Document name */
|
|
65
|
+
/** Document name from Windows (same as customJobName) */
|
|
66
66
|
jobName: string;
|
|
67
|
+
/** Custom job name provided during print (same as jobName/DocumentName) */
|
|
68
|
+
customJobName: string;
|
|
67
69
|
/** Name of the printer */
|
|
68
70
|
printerName: string;
|
|
69
71
|
/** Current status of the job */
|
|
@@ -72,4 +74,8 @@ export interface JobInfo {
|
|
|
72
74
|
pages: number;
|
|
73
75
|
/** Size in bytes */
|
|
74
76
|
size?: number;
|
|
77
|
+
/** User who submitted the job */
|
|
78
|
+
userName?: string;
|
|
79
|
+
/** Time when job was submitted */
|
|
80
|
+
submittedTime?: string;
|
|
75
81
|
}
|
package/package.json
CHANGED