node-hp-scan-to 1.9.1 → 1.9.3
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/dist/HPApi.d.ts +22 -21
- package/dist/HPApi.js +101 -119
- package/dist/HPApi.js.map +1 -1
- package/dist/JpegUtil.d.ts +1 -3
- package/dist/JpegUtil.js +2 -5
- package/dist/JpegUtil.js.map +1 -1
- package/dist/PathHelper.js +23 -62
- package/dist/PathHelper.js.map +1 -1
- package/dist/commands/adfAutoscanCmd.d.ts +1 -1
- package/dist/commands/adfAutoscanCmd.js +16 -22
- package/dist/commands/adfAutoscanCmd.js.map +1 -1
- package/dist/commands/clearRegistrationsCmd.js +6 -12
- package/dist/commands/clearRegistrationsCmd.js.map +1 -1
- package/dist/commands/listenCmd.d.ts +4 -4
- package/dist/commands/listenCmd.js +63 -73
- package/dist/commands/listenCmd.js.map +1 -1
- package/dist/commands/singleScanCmd.d.ts +1 -1
- package/dist/commands/singleScanCmd.js +10 -16
- package/dist/commands/singleScanCmd.js.map +1 -1
- package/dist/commitInfo.json +1 -1
- package/dist/delay.js +1 -4
- package/dist/delay.js.map +1 -1
- package/dist/healthcheck.js +4 -9
- package/dist/healthcheck.js.map +1 -1
- package/dist/hpModels/AdfState.js +2 -5
- package/dist/hpModels/AdfState.js.map +1 -1
- package/dist/hpModels/Destination.js +9 -7
- package/dist/hpModels/Destination.js.map +1 -1
- package/dist/hpModels/EnumUtils.js +1 -5
- package/dist/hpModels/EnumUtils.js.map +1 -1
- package/dist/hpModels/EsclManifest.js +4 -5
- package/dist/hpModels/EsclManifest.js.map +1 -1
- package/dist/hpModels/EsclScanCaps.d.ts +1 -1
- package/dist/hpModels/EsclScanCaps.js +5 -8
- package/dist/hpModels/EsclScanCaps.js.map +1 -1
- package/dist/hpModels/EsclScanImageInfo.js +4 -5
- package/dist/hpModels/EsclScanImageInfo.js.map +1 -1
- package/dist/hpModels/EsclScanJobSettings.d.ts +3 -3
- package/dist/hpModels/EsclScanJobSettings.js +16 -15
- package/dist/hpModels/EsclScanJobSettings.js.map +1 -1
- package/dist/hpModels/EsclScanStatus.d.ts +4 -4
- package/dist/hpModels/EsclScanStatus.js +25 -30
- package/dist/hpModels/EsclScanStatus.js.map +1 -1
- package/dist/hpModels/Event.d.ts +2 -2
- package/dist/hpModels/Event.js +2 -3
- package/dist/hpModels/Event.js.map +1 -1
- package/dist/hpModels/EventTable.d.ts +1 -1
- package/dist/hpModels/EventTable.js +7 -11
- package/dist/hpModels/EventTable.js.map +1 -1
- package/dist/hpModels/IScanJobSettings.js +1 -2
- package/dist/hpModels/IScanStatus.d.ts +3 -3
- package/dist/hpModels/IScanStatus.js +3 -2
- package/dist/hpModels/IScanStatus.js.map +1 -1
- package/dist/hpModels/Job.js +11 -13
- package/dist/hpModels/Job.js.map +1 -1
- package/dist/hpModels/ParseXmlString.js +3 -7
- package/dist/hpModels/ParseXmlString.js.map +1 -1
- package/dist/hpModels/ScanCaps.d.ts +1 -1
- package/dist/hpModels/ScanCaps.js +25 -28
- package/dist/hpModels/ScanCaps.js.map +1 -1
- package/dist/hpModels/ScanJobManifest.js +4 -5
- package/dist/hpModels/ScanJobManifest.js.map +1 -1
- package/dist/hpModels/ScanJobSettings.d.ts +3 -3
- package/dist/hpModels/ScanJobSettings.js +17 -16
- package/dist/hpModels/ScanJobSettings.js.map +1 -1
- package/dist/hpModels/ScanPlexMode.js +2 -5
- package/dist/hpModels/ScanPlexMode.js.map +1 -1
- package/dist/hpModels/ScanStatus.d.ts +4 -4
- package/dist/hpModels/ScanStatus.js +14 -15
- package/dist/hpModels/ScanStatus.js.map +1 -1
- package/dist/hpModels/ScannerState.js +2 -5
- package/dist/hpModels/ScannerState.js.map +1 -1
- package/dist/hpModels/WalkupScanDestination.d.ts +2 -2
- package/dist/hpModels/WalkupScanDestination.js +8 -8
- package/dist/hpModels/WalkupScanDestination.js.map +1 -1
- package/dist/hpModels/WalkupScanDestinations.d.ts +1 -1
- package/dist/hpModels/WalkupScanDestinations.js +6 -10
- package/dist/hpModels/WalkupScanDestinations.js.map +1 -1
- package/dist/hpModels/WalkupScanManifest.js +4 -5
- package/dist/hpModels/WalkupScanManifest.js.map +1 -1
- package/dist/hpModels/WalkupScanToCompCaps.js +4 -5
- package/dist/hpModels/WalkupScanToCompCaps.js.map +1 -1
- package/dist/hpModels/WalkupScanToCompDestination.d.ts +2 -2
- package/dist/hpModels/WalkupScanToCompDestination.js +8 -8
- package/dist/hpModels/WalkupScanToCompDestination.js.map +1 -1
- package/dist/hpModels/WalkupScanToCompDestinations.d.ts +1 -1
- package/dist/hpModels/WalkupScanToCompDestinations.js +6 -10
- package/dist/hpModels/WalkupScanToCompDestinations.js.map +1 -1
- package/dist/hpModels/WalkupScanToCompEvent.js +8 -10
- package/dist/hpModels/WalkupScanToCompEvent.js.map +1 -1
- package/dist/hpModels/WalkupScanToCompManifest.js +4 -5
- package/dist/hpModels/WalkupScanToCompManifest.js.map +1 -1
- package/dist/index.js +11 -47
- package/dist/index.js.map +1 -1
- package/dist/listening.d.ts +4 -4
- package/dist/listening.js +47 -75
- package/dist/listening.js.map +1 -1
- package/dist/nextcloud/NextcloudConfig.d.ts +2 -2
- package/dist/nextcloud/NextcloudConfig.js +1 -2
- package/dist/nextcloud/nextcloud.d.ts +2 -2
- package/dist/nextcloud/nextcloud.js +9 -16
- package/dist/nextcloud/nextcloud.js.map +1 -1
- package/dist/paperless/PaperlessConfig.d.ts +2 -2
- package/dist/paperless/PaperlessConfig.js +1 -2
- package/dist/paperless/paperless.d.ts +3 -3
- package/dist/paperless/paperless.js +20 -29
- package/dist/paperless/paperless.js.map +1 -1
- package/dist/pdfProcessing.d.ts +1 -1
- package/dist/pdfProcessing.js +14 -22
- package/dist/pdfProcessing.js.map +1 -1
- package/dist/postProcessing.d.ts +2 -2
- package/dist/postProcessing.js +19 -25
- package/dist/postProcessing.js.map +1 -1
- package/dist/program.d.ts +6 -6
- package/dist/program.js +77 -81
- package/dist/program.js.map +1 -1
- package/dist/readDeviceCapabilities.d.ts +1 -1
- package/dist/readDeviceCapabilities.js +32 -33
- package/dist/readDeviceCapabilities.js.map +1 -1
- package/dist/scanJobHandlers.d.ts +7 -7
- package/dist/scanJobHandlers.js +67 -74
- package/dist/scanJobHandlers.js.map +1 -1
- package/dist/scanProcessing.d.ts +10 -10
- package/dist/scanProcessing.js +45 -55
- package/dist/scanProcessing.js.map +1 -1
- package/dist/type/DeviceCapabilities.d.ts +4 -4
- package/dist/type/DeviceCapabilities.js +2 -2
- package/dist/type/DeviceCapabilities.js.map +1 -1
- package/dist/type/DiscoveryTree.js +4 -5
- package/dist/type/DiscoveryTree.js.map +1 -1
- package/dist/type/DuplexAssemblyMode.js +2 -5
- package/dist/type/DuplexAssemblyMode.js.map +1 -1
- package/dist/type/FileConfig.d.ts +2 -2
- package/dist/type/FileConfig.js +42 -45
- package/dist/type/FileConfig.js.map +1 -1
- package/dist/type/InputSource.js +2 -5
- package/dist/type/InputSource.js.map +1 -1
- package/dist/type/KnownShortcut.js +2 -5
- package/dist/type/KnownShortcut.js.map +1 -1
- package/dist/type/ScanContent.js +1 -2
- package/dist/type/directoryConfig.d.ts +2 -2
- package/dist/type/directoryConfig.js +1 -2
- package/dist/type/duplexMode.js +2 -5
- package/dist/type/duplexMode.js.map +1 -1
- package/dist/type/helpGroupsHeadings.js +2 -5
- package/dist/type/helpGroupsHeadings.js.map +1 -1
- package/dist/type/pageCountingStrategy.js +2 -5
- package/dist/type/pageCountingStrategy.js.map +1 -1
- package/dist/type/scanConfigs.d.ts +6 -6
- package/dist/type/scanConfigs.js +1 -2
- package/dist/type/scanConfigs.js.map +1 -1
- package/dist/type/scanMode.js +2 -5
- package/dist/type/scanMode.js.map +1 -1
- package/dist/type/scanTargetDefinitions.d.ts +4 -4
- package/dist/type/scanTargetDefinitions.js +2 -2
- package/dist/type/scanTargetDefinitions.js.map +1 -1
- package/dist/type/targetDuplexMode.js +2 -5
- package/dist/type/targetDuplexMode.js.map +1 -1
- package/package.json +35 -41
package/dist/program.js
CHANGED
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// noinspection XmlDeprecatedElement,HtmlDeprecatedTag
|
|
3
3
|
"use strict";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const clearRegistrationsCmd_1 = require("./commands/clearRegistrationsCmd");
|
|
19
|
-
const helpGroupsHeadings_1 = require("./type/helpGroupsHeadings");
|
|
20
|
-
const scanMode_1 = require("./type/scanMode");
|
|
21
|
-
const DuplexAssemblyMode_1 = require("./type/DuplexAssemblyMode");
|
|
4
|
+
import os from "os";
|
|
5
|
+
import { Bonjour } from "bonjour-service";
|
|
6
|
+
import HPApi from "./HPApi.js";
|
|
7
|
+
import { startHealthCheckServer } from "./healthcheck.js";
|
|
8
|
+
import fs from "fs";
|
|
9
|
+
import { Command, Option } from "@commander-js/extra-typings";
|
|
10
|
+
import { listenCmd } from "./commands/listenCmd.js";
|
|
11
|
+
import { adfAutoscanCmd } from "./commands/adfAutoscanCmd.js";
|
|
12
|
+
import { singleScanCmd } from "./commands/singleScanCmd.js";
|
|
13
|
+
import { clearRegistrationsCmd } from "./commands/clearRegistrationsCmd.js";
|
|
14
|
+
import { HelpGroupsHeadings } from "./type/helpGroupsHeadings.js";
|
|
15
|
+
import { Server as NetServer } from "net";
|
|
16
|
+
import { ScanMode } from "./type/scanMode.js";
|
|
17
|
+
import { DuplexAssemblyMode } from "./type/DuplexAssemblyMode.js";
|
|
22
18
|
function findOfficejetIp(deviceNamePrefix) {
|
|
23
19
|
return new Promise((resolve) => {
|
|
24
|
-
const bonjour = new
|
|
20
|
+
const bonjour = new Bonjour();
|
|
25
21
|
console.log("Searching device...");
|
|
26
22
|
const browser = bonjour.find({
|
|
27
23
|
type: "http",
|
|
@@ -41,28 +37,28 @@ function findOfficejetIp(deviceNamePrefix) {
|
|
|
41
37
|
});
|
|
42
38
|
}
|
|
43
39
|
function setupScanParameters(commandName) {
|
|
44
|
-
return new
|
|
45
|
-
.addOption(new
|
|
46
|
-
.addOption(new
|
|
47
|
-
.addOption(new
|
|
48
|
-
.addOption(new
|
|
40
|
+
return new Command(commandName)
|
|
41
|
+
.addOption(new Option("-d, --directory <dir>", "Directory where scans are saved (default: /tmp/scan-to-pcRANDOM)").helpGroup(HelpGroupsHeadings.ouput))
|
|
42
|
+
.addOption(new Option("-p, --pattern <pattern>", 'Pattern for filename (i.e. "scan"_dd.mm.yyyy_hh:MM:ss, default would be scanPageNUMBER), make sure that the pattern is enclosed in extra quotes').helpGroup(HelpGroupsHeadings.ouput))
|
|
43
|
+
.addOption(new Option("-r, --resolution <dpi>", "Resolution in DPI of the scans (default: 200)").helpGroup(HelpGroupsHeadings.scan))
|
|
44
|
+
.addOption(new Option("--mode <mode>", "Selects the scan mode (default: Color)")
|
|
49
45
|
.choices(["Gray", "Color"])
|
|
50
|
-
.helpGroup(
|
|
51
|
-
.addOption(new
|
|
52
|
-
.addOption(new
|
|
53
|
-
.addOption(new
|
|
54
|
-
.addOption(new
|
|
46
|
+
.helpGroup(HelpGroupsHeadings.scan))
|
|
47
|
+
.addOption(new Option("-w, --width <width>", "Width in pixels of the scans (default: max)").helpGroup(HelpGroupsHeadings.scan))
|
|
48
|
+
.addOption(new Option("-h, --height <height>", "Height in pixels of the scans (default: max)").helpGroup(HelpGroupsHeadings.scan))
|
|
49
|
+
.addOption(new Option("-t, --temp-directory <dir>", "Temp directory used for processing (default: /tmp/scan-to-pcRANDOM)").helpGroup(HelpGroupsHeadings.scan))
|
|
50
|
+
.addOption(new Option("--prefer-eSCL", "Prefer eSCL protocol if available").helpGroup(HelpGroupsHeadings.scan))
|
|
55
51
|
.option("--device-up-polling-interval <deviceUpPollingInterval>", "Device up polling interval in milliseconds", parseFloat)
|
|
56
|
-
.addOption(new
|
|
57
|
-
.addOption(new
|
|
58
|
-
.addOption(new
|
|
59
|
-
.addOption(new
|
|
60
|
-
.addOption(new
|
|
61
|
-
.addOption(new
|
|
62
|
-
.addOption(new
|
|
63
|
-
.addOption(new
|
|
64
|
-
.addOption(new
|
|
65
|
-
.addOption(new
|
|
52
|
+
.addOption(new Option("-s, --paperless-post-document-url <paperless_post_document_url>", "The paperless post document url (example: https://domain.tld/api/documents/post_document/)").helpGroup(HelpGroupsHeadings.paperless))
|
|
53
|
+
.addOption(new Option("-o, --paperless-token <paperless_token>", "The paperless token").helpGroup(HelpGroupsHeadings.paperless))
|
|
54
|
+
.addOption(new Option("--paperless-group-multi-page-scan-into-a-pdf", "Combine multiple scanned images into a single PDF document").helpGroup(HelpGroupsHeadings.paperless))
|
|
55
|
+
.addOption(new Option("--paperless-always-send-as-pdf-file", "Always convert scan job to pdf before sending to paperless").helpGroup(HelpGroupsHeadings.paperless))
|
|
56
|
+
.addOption(new Option("-k, --keep-files", "Keep the scan files on the file system when sent to external systems for local backup and easy access (default: false)").helpGroup(HelpGroupsHeadings.ouput))
|
|
57
|
+
.addOption(new Option("--nextcloud-url <nextcloud_url>", "The nextcloud url (example: https://domain.tld)").helpGroup(HelpGroupsHeadings.nextcloud))
|
|
58
|
+
.addOption(new Option("--nextcloud-username <nextcloud_username>", "The nextcloud username").helpGroup(HelpGroupsHeadings.nextcloud))
|
|
59
|
+
.addOption(new Option("--nextcloud-password <nextcloud_app_password>", "The nextcloud app password for username. Either this or nextcloud-password-file is required").helpGroup(HelpGroupsHeadings.nextcloud))
|
|
60
|
+
.addOption(new Option("--nextcloud-password-file <nextcloud_app_password_file>", "File name that contains the nextcloud app password for username. Either this or nextcloud-password is required").helpGroup(HelpGroupsHeadings.nextcloud))
|
|
61
|
+
.addOption(new Option("--nextcloud-upload-folder <nextcloud_upload_folder>", "The upload folder where documents or images are uploaded (default: scan)").helpGroup(HelpGroupsHeadings.nextcloud));
|
|
66
62
|
}
|
|
67
63
|
async function getDeviceIp(options, configFile) {
|
|
68
64
|
let ip = getOptConfiguredValue(options.address, configFile.ip);
|
|
@@ -70,7 +66,7 @@ async function getDeviceIp(options, configFile) {
|
|
|
70
66
|
const name = getConfiguredValue(options.name, configFile.name, "HP Smart Tank Plus 570 series");
|
|
71
67
|
ip = await findOfficejetIp(name);
|
|
72
68
|
}
|
|
73
|
-
console.log(`Using device
|
|
69
|
+
console.log(`Using device at IP: ${ip}`);
|
|
74
70
|
return ip;
|
|
75
71
|
}
|
|
76
72
|
function getIsDebug(options, configFile) {
|
|
@@ -112,7 +108,7 @@ function getNextcloudConfig(options, fileConfig) {
|
|
|
112
108
|
const configNextcloudKeepFiles = getConfiguredValue(options.keepFiles, fileConfig.keep_files, false);
|
|
113
109
|
let nextcloudPassword;
|
|
114
110
|
if (configNextcloudPasswordFile) {
|
|
115
|
-
nextcloudPassword =
|
|
111
|
+
nextcloudPassword = fs
|
|
116
112
|
.readFileSync(configNextcloudPasswordFile, "utf8")
|
|
117
113
|
.trimEnd();
|
|
118
114
|
}
|
|
@@ -178,7 +174,7 @@ function getScanConfiguration(options, fileConfig) {
|
|
|
178
174
|
const paperlessConfig = getPaperlessConfig(options, fileConfig);
|
|
179
175
|
const nextcloudConfig = getNextcloudConfig(options, fileConfig);
|
|
180
176
|
const resolution = parseInt(getConfiguredValue(options.resolution, fileConfig.resolution?.toString(), "200"), 10);
|
|
181
|
-
const mode = getConfiguredValue(options.mode, fileConfig.mode,
|
|
177
|
+
const mode = getConfiguredValue(options.mode, fileConfig.mode, ScanMode.Color);
|
|
182
178
|
const preferEscl = getConfiguredValue(options.preferESCL, fileConfig.prefer_escl, false);
|
|
183
179
|
const scanConfig = {
|
|
184
180
|
resolution,
|
|
@@ -198,20 +194,20 @@ function getDeviceUpPollingInterval(options, configFile) {
|
|
|
198
194
|
function createListenCliCmd(configFile) {
|
|
199
195
|
return setupScanParameters("listen")
|
|
200
196
|
.description("Listen the device for new scan job to save to this target")
|
|
201
|
-
.addOption(new
|
|
202
|
-
.addOption(new
|
|
203
|
-
.choices(Object.values(
|
|
204
|
-
.helpGroup(
|
|
205
|
-
.addOption(new
|
|
197
|
+
.addOption(new Option("-l, --label <label>", "The label to display on the device (the default is the hostname)").helpGroup(HelpGroupsHeadings.deviceControlScreen))
|
|
198
|
+
.addOption(new Option("--add-emulated-duplex [mode]", "Enable emulated duplex scanning, with optional assembly mode (default: document-wise)")
|
|
199
|
+
.choices(Object.values(DuplexAssemblyMode))
|
|
200
|
+
.helpGroup(HelpGroupsHeadings.deviceControlScreen))
|
|
201
|
+
.addOption(new Option("--emulated-duplex-label <label>", "The emulated duplex label to display on the device (the default is to suffix the main label with duplex)").helpGroup(HelpGroupsHeadings.deviceControlScreen))
|
|
206
202
|
.action(async (_, cmd) => {
|
|
207
203
|
const options = cmd.optsWithGlobals();
|
|
208
204
|
const ip = await getDeviceIp(options, configFile);
|
|
209
|
-
|
|
205
|
+
HPApi.setDeviceIP(ip);
|
|
210
206
|
const isDebug = getIsDebug(options, configFile);
|
|
211
|
-
|
|
207
|
+
HPApi.setDebug(isDebug);
|
|
212
208
|
const registrationConfigs = [];
|
|
213
209
|
const registrationConfig = {
|
|
214
|
-
label: getConfiguredValue(options.label, configFile.label,
|
|
210
|
+
label: getConfiguredValue(options.label, configFile.label, os.hostname()),
|
|
215
211
|
isDuplexSingleSide: false,
|
|
216
212
|
};
|
|
217
213
|
registrationConfigs.push(registrationConfig);
|
|
@@ -220,39 +216,39 @@ function createListenCliCmd(configFile) {
|
|
|
220
216
|
label: getConfiguredValue(options.emulatedDuplexLabel, configFile.emulated_duplex_label, `${registrationConfig.label} duplex`),
|
|
221
217
|
isDuplexSingleSide: true,
|
|
222
218
|
duplexAssemblyMode: getConfiguredValue(options.addEmulatedDuplex == true
|
|
223
|
-
?
|
|
224
|
-
: options.addEmulatedDuplex, configFile.emulated_duplex_assembly_mode,
|
|
219
|
+
? DuplexAssemblyMode.DOCUMENT_WISE
|
|
220
|
+
: options.addEmulatedDuplex, configFile.emulated_duplex_assembly_mode, DuplexAssemblyMode.DOCUMENT_WISE),
|
|
225
221
|
});
|
|
226
222
|
}
|
|
227
223
|
const deviceUpPollingInterval = getDeviceUpPollingInterval(options, configFile);
|
|
228
224
|
let healthCheckSrv = null;
|
|
229
225
|
const healthCheckSetting = getHealthCheckSetting(options, configFile);
|
|
230
226
|
if (healthCheckSetting.isHealthCheckEnabled) {
|
|
231
|
-
healthCheckSrv =
|
|
227
|
+
healthCheckSrv = startHealthCheckServer(healthCheckSetting.healthCheckPort);
|
|
232
228
|
}
|
|
233
229
|
const scanConfig = getScanConfiguration(options, configFile);
|
|
234
|
-
await
|
|
230
|
+
await listenCmd(registrationConfigs, scanConfig, deviceUpPollingInterval);
|
|
235
231
|
healthCheckSrv?.close();
|
|
236
232
|
});
|
|
237
233
|
}
|
|
238
234
|
function createAdfAutoscanCliCmd(fileConfig) {
|
|
239
235
|
return setupScanParameters("adf-autoscan")
|
|
240
236
|
.description("Automatically trigger a new scan job to this target once paper is detected in the automatic document feeder (adf)")
|
|
241
|
-
.addOption(new
|
|
242
|
-
.addOption(new
|
|
243
|
-
.addOption(new
|
|
244
|
-
.addOption(new
|
|
237
|
+
.addOption(new Option("--duplex", "If specified, all the scans will be in duplex if the device support it").helpGroup(HelpGroupsHeadings.scan))
|
|
238
|
+
.addOption(new Option("--pdf", "If specified, the scan result will always be a pdf document, the default depends on the device choice").helpGroup(HelpGroupsHeadings.ouput))
|
|
239
|
+
.addOption(new Option("--pollingInterval <pollingInterval>", "Time interval in millisecond between each lookup for content in the automatic document feeder").helpGroup(HelpGroupsHeadings.adfAutoScan))
|
|
240
|
+
.addOption(new Option("--start-scan-delay <startScanDelay>", "Once document are detected to be in the adf, this specify the wait delay in millisecond before triggering the scan").helpGroup(HelpGroupsHeadings.adfAutoScan))
|
|
245
241
|
.action(async (_, cmd) => {
|
|
246
242
|
const options = cmd.optsWithGlobals();
|
|
247
243
|
const ip = await getDeviceIp(options, fileConfig);
|
|
248
|
-
|
|
244
|
+
HPApi.setDeviceIP(ip);
|
|
249
245
|
const isDebug = getIsDebug(options, fileConfig);
|
|
250
|
-
|
|
246
|
+
HPApi.setDebug(isDebug);
|
|
251
247
|
const deviceUpPollingInterval = getDeviceUpPollingInterval(options, fileConfig);
|
|
252
248
|
let healthCheckSrv = null;
|
|
253
249
|
const healthCheckSetting = getHealthCheckSetting(options, fileConfig);
|
|
254
250
|
if (healthCheckSetting.isHealthCheckEnabled) {
|
|
255
|
-
healthCheckSrv =
|
|
251
|
+
healthCheckSrv = startHealthCheckServer(healthCheckSetting.healthCheckPort);
|
|
256
252
|
}
|
|
257
253
|
const scanConfig = getScanConfiguration(options, fileConfig);
|
|
258
254
|
const adfScanConfig = {
|
|
@@ -261,34 +257,34 @@ function createAdfAutoscanCliCmd(fileConfig) {
|
|
|
261
257
|
generatePdf: getConfiguredValue(options.pdf, fileConfig.autoscan_pdf, false),
|
|
262
258
|
pollingInterval: (options.pollingInterval
|
|
263
259
|
? parseInt(options.pollingInterval, 10)
|
|
264
|
-
: undefined)
|
|
265
|
-
fileConfig.autoscan_pollingInterval
|
|
260
|
+
: undefined) ??
|
|
261
|
+
fileConfig.autoscan_pollingInterval ??
|
|
266
262
|
1000,
|
|
267
263
|
startScanDelay: (options.startScanDelay
|
|
268
264
|
? parseInt(options.startScanDelay, 10)
|
|
269
|
-
: undefined)
|
|
270
|
-
fileConfig.autoscan_startScanDelay
|
|
265
|
+
: undefined) ??
|
|
266
|
+
fileConfig.autoscan_startScanDelay ??
|
|
271
267
|
5000,
|
|
272
268
|
};
|
|
273
|
-
await
|
|
269
|
+
await adfAutoscanCmd(adfScanConfig, deviceUpPollingInterval);
|
|
274
270
|
healthCheckSrv?.close();
|
|
275
271
|
});
|
|
276
272
|
}
|
|
277
273
|
function createSingleScanCliCmd(fileConfig) {
|
|
278
274
|
return setupScanParameters("single-scan")
|
|
279
275
|
.description("Trigger a new scan job")
|
|
280
|
-
.addOption(new
|
|
281
|
-
.addOption(new
|
|
276
|
+
.addOption(new Option("--duplex", "If specified, all the scans will be in duplex if the device support it").helpGroup(HelpGroupsHeadings.scan))
|
|
277
|
+
.addOption(new Option("--pdf", "If specified, the scan result will always be a pdf document, the default depends on the device choice").helpGroup(HelpGroupsHeadings.ouput))
|
|
282
278
|
.action(async (_, cmd) => {
|
|
283
279
|
const options = cmd.optsWithGlobals();
|
|
284
280
|
const ip = await getDeviceIp(options, fileConfig);
|
|
285
|
-
|
|
281
|
+
HPApi.setDeviceIP(ip);
|
|
286
282
|
const isDebug = getIsDebug(options, fileConfig);
|
|
287
|
-
|
|
283
|
+
HPApi.setDebug(isDebug);
|
|
288
284
|
let healthCheckSrv = null;
|
|
289
285
|
const healthCheckSetting = getHealthCheckSetting(options, fileConfig);
|
|
290
286
|
if (healthCheckSetting.isHealthCheckEnabled) {
|
|
291
|
-
healthCheckSrv =
|
|
287
|
+
healthCheckSrv = startHealthCheckServer(healthCheckSetting.healthCheckPort);
|
|
292
288
|
}
|
|
293
289
|
const deviceUpPollingInterval = getDeviceUpPollingInterval(options, fileConfig);
|
|
294
290
|
const scanConfig = getScanConfiguration(options, fileConfig);
|
|
@@ -297,37 +293,37 @@ function createSingleScanCliCmd(fileConfig) {
|
|
|
297
293
|
isDuplex: getConfiguredValue(options.duplex, fileConfig.single_scan_duplex, false),
|
|
298
294
|
generatePdf: getConfiguredValue(options.pdf, fileConfig.single_scan_pdf, false),
|
|
299
295
|
};
|
|
300
|
-
await
|
|
296
|
+
await singleScanCmd(singleScanConfig, deviceUpPollingInterval);
|
|
301
297
|
healthCheckSrv?.close();
|
|
302
298
|
});
|
|
303
299
|
}
|
|
304
300
|
function createClearRegistrationsCliCmd(fileConfig) {
|
|
305
|
-
return new
|
|
301
|
+
return new Command("clear-registrations")
|
|
306
302
|
.description("Clear the list or registered target on the device")
|
|
307
303
|
.action(async (_, cmd) => {
|
|
308
304
|
const options = cmd.optsWithGlobals();
|
|
309
305
|
const ip = await getDeviceIp(options, fileConfig);
|
|
310
|
-
|
|
306
|
+
HPApi.setDeviceIP(ip);
|
|
311
307
|
const isDebug = getIsDebug(options, fileConfig);
|
|
312
|
-
|
|
308
|
+
HPApi.setDebug(isDebug);
|
|
313
309
|
let healthCheckSrv = null;
|
|
314
310
|
const healthCheckSetting = getHealthCheckSetting(options, fileConfig);
|
|
315
311
|
if (healthCheckSetting.isHealthCheckEnabled) {
|
|
316
|
-
healthCheckSrv =
|
|
312
|
+
healthCheckSrv = startHealthCheckServer(healthCheckSetting.healthCheckPort);
|
|
317
313
|
}
|
|
318
|
-
await
|
|
314
|
+
await clearRegistrationsCmd();
|
|
319
315
|
healthCheckSrv?.close();
|
|
320
316
|
});
|
|
321
317
|
}
|
|
322
318
|
function createProgram() {
|
|
323
|
-
return new
|
|
319
|
+
return new Command()
|
|
324
320
|
.option("-a, --address <ip>", "IP address of the device, when specified, the ip will be used instead of the name")
|
|
325
321
|
.option("-n, --name <name>", "Name of the device to lookup for on the network")
|
|
326
322
|
.option("-D, --debug", "Enable debug")
|
|
327
|
-
.addOption(new
|
|
328
|
-
.addOption(new
|
|
323
|
+
.addOption(new Option("--health-check", "Start an http health check endpoint").helpGroup(HelpGroupsHeadings.healthCheck))
|
|
324
|
+
.addOption(new Option("--health-check-port <health-check-port>", "Define the port for the HTTP health check endpoint").helpGroup(HelpGroupsHeadings.healthCheck));
|
|
329
325
|
}
|
|
330
|
-
function setupProgram(fileConfig) {
|
|
326
|
+
export function setupProgram(fileConfig) {
|
|
331
327
|
const program = createProgram();
|
|
332
328
|
const cmdListen = createListenCliCmd(fileConfig);
|
|
333
329
|
cmdListen.optsWithGlobals();
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { DeviceCapabilities } from "./type/DeviceCapabilities";
|
|
1
|
+
import type { DeviceCapabilities } from "./type/DeviceCapabilities.js";
|
|
2
2
|
export declare function readDeviceCapabilities(preferEscl: boolean): Promise<DeviceCapabilities>;
|
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const ScanJobSettings_1 = __importDefault(require("./hpModels/ScanJobSettings"));
|
|
1
|
+
import HPApi from "./HPApi.js";
|
|
2
|
+
import ScanCaps from "./hpModels/ScanCaps.js";
|
|
3
|
+
import DiscoveryTree from "./type/DiscoveryTree.js";
|
|
4
|
+
import EsclScanCaps from "./hpModels/EsclScanCaps.js";
|
|
5
|
+
import { InputSource } from "./type/InputSource.js";
|
|
6
|
+
import EsclScanJobSettings from "./hpModels/EsclScanJobSettings.js";
|
|
7
|
+
import ScanJobSettings from "./hpModels/ScanJobSettings.js";
|
|
8
|
+
import { ScanMode } from "./type/scanMode.js";
|
|
10
9
|
async function getScanCaps(discoveryTree, preferEscl) {
|
|
11
10
|
let scanCaps = null;
|
|
12
11
|
if (discoveryTree.ScanJobManifestURI != null) {
|
|
13
|
-
const scanJobManifest = await
|
|
12
|
+
const scanJobManifest = await HPApi.getScanJobManifest(discoveryTree.ScanJobManifestURI);
|
|
14
13
|
if (scanJobManifest.ScanCapsURI != null) {
|
|
15
|
-
scanCaps = await
|
|
14
|
+
scanCaps = await HPApi.getScanCaps(scanJobManifest.ScanCapsURI);
|
|
16
15
|
}
|
|
17
16
|
}
|
|
18
17
|
let eSclScanCaps = null;
|
|
19
18
|
if (discoveryTree.EsclManifestURI != null) {
|
|
20
|
-
const scanJobManifest = await
|
|
19
|
+
const scanJobManifest = await HPApi.getEsclScanJobManifest(discoveryTree.EsclManifestURI);
|
|
21
20
|
if (scanJobManifest.scanCapsURI != null) {
|
|
22
|
-
eSclScanCaps = await
|
|
21
|
+
eSclScanCaps = await HPApi.getEsclScanCaps(scanJobManifest.scanCapsURI);
|
|
23
22
|
}
|
|
24
23
|
}
|
|
25
24
|
if (preferEscl && eSclScanCaps != null) {
|
|
@@ -30,22 +29,22 @@ async function getScanCaps(discoveryTree, preferEscl) {
|
|
|
30
29
|
}
|
|
31
30
|
return eSclScanCaps;
|
|
32
31
|
}
|
|
33
|
-
async function readDeviceCapabilities(preferEscl) {
|
|
32
|
+
export async function readDeviceCapabilities(preferEscl) {
|
|
34
33
|
let supportsMultiItemScanFromPlaten = true;
|
|
35
34
|
let useWalkupScanToComp = false;
|
|
36
|
-
const discoveryTree = await
|
|
35
|
+
const discoveryTree = await HPApi.getDiscoveryTree();
|
|
37
36
|
if (discoveryTree.WalkupScanToCompManifestURI != null) {
|
|
38
37
|
useWalkupScanToComp = true;
|
|
39
|
-
const walkupScanToCompManifest = await
|
|
38
|
+
const walkupScanToCompManifest = await HPApi.getWalkupScanToCompManifest(discoveryTree.WalkupScanToCompManifestURI);
|
|
40
39
|
if (walkupScanToCompManifest.WalkupScanToCompCapsURI != null) {
|
|
41
|
-
const walkupScanToCompCaps = await
|
|
40
|
+
const walkupScanToCompCaps = await HPApi.getWalkupScanToCompCaps(walkupScanToCompManifest.WalkupScanToCompCapsURI);
|
|
42
41
|
supportsMultiItemScanFromPlaten =
|
|
43
42
|
walkupScanToCompCaps.supportsMultiItemScanFromPlaten;
|
|
44
43
|
}
|
|
45
44
|
}
|
|
46
45
|
else if (discoveryTree.WalkupScanManifestURI != null) {
|
|
47
46
|
// No caps to load here but check we can load the specified manifest
|
|
48
|
-
await
|
|
47
|
+
await HPApi.getWalkupScanManifest(discoveryTree.WalkupScanManifestURI);
|
|
49
48
|
}
|
|
50
49
|
else {
|
|
51
50
|
console.log("WARNING: No compatible device capabilities detected. The device may not support the listen command, and while the application will continue to run, it is likely to encounter a crash. If your device has an automatic document feeder, you may want to try using the adf-autoscan command.");
|
|
@@ -57,45 +56,45 @@ async function readDeviceCapabilities(preferEscl) {
|
|
|
57
56
|
const getScanStatus = async () => {
|
|
58
57
|
let scanStatus;
|
|
59
58
|
if (scanCaps?.isEscl) {
|
|
60
|
-
scanStatus = await
|
|
59
|
+
scanStatus = await HPApi.getEsclScanStatus();
|
|
61
60
|
}
|
|
62
61
|
else {
|
|
63
|
-
scanStatus = await
|
|
62
|
+
scanStatus = await HPApi.getScanStatus();
|
|
64
63
|
}
|
|
65
64
|
return scanStatus;
|
|
66
65
|
};
|
|
67
66
|
const createScanJobSettings = (inputSource, contentType, resolution, mode, width, height, isDuplex) => {
|
|
68
67
|
let scanJobSettings;
|
|
69
68
|
if (scanCaps?.isEscl) {
|
|
70
|
-
scanJobSettings = new
|
|
69
|
+
scanJobSettings = new EsclScanJobSettings(inputSource, contentType, resolution, mode, width, height, isDuplex);
|
|
71
70
|
}
|
|
72
71
|
else {
|
|
73
|
-
scanJobSettings = new
|
|
72
|
+
scanJobSettings = new ScanJobSettings(inputSource, contentType, resolution, mode, width, height, isDuplex);
|
|
74
73
|
}
|
|
75
74
|
return scanJobSettings;
|
|
76
75
|
};
|
|
77
76
|
const submitScanJob = async (scanJobSettings) => {
|
|
78
77
|
let jobUrl;
|
|
79
78
|
if (scanCaps?.isEscl) {
|
|
80
|
-
jobUrl = await
|
|
79
|
+
jobUrl = await HPApi.postEsclJob(scanJobSettings);
|
|
81
80
|
}
|
|
82
81
|
else {
|
|
83
|
-
jobUrl = await
|
|
82
|
+
jobUrl = await HPApi.postJob(scanJobSettings);
|
|
84
83
|
}
|
|
85
84
|
return jobUrl;
|
|
86
85
|
};
|
|
87
86
|
return {
|
|
88
87
|
supportsMultiItemScanFromPlaten,
|
|
89
88
|
useWalkupScanToComp,
|
|
90
|
-
platenMaxWidth: scanCaps?.platenMaxWidth
|
|
91
|
-
platenMaxHeight: scanCaps?.platenMaxHeight
|
|
92
|
-
adfMaxWidth: scanCaps?.adfMaxWidth
|
|
93
|
-
adfMaxHeight: scanCaps?.adfMaxHeight
|
|
94
|
-
adfDuplexMaxWidth: scanCaps?.adfDuplexMaxWidth
|
|
95
|
-
adfDuplexMaxHeight: scanCaps?.adfDuplexMaxHeight
|
|
96
|
-
hasAdfDuplex: scanCaps?.hasAdfDuplex
|
|
97
|
-
hasAdfDetectPaperLoaded: scanCaps?.hasAdfDetectPaperLoaded
|
|
98
|
-
isEscl: scanCaps?.isEscl
|
|
89
|
+
platenMaxWidth: scanCaps?.platenMaxWidth ?? null,
|
|
90
|
+
platenMaxHeight: scanCaps?.platenMaxHeight ?? null,
|
|
91
|
+
adfMaxWidth: scanCaps?.adfMaxWidth ?? null,
|
|
92
|
+
adfMaxHeight: scanCaps?.adfMaxHeight ?? null,
|
|
93
|
+
adfDuplexMaxWidth: scanCaps?.adfDuplexMaxWidth ?? null,
|
|
94
|
+
adfDuplexMaxHeight: scanCaps?.adfDuplexMaxHeight ?? null,
|
|
95
|
+
hasAdfDuplex: scanCaps?.hasAdfDuplex ?? false,
|
|
96
|
+
hasAdfDetectPaperLoaded: scanCaps?.hasAdfDetectPaperLoaded ?? false,
|
|
97
|
+
isEscl: scanCaps?.isEscl ?? false,
|
|
99
98
|
getScanStatus,
|
|
100
99
|
createScanJobSettings,
|
|
101
100
|
submitScanJob,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readDeviceCapabilities.js","sourceRoot":"","sources":["../src/readDeviceCapabilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"readDeviceCapabilities.js","sourceRoot":"","sources":["../src/readDeviceCapabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { DeviceCapabilities } from "./type/DeviceCapabilities";
|
|
2
|
-
import { ScanContent } from "./type/ScanContent";
|
|
3
|
-
import { JobState } from "./hpModels/Job";
|
|
4
|
-
import { InputSource } from "./type/InputSource";
|
|
5
|
-
import { SelectedScanTarget } from "./type/scanTargetDefinitions";
|
|
6
|
-
import { PageCountingStrategy } from "./type/pageCountingStrategy";
|
|
7
|
-
import { IScanJobSettings } from "./hpModels/IScanJobSettings";
|
|
1
|
+
import type { DeviceCapabilities } from "./type/DeviceCapabilities.js";
|
|
2
|
+
import type { ScanContent } from "./type/ScanContent.js";
|
|
3
|
+
import { JobState } from "./hpModels/Job.js";
|
|
4
|
+
import { InputSource } from "./type/InputSource.js";
|
|
5
|
+
import type { SelectedScanTarget } from "./type/scanTargetDefinitions.js";
|
|
6
|
+
import { PageCountingStrategy } from "./type/pageCountingStrategy.js";
|
|
7
|
+
import type { IScanJobSettings } from "./hpModels/IScanJobSettings.js";
|
|
8
8
|
export declare function executeScanJob(scanJobSettings: IScanJobSettings, inputSource: InputSource, folder: string, scanCount: number, scanJobContent: ScanContent, filePattern: string | undefined, pageCountingStrategy: PageCountingStrategy, deviceCapabilities: DeviceCapabilities): Promise<JobState>;
|
|
9
9
|
export declare function executeScanJobs(scanJobSettings: IScanJobSettings, inputSource: InputSource, folder: string, scanCount: number, scanJobContent: ScanContent, selectedScanTarget: SelectedScanTarget, deviceCapabilities: DeviceCapabilities, filePattern: string | undefined, pageCountingStrategy: PageCountingStrategy): Promise<void>;
|