@crowsgear/escl-protocol-scanner 1.0.6 → 1.0.9

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 CHANGED
@@ -1,663 +1,191 @@
1
- # @escl-protocol/scanner
1
+ # @crowsgear/escl-protocol-scanner
2
2
 
3
- A comprehensive TypeScript/Node.js library for discovering and communicating with network scanners using the **eSCL (Enhanced Scanner Communication Language)** protocol, which is based on **AirPrint** standards.
3
+ Network scanner library based on eSCL/AirPrint protocol.
4
4
 
5
- ## Features
6
-
7
- - 🔍 **Automatic Scanner Discovery**: Uses mDNS/Bonjour to discover eSCL-compatible scanners on the local network
8
- - 📡 **HTTP-based Communication**: eSCL protocol built on HTTP for reliable device communication
9
- - 🎨 **Multiple Color Modes**: Support for Black & White, Grayscale, and Full Color scanning
10
- - 📊 **Flexible Resolution**: Supports various DPI settings (150, 200, 300, 600 DPI, etc.)
11
- - 📄 **Multi-source Scanning**: Platen (flatbed) and ADF (Automatic Document Feeder) support
12
- - 📸 **Image Processing**: Automatic rotation correction and PNG encoding
13
- - 🔧 **Python Backend**: Uses Python subprocess for reliable mDNS discovery via zeroconf
14
- - ✨ **Production Ready**: Mature implementation from scanner-net project
15
-
16
- ## Supported Devices
17
-
18
- Compatible with network scanners from major manufacturers:
19
- - **Canon**: iR-series MFP devices
20
- - **HP**: LaserJet MFP devices
21
- - **Xerox**: WorkCentre series
22
- - **Ricoh**: MP series
23
- - **Epson**: WorkForce Pro series
24
- - **And other AirPrint-compatible MFP devices**
5
+ > **Note**: This library only supports network-connected scanners (WiFi or LAN). USB scanners are not supported - use WIA (Windows) or system scan dialog instead.
25
6
 
26
7
  ## Installation
27
8
 
28
- ### Prerequisites
29
- - Node.js ≥ 14.0.0
30
- - Python 3.6+
31
- - Python packages: `zeroconf`, `pillow`
32
-
33
- ### Step 1: Install Package
34
-
35
9
  ```bash
36
- npm install @escl-protocol/scanner
10
+ npm install @crowsgear/escl-protocol-scanner
37
11
  # or
38
- yarn add @escl-protocol/scanner
12
+ yarn add @crowsgear/escl-protocol-scanner
39
13
  ```
40
14
 
41
- The postinstall script will:
42
- 1. Check for required Python packages (`zeroconf`, `pillow`)
43
- 2. **Interactively ask** if you want to install missing packages
44
- 3. Install to the Python environment specified by `PYTHON_PATH` (or system python3)
15
+ ### Python Dependencies
45
16
 
46
- ### Step 2: Setup Python Environment
47
-
48
- #### Option A: Using Virtual Environment (Recommended)
17
+ Requires Python 3.6+ and the following packages:
49
18
 
50
19
  ```bash
51
- # 1. Create virtual environment
52
- python3 -m venv venv
53
-
54
- # 2. Get absolute path to Python executable
55
- # Copy the full path (e.g., /Users/username/project/venv/bin/python3)
56
- python3 -c "import sys; print(sys.executable)"
57
-
58
- # 3. Install Python packages
59
- source venv/bin/activate
60
20
  pip install zeroconf pillow
61
-
62
- # 4. Set PYTHON_PATH using ABSOLUTE path (important!)
63
- # Use the full path from step 2, e.g.:
64
- export PYTHON_PATH=/Users/username/project/venv/bin/python3
65
- ```
66
-
67
- ⚠️ **Important**: Always use **absolute path** for `PYTHON_PATH`, not relative paths like `./venv/bin/python3`
68
-
69
- #### Option B: Using System Python
70
-
71
- ```bash
72
- # Just ensure Python packages are installed
73
- pip3 install zeroconf pillow
74
- ```
75
-
76
- ## Runtime Configuration
77
-
78
- ### Using Virtual Environment
79
-
80
- Set the `PYTHON_PATH` environment variable when running your application:
81
-
82
- ```bash
83
- # Option 1: Export before running
84
- export PYTHON_PATH=./venv/bin/python3
85
- npm start
86
-
87
- # Option 2: One-liner
88
- PYTHON_PATH=./venv/bin/python3 npm start
89
-
90
- # Option 3: In package.json scripts
91
- {
92
- "scripts": {
93
- "start": "PYTHON_PATH=./venv/bin/python3 electron ."
94
- }
95
- }
96
- ```
97
-
98
- ### Environment-Specific Setup
99
-
100
- Create separate `.env` files for different environments:
101
-
102
- ```bash
103
- # .env.dev
104
- PYTHON_PATH=./venv-dev/bin/python3
105
-
106
- # .env.staging
107
- PYTHON_PATH=./venv-staging/bin/python3
108
-
109
- # .env.production
110
- PYTHON_PATH=/usr/local/bin/python3
111
- ```
112
-
113
- Then activate the appropriate environment:
114
-
115
- ```bash
116
- source .env.dev
117
- npm start
118
21
  ```
119
22
 
120
23
  ## Quick Start
121
24
 
122
- ### Basic Usage
25
+ ### 1. Discover Scanners
123
26
 
124
27
  ```typescript
125
- import { discoverScanners, ESCLClient } from '@escl-protocol/scanner';
126
-
127
- async function example() {
128
- // 1. Discover available scanners (5 second discovery window)
129
- const scanners = await discoverScanners(5000);
130
- console.log(`Found ${scanners.length} scanners`);
131
-
132
- if (scanners.length === 0) {
133
- console.log('No scanners found on network');
134
- return;
135
- }
136
-
137
- // 2. Get scanner info
138
- const scanner = scanners[0];
139
- console.log(`Scanner: ${scanner.name}`);
140
- console.log(`Host: ${scanner.host}:${scanner.port}`);
141
- }
142
-
143
- example();
144
- ```
28
+ import { discoverScanners } from "@crowsgear/escl-protocol-scanner";
145
29
 
146
- ### Discover Scanners
30
+ // Basic usage (uses system Python)
31
+ const result = await discoverScanners(10000);
147
32
 
148
- ```typescript
149
- import { discoverScanners, ESCLScanner } from '@escl-protocol/scanner';
150
-
151
- // Quick discovery
152
- const scanners = await discoverScanners(5000);
153
-
154
- scanners.forEach(scanner => {
155
- console.log(`${scanner.name} at ${scanner.host}:${scanner.port}`);
156
- if (scanner.manufacturer) {
157
- console.log(` Manufacturer: ${scanner.manufacturer}`);
158
- }
159
- if (scanner.model) {
160
- console.log(` Model: ${scanner.model}`);
161
- }
33
+ // Specify Python path directly (recommended)
34
+ const result = await discoverScanners(10000, {
35
+ pythonPath: "/path/to/.venv/bin/python3",
162
36
  });
163
- ```
164
-
165
- ### Get Scanner Capabilities
166
-
167
- ```typescript
168
- import { discoverScanners, ESCLClient } from '@escl-protocol/scanner';
169
-
170
- const scanners = await discoverScanners(5000);
171
- const client = new ESCLClient();
172
-
173
- const capabilities = await client.getCapabilities(scanners[0]);
174
- if (capabilities) {
175
- console.log('Supported Resolutions:', capabilities.resolutions);
176
- console.log('Color Modes:', capabilities.colorModes);
177
- console.log('Scan Sources:', capabilities.sources);
178
- }
179
- ```
180
-
181
- ### Perform a Scan
182
-
183
- ```typescript
184
- import { discoverScanners, ESCLClient } from '@escl-protocol/scanner';
185
-
186
- const scanners = await discoverScanners(5000);
187
- const client = new ESCLClient();
188
-
189
- // Create scan job
190
- const jobId = await client.createScanJob(
191
- scanners[0],
192
- 300, // DPI (300 DPI)
193
- 'RGB24', // Color mode (Full Color)
194
- 'Platen' // Source (Flatbed)
195
- );
196
-
197
- if (!jobId) {
198
- console.error('Failed to create scan job');
199
- process.exit(1);
200
- }
201
-
202
- // Poll for completion
203
- let completed = false;
204
- let attempts = 0;
205
-
206
- while (!completed && attempts < 30) {
207
- const status = await client.getScanJobStatus(scanners[0], jobId);
208
-
209
- if (status.status === 'Completed') {
210
- // Download images
211
- for (const imageUrl of status.images) {
212
- const imageBuffer = await client.downloadImage(scanners[0], imageUrl);
213
- if (imageBuffer) {
214
- console.log('Downloaded image:', imageBuffer.length, 'bytes');
215
- }
216
- }
217
- completed = true;
218
- } else if (status.status === 'Aborted') {
219
- console.error('Scan was aborted');
220
- process.exit(1);
221
- } else {
222
- console.log(`Scan progress: ${status.status}`);
223
- // Wait before next poll
224
- await new Promise(resolve => setTimeout(resolve, 1000));
225
- attempts++;
226
- }
227
- }
228
37
 
229
- if (!completed) {
230
- console.error('Scan job timeout');
231
- process.exit(1);
38
+ if (result.success && result.data.length > 0) {
39
+ console.log("Found scanners:", result.data);
232
40
  }
233
41
  ```
234
42
 
235
- ### Quick Scan Helper
236
-
237
- For simple one-off scans:
43
+ ### 2. Get Scanner Capabilities
238
44
 
239
45
  ```typescript
240
- import { discoverScanners, quickScan } from '@escl-protocol/scanner';
241
-
242
- const scanners = await discoverScanners(5000);
46
+ import { ESCLClient } from "@crowsgear/escl-protocol-scanner";
243
47
 
244
- const images = await quickScan({
245
- scanner: scanners[0],
246
- dpi: 300,
247
- mode: 'color', // 'bw' | 'gray' | 'color'
248
- source: 'Platen', // 'Platen' | 'Feeder'
249
- timeout: 30000
250
- });
48
+ const client = new ESCLClient(10000);
49
+ const capabilities = await client.getCapabilities(scanner);
251
50
 
252
- if (images) {
253
- console.log(`Scanned ${images.length} images`);
254
- // images are base64-encoded PNG data
255
- }
51
+ // capabilities structure:
52
+ // {
53
+ // resolutions: [100, 200, 300, 600], // Supported DPI
54
+ // colorModes: ['BlackAndWhite1', 'Grayscale8', 'RGB24'],
55
+ // sources: ['Platen', 'Adf'], // Platen=flatbed, Adf=feeder
56
+ // maxWidth: 297, // Max scan width (mm)
57
+ // maxHeight: 432 // Max scan height (mm)
58
+ // }
256
59
  ```
257
60
 
258
- ## Choosing Your Scanning Approach
61
+ ### 3. Perform Scan
259
62
 
260
- The library provides two different ways to perform scans, each with different use cases:
261
-
262
- ### Low-Level API: `client.createScanJob()`
263
-
264
- **Use this when you need:**
265
- - Fine-grained control over the scanning process
266
- - Custom polling intervals or timeout logic
267
- - To handle batch scanning with specific error recovery
268
- - Advanced features like job cancellation
269
-
270
- **How it works:**
271
- 1. Create scan job with parameters → returns Job ID
272
- 2. Poll `getScanJobStatus()` to check completion
273
- 3. Download each image with `downloadImage()`
274
- 4. Manually manage job lifecycle
275
-
276
- **Example:**
277
63
  ```typescript
278
- // Step 1: Create job
279
- const jobId = await client.createScanJob(scanner, 300, 'RGB24', 'Platen');
280
-
281
- // Step 2: Poll for completion with custom logic
282
- while (!completed) {
283
- const status = await client.getScanJobStatus(scanner, jobId);
284
-
285
- if (status.status === 'Completed') {
286
- // Step 3: Download images
287
- for (const imageUrl of status.images) {
288
- const buffer = await client.downloadImage(scanner, imageUrl);
289
- // Custom processing...
290
- }
291
- completed = true;
292
- }
293
-
294
- await new Promise(r => setTimeout(r, 1000)); // Custom delay
295
- }
296
- ```
64
+ import { quickScan } from "@crowsgear/escl-protocol-scanner";
297
65
 
298
- **Pros:**
299
- - Maximum flexibility and control
300
- - Custom error handling strategies
301
- - Can implement custom polling logic
302
- - Direct access to job status
303
-
304
- **Cons:**
305
- - More code to write and maintain
306
- - More opportunities for bugs
307
- - Requires manual resource cleanup
308
-
309
- ### High-Level API: `quickScan()`
310
-
311
- **Use this when you need:**
312
- - Simple one-shot scanning (most common case)
313
- - Fast implementation without boilerplate
314
- - Automatic error handling and cleanup
315
- - Sensible defaults for typical scanning scenarios
316
-
317
- **How it works:**
318
- 1. Creates scan job automatically
319
- 2. Waits and polls for completion (~5 second intervals)
320
- 3. Downloads all images
321
- 4. Saves to disk automatically
322
- 5. Cleans up job automatically
323
-
324
- **Example:**
325
- ```typescript
326
66
  const filePaths = await quickScan({
327
- scanner: scanners[0],
328
- dpi: 300,
329
- mode: 'color', // 'bw' | 'gray' | 'color'
330
- source: 'Platen', // 'Platen' | 'Feeder'
331
- savePath: './scans' // optional, defaults to cwd()
67
+ scanner: scanner,
68
+ dpi: 300,
69
+ mode: "color", // 'bw' | 'gray' | 'color'
70
+ source: "Platen", // 'Platen' | 'Feeder'
71
+ savePath: "/save/path",
72
+ width: 210, // Scan width in mm (default: 210 = A4)
73
+ height: 297, // Scan height in mm (default: 297 = A4)
74
+ timeout: 30000,
332
75
  });
333
76
 
334
77
  if (filePaths) {
335
- console.log(`Scanned ${filePaths.length} images`);
336
- filePaths.forEach(path => console.log(` - ${path}`));
78
+ console.log("Saved files:", filePaths);
337
79
  }
338
80
  ```
339
81
 
340
- **Pros:**
341
- - Minimal code required
342
- - Automatic cleanup on success/failure
343
- - Returns file paths ready for use
344
- - Built-in error handling
345
- - Best for simple scanning tasks
346
-
347
- **Cons:**
348
- - Less control over polling
349
- - Fixed timeout/retry logic
350
- - Cannot implement custom scanning workflows
351
-
352
- ### Comparison Table
353
-
354
- | Feature | `createScanJob()` | `quickScan()` |
355
- |---------|-------------------|---------------|
356
- | **Typical Use** | Advanced, custom workflows | Simple one-shot scans |
357
- | **Code Required** | ~30+ lines | ~10 lines |
358
- | **Control Level** | Full | Limited |
359
- | **Error Handling** | Manual | Automatic |
360
- | **Cleanup** | Manual | Automatic |
361
- | **Polling Logic** | Custom | Built-in (~5s intervals) |
362
- | **Return Type** | Job ID (string) | File paths (string[]) |
363
- | **Learning Curve** | Moderate | Easy |
364
- | **Best For** | Integrations, batch jobs | Desktop apps, CLI tools |
365
-
366
- ### Recommendation
367
-
368
- **Choose `quickScan()` unless you have specific reasons not to:**
369
- - It's the recommended approach for most use cases
370
- - Handles all the complexity automatically
371
- - Reduces bugs and improves maintainability
372
- - Perfect for Electron, CLI, and batch applications
373
-
374
- **Choose `createScanJob()` only if:**
375
- - You need custom polling behavior
376
- - Implementing a queue system
377
- - Building advanced scanning workflows
378
- - Integrating with custom error handling
379
-
380
- ## API Reference
381
-
382
- ### Types
383
-
384
- #### `ESCLScanner`
385
- ```typescript
386
- interface ESCLScanner {
387
- name: string; // Scanner display name
388
- host: string; // IP address
389
- port: number; // HTTP port (usually 80)
390
- serviceName?: string; // Full mDNS service name
391
- model?: string; // Device model (if available)
392
- manufacturer?: string; // Device manufacturer (if available)
393
- }
394
- ```
395
-
396
- #### `ESCLCapabilities`
397
- ```typescript
398
- interface ESCLCapabilities {
399
- resolutions: number[]; // Available DPI values
400
- colorModes: ('BlackAndWhite1' | 'Grayscale8' | 'RGB24')[]; // Available color modes
401
- sources: ('Platen' | 'Adf' | 'Feeder')[]; // Available scan sources
402
- }
403
- ```
404
-
405
- ### Classes
82
+ ## Paper Size Reference
406
83
 
407
- #### `ESCLClient`
84
+ | Paper | Width (mm) | Height (mm) |
85
+ | ------ | ---------- | ----------- |
86
+ | A4 | 210 | 297 |
87
+ | A3 | 297 | 420 |
88
+ | Letter | 216 | 279 |
89
+ | Legal | 216 | 356 |
408
90
 
409
- Main client for communicating with eSCL scanners.
91
+ ## Cross-Platform Python Path
410
92
 
411
93
  ```typescript
412
- class ESCLClient {
413
- constructor(timeout?: number);
94
+ import path from "path";
414
95
 
415
- async getCapabilities(scanner: ESCLScanner): Promise<ESCLCapabilities | null>;
416
- async createScanJob(scanner: ESCLScanner, dpi: number, colorMode: string, source: string): Promise<string | null>;
417
- async getScanJobStatus(scanner: ESCLScanner, jobId: string): Promise<{ status: string; images: string[] }>;
418
- async downloadImage(scanner: ESCLScanner, imageUrl: string): Promise<Buffer | null>;
419
- }
420
- ```
421
-
422
- #### `ESCLDiscovery`
423
-
424
- Scanner discovery service using Python subprocess with zeroconf.
96
+ const projectRoot = process.cwd();
97
+ const pythonPath =
98
+ process.platform === "win32"
99
+ ? path.join(projectRoot, ".venv", "python.exe")
100
+ : path.join(projectRoot, ".venv", "bin", "python3");
425
101
 
426
- ```typescript
427
- class ESCLDiscovery {
428
- constructor(timeout?: number);
429
-
430
- async startDiscovery(): Promise<ESCLScanner[]>;
431
- stopDiscovery(): void;
432
- getScanners(): ESCLScanner[];
433
- onScannerDiscovered(callback: (scanners: ESCLScanner[]) => void): void;
434
- offScannerDiscovered(callback: (scanners: ESCLScanner[]) => void): void;
435
- }
102
+ const result = await discoverScanners(10000, { pythonPath });
436
103
  ```
437
104
 
438
- ### Functions
105
+ ## API
439
106
 
440
- #### `discoverScanners(timeout: number): Promise<ESCLScanner[]>`
107
+ ### discoverScanners(timeout, options?)
441
108
 
442
- Convenience function for quick scanner discovery.
109
+ Discovers eSCL scanners on the network.
443
110
 
444
111
  ```typescript
445
- const scanners = await discoverScanners(5000); // 5 second discovery
112
+ const result = await discoverScanners(10000, { pythonPath: "/path/to/python3" });
113
+ // result: { success: boolean, data: ESCLScanner[], error?: string }
446
114
  ```
447
115
 
448
- #### `quickScan(params): Promise<string[] | null>`
449
-
450
- Convenience function for simple scan workflow.
116
+ ### ESCLClient
451
117
 
452
118
  ```typescript
453
- const images = await quickScan({
454
- scanner: device,
455
- dpi: 300,
456
- mode: 'color',
457
- source: 'Platen',
458
- timeout: 30000
459
- });
460
- ```
461
-
462
- ## Architecture
463
-
464
- ### How It Works
465
-
466
- 1. **Discovery**: JavaScript code spawns a Python subprocess (`escl_main.py`)
467
- 2. **Python Subprocess**: Uses `zeroconf` library to discover eSCL scanners on the network via mDNS
468
- 3. **Communication**: JSON-RPC over stdin/stdout between Node.js and Python
469
- 4. **Image Processing**: Python handles image rotation and PNG encoding
470
-
471
- ### Design Rationale
119
+ const client = new ESCLClient(timeout?: number);
472
120
 
473
- - **Python for Discovery**: `zeroconf` library is more mature and stable than Node.js alternatives
474
- - **Subprocess Architecture**: Isolates network scanning from main application
475
- - **JSON-RPC Protocol**: Simple, reliable IPC between Node.js and Python processes
476
- - **Image Encoding**: Base64 PNG encoding for safe cross-process transmission
121
+ // Get scanner capabilities
122
+ const caps = await client.getCapabilities(scanner, debug?: boolean);
477
123
 
478
- ## Configuration
124
+ // Create scan job
125
+ const jobId = await client.createScanJob(
126
+ scanner,
127
+ dpi: number,
128
+ colorMode: string, // 'BlackAndWhite1' | 'Grayscale8' | 'RGB24'
129
+ source: string, // 'Platen' | 'Feeder'
130
+ width?: number, // mm (default: 210)
131
+ height?: number // mm (default: 297)
132
+ );
479
133
 
480
- ### Environment Variables
134
+ // Check scan status
135
+ const status = await client.getScanJobStatus(scanner, jobId);
481
136
 
482
- ```bash
483
- # Python path (if non-standard)
484
- export PYTHON_PATH=python3
485
-
486
- # Logging (if implemented)
487
- export ESCL_DEBUG=1
137
+ // Download image
138
+ const buffer = await client.downloadImage(scanner, imageUrl);
488
139
  ```
489
140
 
490
- ### Timeouts
141
+ ### quickScan(params)
142
+
143
+ Convenience function - handles scan job creation to image saving in one call.
491
144
 
492
145
  ```typescript
493
- const client = new ESCLClient(10000); // 10 second HTTP timeout
494
- const scanners = await discoverScanners(5000); // 5 second discovery window
146
+ const filePaths = await quickScan({
147
+ scanner: ESCLScanner,
148
+ dpi: number,
149
+ mode: 'bw' | 'gray' | 'color',
150
+ source: 'Platen' | 'Feeder',
151
+ savePath?: string, // Save path (default: cwd)
152
+ width?: number, // mm (default: 210)
153
+ height?: number, // mm (default: 297)
154
+ timeout?: number
155
+ });
495
156
  ```
496
157
 
497
- ## Troubleshooting
498
-
499
- ### Scanners Not Found
500
-
501
- 1. **Check Python Dependencies**:
502
- ```bash
503
- pip install zeroconf pillow
504
- ```
505
-
506
- 2. **Verify Network**:
507
- - Ensure scanner is on same network as computer
508
- - Check scanner is powered on and connected
509
- - Verify network is mDNS-enabled (not blocked by firewall)
510
-
511
- 3. **Enable Debug Output**:
512
- ```typescript
513
- import { ESCLDiscovery } from '@escl-protocol/scanner';
514
- const discovery = new ESCLDiscovery();
515
- // Check stderr output for Python errors
516
- ```
517
-
518
- ### Connection Refused
519
-
520
- 1. Verify scanner IP and port (usually port 80)
521
- 2. Ensure firewall allows HTTP access to scanner
522
- 3. Check scanner supports eSCL protocol (AirPrint-compatible)
523
-
524
- ### Scan Timeouts
525
-
526
- 1. Increase timeout value:
527
- ```typescript
528
- const client = new ESCLClient(30000); // 30 seconds
529
- ```
530
-
531
- 2. Check scanner network latency
532
- 3. Reduce scan resolution for slower networks
533
-
534
- ### Image Processing Issues
535
-
536
- 1. Verify `pillow` library is installed:
537
- ```bash
538
- pip install --upgrade pillow
539
- ```
540
-
541
- 2. Check disk space for image temporary files
542
- 3. Verify scanner outputs valid PNG/JPEG images
543
-
544
- ## Error Handling
158
+ ## Types
545
159
 
546
160
  ```typescript
547
- try {
548
- const scanners = await discoverScanners(5000);
549
-
550
- if (scanners.length === 0) {
551
- throw new Error('No scanners found');
552
- }
553
-
554
- const capabilities = await client.getCapabilities(scanners[0]);
555
- if (!capabilities) {
556
- throw new Error('Failed to get capabilities');
557
- }
558
-
559
- const jobId = await client.createScanJob(scanners[0], 300, 'RGB24', 'Platen');
560
- if (!jobId) {
561
- throw new Error('Failed to create scan job');
562
- }
563
- } catch (error) {
564
- console.error('eSCL operation failed:', error.message);
565
- // Handle error appropriately
161
+ interface ESCLScanner {
162
+ name: string;
163
+ host: string;
164
+ port: number;
165
+ model?: string;
166
+ manufacturer?: string;
566
167
  }
567
- ```
568
-
569
- ## Performance Considerations
570
-
571
- - **Discovery Time**: ~5 seconds for local network scan
572
- - **Scan Time**: Varies by document size, DPI, and network latency
573
- - Single page A4 at 300 DPI: typically 5-10 seconds
574
- - Large batch jobs: minutes depending on document count
575
- - **Memory Usage**: Python subprocess uses ~50-100MB when idle
576
- - **Network**: Requires local network access to scanners (no internet required)
577
-
578
- ## Compatibility
579
-
580
- ### Operating Systems
581
- - ✅ macOS 10.14+
582
- - ✅ Linux (Ubuntu 18.04+, CentOS 7+, etc.)
583
- - ✅ Windows 10+ (with Python 3.6+)
584
-
585
- ### Node.js Versions
586
- - ✅ Node.js 14.x
587
- - ✅ Node.js 16.x
588
- - ✅ Node.js 18.x
589
- - ✅ Node.js 20.x
590
-
591
- ### Scanner Models
592
- - ✅ Canon: iR-ADV C series, iR 2500/3000 series
593
- - ✅ HP: LaserJet Pro M series, MFP devices
594
- - ✅ Xerox: WorkCentre 5000+ series
595
- - ✅ Ricoh: MP C series
596
- - ✅ Epson: WorkForce Pro series
597
- - ✅ Brother: MFC series (eSCL enabled)
598
168
 
599
- ## Development
600
-
601
- ### Building from Source
602
-
603
- ```bash
604
- # Install dependencies
605
- yarn install
606
-
607
- # Build TypeScript
608
- yarn build
609
-
610
- # Clean build artifacts
611
- yarn clean
612
-
613
- # Watch mode
614
- yarn build:watch
615
- ```
616
-
617
- ### Project Structure
618
-
619
- ```
620
- ├── src/
621
- │ ├── index.ts # Main entry point
622
- │ ├── types.ts # TypeScript interfaces
623
- │ ├── client.ts # eSCL HTTP client
624
- │ ├── discovery.ts # Scanner discovery service
625
- │ └── [...other files]
626
- ├── python/
627
- │ ├── escl_main.py # Python subprocess entry point
628
- │ ├── escl_backend.py # eSCL protocol implementation
629
- │ └── base.py # Base class for backends
630
- ├── dist/ # Compiled JavaScript (generated)
631
- ├── package.json
632
- └── README.md
169
+ interface ESCLCapabilities {
170
+ resolutions: number[];
171
+ colorModes: ("BlackAndWhite1" | "Grayscale8" | "RGB24")[];
172
+ sources: ("Platen" | "Adf" | "Feeder")[];
173
+ maxWidth?: number; // mm
174
+ maxHeight?: number; // mm
175
+ }
633
176
  ```
634
177
 
635
- ## Contributing
178
+ ## Supported Scanners
636
179
 
637
- Contributions are welcome! Please:
180
+ AirPrint/eSCL compatible network scanners:
638
181
 
639
- 1. Fork the repository
640
- 2. Create a feature branch
641
- 3. Submit a pull request with description of changes
642
- 4. Ensure tests pass and code follows project conventions
182
+ - Canon iR-ADV series
183
+ - HP LaserJet MFP
184
+ - Xerox WorkCentre
185
+ - Epson WorkForce Pro
186
+ - Other AirPrint compatible MFPs
187
+ - ...
643
188
 
644
189
  ## License
645
190
 
646
191
  MIT
647
-
648
- ## Support
649
-
650
- For issues, questions, or feature requests:
651
- - GitHub Repository: [escl-protocol-scanner](https://github.com/byeong1/escl-protocol-scanner)
652
- - GitHub Issues: [Report Issues](https://github.com/byeong1/escl-protocol-scanner/issues)
653
- - npm Package: [@escl-protocol/scanner](https://www.npmjs.com/package/@escl-protocol/scanner)
654
- - Email: your-email@example.com
655
-
656
- ## Changelog
657
-
658
- ### Version 1.0.0 (Initial Release)
659
- - Basic eSCL protocol support
660
- - Scanner discovery via mDNS
661
- - Single and batch scanning
662
- - Image rotation and encoding
663
- - Support for multiple manufacturers
package/dist/client.d.ts CHANGED
@@ -23,9 +23,11 @@ export declare class ESCLClient {
23
23
  * @param dpi Resolution in DPI
24
24
  * @param colorMode Color mode (BlackAndWhite1, Grayscale8, RGB24)
25
25
  * @param source Scan source (Platen, Feeder)
26
+ * @param width Scan width in mm (optional)
27
+ * @param height Scan height in mm (optional)
26
28
  * @returns Scan job UUID
27
29
  */
28
- createScanJob(scanner: ESCLScanner, dpi: number, colorMode: string, source: string): Promise<string | null>;
30
+ createScanJob(scanner: ESCLScanner, dpi: number, colorMode: string, source: string, width?: number, height?: number): Promise<string | null>;
29
31
  /**
30
32
  * Poll scan job status
31
33
  * @param scanner Target scanner
@@ -45,6 +47,11 @@ export declare class ESCLClient {
45
47
  downloadImage(scanner: ESCLScanner, imageUrl: string): Promise<Buffer | null>;
46
48
  /**
47
49
  * Build eSCL scan settings XML
50
+ * @param dpi Resolution in DPI
51
+ * @param colorMode Color mode
52
+ * @param source Scan source
53
+ * @param width Scan width in mm (optional, default: 210mm = A4)
54
+ * @param height Scan height in mm (optional, default: 297mm = A4)
48
55
  */
49
56
  private buildScanSettings;
50
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAgB,MAAM,SAAS,CAAC;AAEtE;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAiB;gBAEpB,OAAO,CAAC,EAAE,MAAM;IAM5B;;;;;OAKG;IACG,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAarG;;;;;;;OAOG;IACG,aAAa,CACjB,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqBzB;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QACnE,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;QAC3D,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAyBF;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUnF;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8BzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAqEzB;;OAEG;IACH,OAAO,CAAC,OAAO;IAyBf;;OAEG;IACH,OAAO,CAAC,aAAa;IAyBrB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAmCjB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAgB,MAAM,SAAS,CAAC;AAEtE;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAiB;gBAEpB,OAAO,CAAC,EAAE,MAAM;IAM5B;;;;;OAKG;IACG,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAarG;;;;;;;;;OASG;IACG,aAAa,CACjB,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqBzB;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QACnE,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;QAC3D,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAyBF;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUnF;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA+FzB;;OAEG;IACH,OAAO,CAAC,OAAO;IAyBf;;OAEG;IACH,OAAO,CAAC,aAAa;IAyBrB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAmCjB"}
package/dist/client.js CHANGED
@@ -72,11 +72,13 @@ class ESCLClient {
72
72
  * @param dpi Resolution in DPI
73
73
  * @param colorMode Color mode (BlackAndWhite1, Grayscale8, RGB24)
74
74
  * @param source Scan source (Platen, Feeder)
75
+ * @param width Scan width in mm (optional)
76
+ * @param height Scan height in mm (optional)
75
77
  * @returns Scan job UUID
76
78
  */
77
- async createScanJob(scanner, dpi, colorMode, source) {
79
+ async createScanJob(scanner, dpi, colorMode, source, width, height) {
78
80
  try {
79
- const scanSettings = this.buildScanSettings(dpi, colorMode, source);
81
+ const scanSettings = this.buildScanSettings(dpi, colorMode, source, width, height);
80
82
  const jobResponse = await this.httpPost(`http://${scanner.host}:${scanner.port}/eSCL/ScanJobs`, scanSettings);
81
83
  // Extract job UUID from Location header or response
82
84
  const jobMatch = jobResponse.match(/\/eSCL\/ScanJobs\/([a-f0-9-]+)/);
@@ -134,11 +136,18 @@ class ESCLClient {
134
136
  }
135
137
  /**
136
138
  * Build eSCL scan settings XML
139
+ * @param dpi Resolution in DPI
140
+ * @param colorMode Color mode
141
+ * @param source Scan source
142
+ * @param width Scan width in mm (optional, default: 210mm = A4)
143
+ * @param height Scan height in mm (optional, default: 297mm = A4)
137
144
  */
138
- buildScanSettings(dpi, colorMode, source) {
139
- // Match the Python implementation which uses proper namespaces
145
+ buildScanSettings(dpi, colorMode, source, width, height) {
140
146
  const ESCL_NS = 'http://schemas.hp.com/imaging/escl/2011/05/03';
141
147
  const PWG_NS = 'http://www.pwg.org/schemas/2010/12/sm';
148
+ /* mm to 1/300 inch 변환 */
149
+ const widthInUnits = Math.round((width || 210) / 25.4 * 300);
150
+ const heightInUnits = Math.round((height || 297) / 25.4 * 300);
142
151
  return `<?xml version="1.0" encoding="UTF-8"?>
143
152
  <scan:ScanSettings xmlns:scan="${ESCL_NS}" xmlns:pwg="${PWG_NS}">
144
153
  <pwg:Version>2.0</pwg:Version>
@@ -148,8 +157,8 @@ class ESCLClient {
148
157
  <pwg:ContentRegionUnits>escl:ThreeHundredthsOfInches</pwg:ContentRegionUnits>
149
158
  <pwg:XOffset>0</pwg:XOffset>
150
159
  <pwg:YOffset>0</pwg:YOffset>
151
- <pwg:Width>3508</pwg:Width>
152
- <pwg:Height>4961</pwg:Height>
160
+ <pwg:Width>${widthInUnits}</pwg:Width>
161
+ <pwg:Height>${heightInUnits}</pwg:Height>
153
162
  </pwg:ScanRegion>
154
163
  </pwg:ScanRegions>
155
164
  <scan:Justification>
@@ -218,14 +227,37 @@ class ESCLClient {
218
227
  sources.push('Adf');
219
228
  }
220
229
  }
230
+ // Extract max width and height (in 1/300 inch units, convert to mm)
231
+ let maxWidth;
232
+ let maxHeight;
233
+ const maxWidthMatch = xml.match(/<[a-z]*:?MaxWidth>(\d+)<\/[a-z]*:?MaxWidth>/);
234
+ const maxHeightMatch = xml.match(/<[a-z]*:?MaxHeight>(\d+)<\/[a-z]*:?MaxHeight>/);
235
+ if (maxWidthMatch) {
236
+ maxWidth = Math.round(parseInt(maxWidthMatch[1], 10) / 300 * 25.4);
237
+ }
238
+ if (maxHeightMatch) {
239
+ maxHeight = Math.round(parseInt(maxHeightMatch[1], 10) / 300 * 25.4);
240
+ }
221
241
  // Remove duplicates from resolutions
222
242
  const uniqueResolutions = Array.from(new Set(resolutions)).sort((a, b) => a - b);
223
243
  const uniqueColorModes = Array.from(new Set(colorModes));
224
244
  const uniqueSources = Array.from(new Set(sources));
225
245
  if (debug) {
226
- console.log('[eSCL] Parsed capabilities:', { resolutions: uniqueResolutions, colorModes: uniqueColorModes, sources: uniqueSources });
246
+ console.log('[eSCL] Parsed capabilities:', {
247
+ resolutions: uniqueResolutions,
248
+ colorModes: uniqueColorModes,
249
+ sources: uniqueSources,
250
+ maxWidth,
251
+ maxHeight
252
+ });
227
253
  }
228
- return { resolutions: uniqueResolutions, colorModes: uniqueColorModes, sources: uniqueSources };
254
+ return {
255
+ resolutions: uniqueResolutions,
256
+ colorModes: uniqueColorModes,
257
+ sources: uniqueSources,
258
+ maxWidth,
259
+ maxHeight
260
+ };
229
261
  }
230
262
  /**
231
263
  * HTTP GET request
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,8 @@ export declare class ESCLDiscovery {
65
65
  /**
66
66
  * Convenience function for quick scanner discovery
67
67
  * @param timeout Discovery timeout in milliseconds (default: 5000)
68
+ * @param options Discovery options including pythonPath
68
69
  * @returns Discovery response with success status and scanner data
69
70
  */
70
- export declare function discoverScanners(timeout?: number): Promise<DiscoveryResponse>;
71
+ export declare function discoverScanners(timeout?: number, options?: ESCLDiscoveryOptions): Promise<DiscoveryResponse>;
71
72
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,WAAW,EAA6B,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,SAAS,CAAqD;IACtE,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,UAAU,CAAqB;gBAE3B,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAS5D;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;;OAIG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoDlE;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;OAEG;IACH,WAAW,IAAI,WAAW,EAAE;IAI5B;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,IAAI;IAItE;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,IAAI;IAIvE;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6D1B;;OAEG;IACH,OAAO,CAAC,OAAO;IA2Bf;;OAEG;IACH,OAAO,CAAC,eAAe;CAMxB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAGzF"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,WAAW,EAA6B,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,SAAS,CAAqD;IACtE,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,UAAU,CAAqB;gBAE3B,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAS5D;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;;OAIG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoDlE;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;OAEG;IACH,WAAW,IAAI,WAAW,EAAE;IAI5B;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,IAAI;IAItE;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,IAAI;IAIvE;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6D1B;;OAEG;IACH,OAAO,CAAC,OAAO;IA2Bf;;OAEG;IACH,OAAO,CAAC,eAAe;CAMxB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,MAAa,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAGzH"}
package/dist/discovery.js CHANGED
@@ -260,10 +260,11 @@ exports.ESCLDiscovery = ESCLDiscovery;
260
260
  /**
261
261
  * Convenience function for quick scanner discovery
262
262
  * @param timeout Discovery timeout in milliseconds (default: 5000)
263
+ * @param options Discovery options including pythonPath
263
264
  * @returns Discovery response with success status and scanner data
264
265
  */
265
- async function discoverScanners(timeout = 5000) {
266
- const discovery = new ESCLDiscovery(timeout);
266
+ async function discoverScanners(timeout = 5000, options) {
267
+ const discovery = new ESCLDiscovery(timeout, options);
267
268
  return discovery.startDiscovery(timeout);
268
269
  }
269
270
  //# sourceMappingURL=discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -72,5 +72,7 @@ export declare function quickScan(params: {
72
72
  source: 'Platen' | 'Feeder';
73
73
  timeout?: number;
74
74
  savePath?: string;
75
+ width?: number;
76
+ height?: number;
75
77
  }): Promise<string[] | null>;
76
78
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,WAAW,EACX,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAIxD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG9D,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,GAAG,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9B,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CA+E3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,WAAW,EACX,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAIxD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG9D,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,GAAG,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9B,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CA+E3B"}
package/dist/index.js CHANGED
@@ -74,7 +74,7 @@ exports.VERSION = '1.0.0';
74
74
  * ```
75
75
  */
76
76
  async function quickScan(params) {
77
- let { scanner, dpi, mode, source, timeout, savePath } = params;
77
+ let { scanner, dpi, mode, source, timeout, savePath, width, height } = params;
78
78
  const client = new client_1.ESCLClient(timeout);
79
79
  // Default save path to current working directory if not provided
80
80
  if (!savePath) {
@@ -92,7 +92,7 @@ async function quickScan(params) {
92
92
  throw new Error(`Invalid color mode: ${mode}`);
93
93
  }
94
94
  // 1. Create scan job
95
- const jobId = await client.createScanJob(scanner, dpi, colorMode, source);
95
+ const jobId = await client.createScanJob(scanner, dpi, colorMode, source, width, height);
96
96
  if (!jobId) {
97
97
  throw new Error('Failed to create scan job');
98
98
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;;;AAuDH,8BAsFC;AAvHD,4BAA4B;AAC5B,qCAAsC;AACtC,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AACnB,yCAA8D;AAArD,0GAAA,aAAa,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAExC,UAAU;AACG,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACI,KAAK,UAAU,SAAS,CAAC,MAO/B;IACC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC,OAAO,CAAC,CAAC;IAEvC,iEAAiE;IACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,YAAY,GAA2B;YAC3C,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,OAAO;SACjB,CAAC;QAEF,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,qBAAqB;QACrB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,kBAAkB,KAAK,EAAE,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;QAElD,2CAA2C;QAC3C,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAE1D,+CAA+C;QAC/C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,MAAM,KAAK,QAAQ,CAAC;QAElC,OAAO,IAAI,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,sCAAsC,OAAO,KAAK,CAAC,CAAC;YAChE,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAEvD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,eAAe;gBACf,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;oBAClB,oBAAoB;oBACpB,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;gBAC9F,CAAC;qBAAM,CAAC;oBACN,kDAAkD;oBAClD,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC3D,MAAM;gBACR,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,gBAAgB,WAAW,CAAC,MAAM,QAAQ,CAAC,CAAC;YAE9E,qBAAqB;YACrB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACvE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEzB,mCAAmC;YACnC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM;YACR,CAAC;YAED,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,+BAA+B;QAC/B,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAE5B,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAAC,UAAkB,EAAE,WAAmB,EAAE,OAAe;IACrF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAE7B,IAAI,CAAC;YACH,oCAAoC;YACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,mCAAmC;YACnC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,QAAQ,GAAG,QAAQ,SAAS,QAAQ,OAAO,MAAM,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAEjD,2BAA2B;YAC3B,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YAE/C,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAChD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,GAAG,MAAM,eAAe,CAAC;QAC5C,OAAO,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,wCAAwC;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,MAAc;IACzC,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oCAAoC;QACpC,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,GAAW,EAAE,UAAkB,KAAK;IACzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,GAAQ,EAAE,EAAE;YAC7D,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAQ,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;oBACvD,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;oBAC5B,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACrB,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,GAAW,EAAE,UAAkB,KAAK;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,QAAQ;YAChB,OAAO;SACR,CAAC;QAEF,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;YAC7D,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACrB,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crowsgear/escl-protocol-scanner",
3
- "version": "1.0.6",
3
+ "version": "1.0.9",
4
4
  "description": "eSCL/AirPrint Protocol Scanner Library - HTTP-based network scanner support with mDNS discovery",
5
5
  "license": "MIT",
6
6
  "author": "CrowsGear",