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/scanJobHandlers.js
CHANGED
|
@@ -1,50 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const InputSource_1 = require("./type/InputSource");
|
|
14
|
-
const promises_1 = __importDefault(require("fs/promises"));
|
|
15
|
-
const JpegUtil_1 = __importDefault(require("./JpegUtil"));
|
|
16
|
-
const pageCountingStrategy_1 = require("./type/pageCountingStrategy");
|
|
17
|
-
const WalkupScanToCompEvent_1 = require("./hpModels/WalkupScanToCompEvent");
|
|
18
|
-
const EsclScanStatus_1 = require("./hpModels/EsclScanStatus");
|
|
1
|
+
import HPApi from "./HPApi.js";
|
|
2
|
+
import { waitForScanEventFromTarget } from "./listening.js";
|
|
3
|
+
import Job, { JobState, PageState } from "./hpModels/Job.js";
|
|
4
|
+
import { delay } from "./delay.js";
|
|
5
|
+
import PathHelper from "./PathHelper.js";
|
|
6
|
+
import { InputSource } from "./type/InputSource.js";
|
|
7
|
+
import fs from "fs/promises";
|
|
8
|
+
import JpegUtil from "./JpegUtil.js";
|
|
9
|
+
import { PageCountingStrategy } from "./type/pageCountingStrategy.js";
|
|
10
|
+
import { EventType } from "./hpModels/WalkupScanToCompEvent.js";
|
|
11
|
+
import { EsclJobInfo, JobStateReason } from "./hpModels/EsclScanStatus.js";
|
|
12
|
+
import EsclScanImageInfo from "./hpModels/EsclScanImageInfo.js";
|
|
19
13
|
async function waitDeviceUntilItIsReadyToUploadOrCompleted(jobUrl) {
|
|
20
14
|
let job = null;
|
|
21
15
|
let isReadyToUpload = false;
|
|
22
16
|
do {
|
|
23
|
-
job = await
|
|
17
|
+
job = await HPApi.getJob(jobUrl);
|
|
24
18
|
const jobStateStr = job.jobState.toString();
|
|
25
|
-
if (job.jobState ===
|
|
19
|
+
if (job.jobState === JobState.Canceled) {
|
|
26
20
|
return job;
|
|
27
21
|
}
|
|
28
|
-
else if (job.pageState ===
|
|
29
|
-
job.jobState ===
|
|
22
|
+
else if (job.pageState === PageState.ReadyToUpload ||
|
|
23
|
+
job.jobState === JobState.Completed) {
|
|
30
24
|
isReadyToUpload = true;
|
|
31
25
|
}
|
|
32
|
-
else if (job.jobState ==
|
|
26
|
+
else if (job.jobState == JobState.Processing) {
|
|
33
27
|
isReadyToUpload = false;
|
|
34
28
|
}
|
|
35
29
|
else {
|
|
36
30
|
console.log(`Unknown jobState: ${jobStateStr}`);
|
|
37
31
|
}
|
|
38
|
-
await
|
|
32
|
+
await delay(300);
|
|
39
33
|
} while (!isReadyToUpload);
|
|
40
34
|
return job;
|
|
41
35
|
}
|
|
42
36
|
async function fixJpegHeight(filePath) {
|
|
43
|
-
const buffer = await
|
|
44
|
-
const height =
|
|
37
|
+
const buffer = await fs.readFile(filePath);
|
|
38
|
+
const height = JpegUtil.fixSizeWithDNL(buffer);
|
|
45
39
|
if (height != null) {
|
|
46
40
|
// rewrite the fixed file
|
|
47
|
-
await
|
|
41
|
+
await fs.writeFile(filePath, buffer);
|
|
48
42
|
return height;
|
|
49
43
|
}
|
|
50
44
|
return null;
|
|
@@ -61,30 +55,29 @@ function createScanPage(job, currentPageNumber, filePath, sizeFixed) {
|
|
|
61
55
|
};
|
|
62
56
|
}
|
|
63
57
|
async function handleScanProcessingState(job, inputSource, folder, scanCount, currentPageNumber, filePattern, date) {
|
|
64
|
-
if (job.pageState ==
|
|
58
|
+
if (job.pageState == PageState.ReadyToUpload &&
|
|
65
59
|
job.binaryURL != null &&
|
|
66
60
|
job.currentPageNumber != null) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const filePath = await
|
|
70
|
-
console.log("Page downloaded to:", filePath);
|
|
61
|
+
const destinationFilePath = await PathHelper.getFileForPage(folder, scanCount, currentPageNumber, filePattern, "jpg", date);
|
|
62
|
+
console.log(`Downloading page ${job.currentPageNumber} → ${destinationFilePath}`);
|
|
63
|
+
const filePath = await HPApi.downloadPage(job.binaryURL, destinationFilePath);
|
|
71
64
|
const adfHeight = await getAndFixHeightWHenAdf(inputSource, filePath, job.imageHeight);
|
|
72
65
|
return createScanPage(job, currentPageNumber, filePath, adfHeight);
|
|
73
66
|
}
|
|
74
67
|
else {
|
|
75
68
|
console.log(`Unknown pageState: ${job.pageState}`);
|
|
76
|
-
await
|
|
69
|
+
await delay(200);
|
|
77
70
|
return null;
|
|
78
71
|
}
|
|
79
72
|
}
|
|
80
73
|
function getPageNumber(pageCountingStrategy, scanJobContent) {
|
|
81
|
-
if (pageCountingStrategy ===
|
|
74
|
+
if (pageCountingStrategy === PageCountingStrategy.Normal) {
|
|
82
75
|
return scanJobContent.elements.length + 1;
|
|
83
76
|
}
|
|
84
|
-
else if (pageCountingStrategy ===
|
|
77
|
+
else if (pageCountingStrategy === PageCountingStrategy.OddOnly) {
|
|
85
78
|
return scanJobContent.elements.length * 2 + 1;
|
|
86
79
|
}
|
|
87
|
-
else if (pageCountingStrategy ===
|
|
80
|
+
else if (pageCountingStrategy === PageCountingStrategy.EvenOnly) {
|
|
88
81
|
return (scanJobContent.elements.length + 1) * 2;
|
|
89
82
|
}
|
|
90
83
|
else {
|
|
@@ -92,35 +85,35 @@ function getPageNumber(pageCountingStrategy, scanJobContent) {
|
|
|
92
85
|
}
|
|
93
86
|
}
|
|
94
87
|
async function hpScanJobHandling(jobUrl, pageCountingStrategy, scanJobContent, inputSource, folder, scanCount, filePattern) {
|
|
95
|
-
let job = await
|
|
96
|
-
while (job.jobState !==
|
|
88
|
+
let job = await HPApi.getJob(jobUrl);
|
|
89
|
+
while (job.jobState !== JobState.Completed) {
|
|
97
90
|
job = await waitDeviceUntilItIsReadyToUploadOrCompleted(jobUrl);
|
|
98
|
-
if (job.jobState ==
|
|
91
|
+
if (job.jobState == JobState.Completed) {
|
|
99
92
|
continue;
|
|
100
93
|
}
|
|
101
94
|
const jobStateStr = job.jobState.toString();
|
|
102
|
-
if (job.jobState ===
|
|
95
|
+
if (job.jobState === JobState.Processing) {
|
|
103
96
|
const pageNumber = getPageNumber(pageCountingStrategy, scanJobContent);
|
|
104
97
|
const page = await handleScanProcessingState(job, inputSource, folder, scanCount, pageNumber, filePattern, new Date());
|
|
105
|
-
job = await
|
|
106
|
-
if (page != null && job.jobState !=
|
|
98
|
+
job = await HPApi.getJob(jobUrl);
|
|
99
|
+
if (page != null && job.jobState != JobState.Canceled) {
|
|
107
100
|
scanJobContent.elements.push(page);
|
|
108
101
|
}
|
|
109
102
|
}
|
|
110
|
-
else if (job.jobState ===
|
|
103
|
+
else if (job.jobState === JobState.Canceled) {
|
|
111
104
|
console.log("Job cancelled by device");
|
|
112
105
|
break;
|
|
113
106
|
}
|
|
114
107
|
else {
|
|
115
108
|
console.log(`Unhandled jobState: ${jobStateStr}`);
|
|
116
|
-
await
|
|
109
|
+
await delay(200);
|
|
117
110
|
}
|
|
118
111
|
}
|
|
119
|
-
console.log(`Job state: ${job.jobState}
|
|
112
|
+
console.log(`Job state: ${job.jobState} (${scanJobContent.elements.length} page(s))`);
|
|
120
113
|
return job.jobState;
|
|
121
114
|
}
|
|
122
115
|
function logJobInfo(jobUrl, scanImageInfo, jobInfo) {
|
|
123
|
-
if (jobUrl.
|
|
116
|
+
if (!jobUrl.includes(scanImageInfo.jobURI)) {
|
|
124
117
|
// for an unknown reason this happens on an HP Smart Tank Plus 570!
|
|
125
118
|
console.log(`Incoherent state !!!! Job URI has changed: ${jobUrl} -> ${scanImageInfo.jobURI} -- crazy!`);
|
|
126
119
|
}
|
|
@@ -134,24 +127,24 @@ function logJobInfo(jobUrl, scanImageInfo, jobInfo) {
|
|
|
134
127
|
console.log(`\tJob state: ${jobInfo?.getJobState() ?? null}`);
|
|
135
128
|
}
|
|
136
129
|
function mapToJobState(jobStateReason) {
|
|
137
|
-
if (jobStateReason ===
|
|
138
|
-
return
|
|
130
|
+
if (jobStateReason === JobStateReason.JobCanceledByUser) {
|
|
131
|
+
return JobState.Canceled;
|
|
139
132
|
}
|
|
140
|
-
if (jobStateReason ===
|
|
141
|
-
return
|
|
133
|
+
if (jobStateReason === JobStateReason.JobCompletedSuccessfully) {
|
|
134
|
+
return JobState.Completed;
|
|
142
135
|
}
|
|
143
136
|
console.log(`Unknown job state reason: ${jobStateReason}, job will be cancelled`);
|
|
144
|
-
return
|
|
137
|
+
return JobState.Canceled;
|
|
145
138
|
}
|
|
146
139
|
async function getAndFixHeightWHenAdf(inputSource, filePath, actualHeight) {
|
|
147
140
|
let sizeFixed = null;
|
|
148
|
-
if (inputSource ==
|
|
141
|
+
if (inputSource == InputSource.Adf) {
|
|
149
142
|
sizeFixed = await fixJpegHeight(filePath);
|
|
150
143
|
if (sizeFixed == null) {
|
|
151
144
|
console.log(`Image height has not been fixed, DNF may not have been found and approximate height is: ${actualHeight}`);
|
|
152
145
|
}
|
|
153
146
|
else {
|
|
154
|
-
if (
|
|
147
|
+
if (HPApi.isDebug()) {
|
|
155
148
|
console.log(`Image height has been fixed to: ${sizeFixed} (contained in jpeg's DNL), scan job indicates: ${actualHeight}`);
|
|
156
149
|
}
|
|
157
150
|
}
|
|
@@ -162,16 +155,16 @@ async function eSCLScanJobHandling(jobUrl, scanJobSettings, pageCountingStrategy
|
|
|
162
155
|
let jobStateReason = null;
|
|
163
156
|
let jobInfo = undefined;
|
|
164
157
|
do {
|
|
165
|
-
await
|
|
158
|
+
await delay(1000);
|
|
166
159
|
const pageNumber = getPageNumber(pageCountingStrategy, scanJobContent);
|
|
167
|
-
const destinationFilePath = await
|
|
168
|
-
const jobLocation =
|
|
169
|
-
const filePath = await
|
|
170
|
-
const scanImageInfo = await
|
|
160
|
+
const destinationFilePath = await PathHelper.getFileForPage(folder, scanCount, pageNumber, filePattern, "jpg", new Date());
|
|
161
|
+
const jobLocation = PathHelper.getPathFromHttpLocation(jobUrl);
|
|
162
|
+
const filePath = await HPApi.downloadEsclPage(jobUrl, destinationFilePath);
|
|
163
|
+
const scanImageInfo = await HPApi.getEsclScanImageInfo(jobLocation);
|
|
171
164
|
console.log("scanImageInfo:", scanImageInfo.jobURI);
|
|
172
165
|
const actualHeight = scanImageInfo.actualHeight;
|
|
173
166
|
const adfHeight = await getAndFixHeightWHenAdf(inputSource, filePath, actualHeight);
|
|
174
|
-
const scannerStatus = await
|
|
167
|
+
const scannerStatus = await HPApi.getEsclScanStatus();
|
|
175
168
|
console.log("Page downloaded to:", filePath);
|
|
176
169
|
const page = {
|
|
177
170
|
path: filePath,
|
|
@@ -183,22 +176,22 @@ async function eSCLScanJobHandling(jobUrl, scanJobSettings, pageCountingStrategy
|
|
|
183
176
|
};
|
|
184
177
|
scanJobContent.elements.push(page);
|
|
185
178
|
jobInfo = scannerStatus.findJobByUri(jobLocation);
|
|
186
|
-
if (
|
|
179
|
+
if (HPApi.isDebug()) {
|
|
187
180
|
logJobInfo(jobUrl, scanImageInfo, jobInfo);
|
|
188
181
|
}
|
|
189
182
|
jobStateReason = jobInfo?.getJobStateReason() ?? null;
|
|
190
183
|
} while (jobStateReason !== null &&
|
|
191
|
-
jobStateReason !==
|
|
192
|
-
jobStateReason !=
|
|
184
|
+
jobStateReason !== JobStateReason.JobCompletedSuccessfully &&
|
|
185
|
+
jobStateReason != JobStateReason.JobCanceledByUser);
|
|
193
186
|
if (jobStateReason == null) {
|
|
194
187
|
console.log("Job state reason is null, it means that the current " +
|
|
195
188
|
"job was not found in the device's status, this is probably a bug " +
|
|
196
189
|
"in the device, the current scan will be marked as cancelled");
|
|
197
|
-
return
|
|
190
|
+
return JobState.Canceled;
|
|
198
191
|
}
|
|
199
192
|
return mapToJobState(jobStateReason);
|
|
200
193
|
}
|
|
201
|
-
async function executeScanJob(scanJobSettings, inputSource, folder, scanCount, scanJobContent, filePattern, pageCountingStrategy, deviceCapabilities) {
|
|
194
|
+
export async function executeScanJob(scanJobSettings, inputSource, folder, scanCount, scanJobContent, filePattern, pageCountingStrategy, deviceCapabilities) {
|
|
202
195
|
const jobUrl = await deviceCapabilities.submitScanJob(scanJobSettings);
|
|
203
196
|
console.log(`Creating job with settings: ${JSON.stringify(scanJobSettings)}`);
|
|
204
197
|
console.log("New job created:", jobUrl);
|
|
@@ -216,17 +209,17 @@ async function waitScanNewPageRequest(compEventURI) {
|
|
|
216
209
|
let wait = true;
|
|
217
210
|
while (wait) {
|
|
218
211
|
await new Promise((resolve) => setTimeout(resolve, 1000)); //wait 1s
|
|
219
|
-
const walkupScanToCompEvent = await
|
|
212
|
+
const walkupScanToCompEvent = await HPApi.getWalkupScanToCompEvent(compEventURI);
|
|
220
213
|
const eventType = walkupScanToCompEvent.eventType;
|
|
221
214
|
const eventTypeStr = eventType.toString();
|
|
222
|
-
if (eventType ===
|
|
215
|
+
if (eventType === EventType.ScanNewPageRequested) {
|
|
223
216
|
startNewScanJob = true;
|
|
224
217
|
wait = false;
|
|
225
218
|
}
|
|
226
|
-
else if (eventType ===
|
|
219
|
+
else if (eventType === EventType.ScanPagesComplete) {
|
|
227
220
|
wait = false;
|
|
228
221
|
}
|
|
229
|
-
else if (eventType ===
|
|
222
|
+
else if (eventType === EventType.ScanRequested) {
|
|
230
223
|
// continue waiting
|
|
231
224
|
}
|
|
232
225
|
else {
|
|
@@ -236,7 +229,7 @@ async function waitScanNewPageRequest(compEventURI) {
|
|
|
236
229
|
}
|
|
237
230
|
return startNewScanJob;
|
|
238
231
|
}
|
|
239
|
-
async function executeScanJobs(scanJobSettings, inputSource, folder, scanCount, scanJobContent, selectedScanTarget, deviceCapabilities, filePattern, pageCountingStrategy) {
|
|
232
|
+
export async function executeScanJobs(scanJobSettings, inputSource, folder, scanCount, scanJobContent, selectedScanTarget, deviceCapabilities, filePattern, pageCountingStrategy) {
|
|
240
233
|
let jobState = await executeScanJob(scanJobSettings, inputSource, folder, scanCount, scanJobContent, filePattern, pageCountingStrategy, deviceCapabilities);
|
|
241
234
|
const scanTarget = {
|
|
242
235
|
resourceURI: selectedScanTarget.resourceURI,
|
|
@@ -244,25 +237,25 @@ async function executeScanJobs(scanJobSettings, inputSource, folder, scanCount,
|
|
|
244
237
|
isDuplexSingleSide: selectedScanTarget.isDuplexSingleSide,
|
|
245
238
|
};
|
|
246
239
|
let lastEvent = selectedScanTarget.event;
|
|
247
|
-
if (jobState ===
|
|
240
|
+
if (jobState === JobState.Completed &&
|
|
248
241
|
lastEvent.compEventURI &&
|
|
249
|
-
inputSource !==
|
|
242
|
+
inputSource !== InputSource.Adf &&
|
|
250
243
|
lastEvent.destinationURI &&
|
|
251
244
|
deviceCapabilities.supportsMultiItemScanFromPlaten) {
|
|
252
|
-
lastEvent = await
|
|
245
|
+
lastEvent = await waitForScanEventFromTarget(scanTarget, lastEvent.agingStamp);
|
|
253
246
|
if (!lastEvent.compEventURI) {
|
|
254
247
|
return;
|
|
255
248
|
}
|
|
256
249
|
let startNewScanJob = await waitScanNewPageRequest(lastEvent.compEventURI);
|
|
257
250
|
while (startNewScanJob) {
|
|
258
251
|
jobState = await executeScanJob(scanJobSettings, inputSource, folder, scanCount, scanJobContent, filePattern, pageCountingStrategy, deviceCapabilities);
|
|
259
|
-
if (jobState !==
|
|
252
|
+
if (jobState !== JobState.Completed) {
|
|
260
253
|
return;
|
|
261
254
|
}
|
|
262
255
|
if (!lastEvent.destinationURI) {
|
|
263
256
|
break;
|
|
264
257
|
}
|
|
265
|
-
lastEvent = await
|
|
258
|
+
lastEvent = await waitForScanEventFromTarget(scanTarget, lastEvent.agingStamp);
|
|
266
259
|
if (!lastEvent.compEventURI) {
|
|
267
260
|
return;
|
|
268
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanJobHandlers.js","sourceRoot":"","sources":["../src/scanJobHandlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scanJobHandlers.js","sourceRoot":"","sources":["../src/scanJobHandlers.ts"],"names":[],"mappings":"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"}
|
package/dist/scanProcessing.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import Event from "./hpModels/Event";
|
|
2
|
-
import { DeviceCapabilities } from "./type/DeviceCapabilities";
|
|
3
|
-
import { ScanContent } from "./type/ScanContent";
|
|
4
|
-
import { InputSource } from "./type/InputSource";
|
|
5
|
-
import { SelectedScanTarget } from "./type/scanTargetDefinitions";
|
|
6
|
-
import { KnownShortcut } from "./type/KnownShortcut";
|
|
7
|
-
import { AdfAutoScanConfig, ScanConfig, SingleScanConfig } from "./type/scanConfigs";
|
|
8
|
-
import { PageCountingStrategy } from "./type/pageCountingStrategy";
|
|
9
|
-
import { IScanStatus } from "./hpModels/IScanStatus";
|
|
10
|
-
import { ScanPlexMode } from "./hpModels/ScanPlexMode";
|
|
1
|
+
import Event from "./hpModels/Event.js";
|
|
2
|
+
import type { DeviceCapabilities } from "./type/DeviceCapabilities.js";
|
|
3
|
+
import type { ScanContent } from "./type/ScanContent.js";
|
|
4
|
+
import { InputSource } from "./type/InputSource.js";
|
|
5
|
+
import type { SelectedScanTarget } from "./type/scanTargetDefinitions.js";
|
|
6
|
+
import { KnownShortcut } from "./type/KnownShortcut.js";
|
|
7
|
+
import type { AdfAutoScanConfig, ScanConfig, SingleScanConfig } from "./type/scanConfigs.js";
|
|
8
|
+
import { PageCountingStrategy } from "./type/pageCountingStrategy.js";
|
|
9
|
+
import type { IScanStatus } from "./hpModels/IScanStatus.js";
|
|
10
|
+
import { ScanPlexMode } from "./hpModels/ScanPlexMode.js";
|
|
11
11
|
export interface WalkupDestination {
|
|
12
12
|
get shortcut(): null | KnownShortcut;
|
|
13
13
|
get scanPlexMode(): ScanPlexMode | null;
|
package/dist/scanProcessing.js
CHANGED
|
@@ -1,32 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const HPApi_1 = __importDefault(require("./HPApi"));
|
|
15
|
-
const delay_1 = require("./delay");
|
|
16
|
-
const InputSource_1 = require("./type/InputSource");
|
|
17
|
-
const postProcessing_1 = require("./postProcessing");
|
|
18
|
-
const scanJobHandlers_1 = require("./scanJobHandlers");
|
|
19
|
-
const KnownShortcut_1 = require("./type/KnownShortcut");
|
|
20
|
-
const pageCountingStrategy_1 = require("./type/pageCountingStrategy");
|
|
21
|
-
const ScannerState_1 = require("./hpModels/ScannerState");
|
|
22
|
-
async function tryGetDestination(event) {
|
|
1
|
+
import Event from "./hpModels/Event.js";
|
|
2
|
+
import WalkupScanDestination from "./hpModels/WalkupScanDestination.js";
|
|
3
|
+
import WalkupScanToCompDestination from "./hpModels/WalkupScanToCompDestination.js";
|
|
4
|
+
import HPApi from "./HPApi.js";
|
|
5
|
+
import { delay } from "./delay.js";
|
|
6
|
+
import { InputSource } from "./type/InputSource.js";
|
|
7
|
+
import { postProcessing } from "./postProcessing.js";
|
|
8
|
+
import { executeScanJob, executeScanJobs } from "./scanJobHandlers.js";
|
|
9
|
+
import { KnownShortcut } from "./type/KnownShortcut.js";
|
|
10
|
+
import { PageCountingStrategy } from "./type/pageCountingStrategy.js";
|
|
11
|
+
import { ScannerState } from "./hpModels/ScannerState.js";
|
|
12
|
+
import { ScanPlexMode } from "./hpModels/ScanPlexMode.js";
|
|
13
|
+
export async function tryGetDestination(event) {
|
|
23
14
|
// this code can in some cases be executed before the user actually chooses between Document or Photo,
|
|
24
15
|
// so, let's fetch the contentType (Document or Photo) until we get a value
|
|
25
16
|
let destination = null;
|
|
26
17
|
for (let i = 0; i < 20; i++) {
|
|
27
18
|
const destinationURI = event.destinationURI;
|
|
28
19
|
if (destinationURI) {
|
|
29
|
-
destination = await
|
|
20
|
+
destination = await HPApi.getDestination(destinationURI);
|
|
30
21
|
const shortcut = destination.shortcut;
|
|
31
22
|
if (shortcut != null) {
|
|
32
23
|
return destination;
|
|
@@ -42,14 +33,14 @@ async function tryGetDestination(event) {
|
|
|
42
33
|
console.log(JSON.stringify(destination));
|
|
43
34
|
return null;
|
|
44
35
|
}
|
|
45
|
-
function isPdf(destination) {
|
|
46
|
-
if (destination.shortcut ===
|
|
47
|
-
destination.shortcut ===
|
|
48
|
-
destination.shortcut ==
|
|
36
|
+
export function isPdf(destination) {
|
|
37
|
+
if (destination.shortcut === KnownShortcut.SavePDF ||
|
|
38
|
+
destination.shortcut === KnownShortcut.EmailPDF ||
|
|
39
|
+
destination.shortcut == KnownShortcut.SaveDocument1) {
|
|
49
40
|
return true;
|
|
50
41
|
}
|
|
51
|
-
else if (destination.shortcut ===
|
|
52
|
-
destination.shortcut ===
|
|
42
|
+
else if (destination.shortcut === KnownShortcut.SaveJPEG ||
|
|
43
|
+
destination.shortcut === KnownShortcut.SavePhoto1) {
|
|
53
44
|
return false;
|
|
54
45
|
}
|
|
55
46
|
else {
|
|
@@ -57,8 +48,8 @@ function isPdf(destination) {
|
|
|
57
48
|
return false;
|
|
58
49
|
}
|
|
59
50
|
}
|
|
60
|
-
function getScanWidth(scanConfig, inputSource, deviceCapabilities, isDuplex) {
|
|
61
|
-
const maxWidth = inputSource ===
|
|
51
|
+
export function getScanWidth(scanConfig, inputSource, deviceCapabilities, isDuplex) {
|
|
52
|
+
const maxWidth = inputSource === InputSource.Adf
|
|
62
53
|
? isDuplex
|
|
63
54
|
? deviceCapabilities.adfDuplexMaxWidth
|
|
64
55
|
: deviceCapabilities.adfMaxWidth
|
|
@@ -75,8 +66,8 @@ function getScanWidth(scanConfig, inputSource, deviceCapabilities, isDuplex) {
|
|
|
75
66
|
return maxWidth;
|
|
76
67
|
}
|
|
77
68
|
}
|
|
78
|
-
function getScanHeight(scanConfig, inputSource, deviceCapabilities, isDuplex) {
|
|
79
|
-
const maxHeight = inputSource ===
|
|
69
|
+
export function getScanHeight(scanConfig, inputSource, deviceCapabilities, isDuplex) {
|
|
70
|
+
const maxHeight = inputSource === InputSource.Adf
|
|
80
71
|
? isDuplex
|
|
81
72
|
? deviceCapabilities.adfDuplexMaxHeight
|
|
82
73
|
: deviceCapabilities.adfMaxHeight
|
|
@@ -93,7 +84,7 @@ function getScanHeight(scanConfig, inputSource, deviceCapabilities, isDuplex) {
|
|
|
93
84
|
return maxHeight;
|
|
94
85
|
}
|
|
95
86
|
}
|
|
96
|
-
async function saveScanFromEvent(selectedScanTarget, folder, tempFolder, scanCount, deviceCapabilities, scanConfig, isDuplex, isPdf, pageCountingStrategy) {
|
|
87
|
+
export async function saveScanFromEvent(selectedScanTarget, folder, tempFolder, scanCount, deviceCapabilities, scanConfig, isDuplex, isPdf, pageCountingStrategy) {
|
|
97
88
|
let destinationFolder;
|
|
98
89
|
let contentType;
|
|
99
90
|
let filePattern;
|
|
@@ -101,7 +92,7 @@ async function saveScanFromEvent(selectedScanTarget, folder, tempFolder, scanCou
|
|
|
101
92
|
contentType = "Document";
|
|
102
93
|
destinationFolder = tempFolder;
|
|
103
94
|
filePattern = undefined;
|
|
104
|
-
console.log(`
|
|
95
|
+
console.log(`Converting scan to PDF…`);
|
|
105
96
|
}
|
|
106
97
|
else {
|
|
107
98
|
contentType = "Photo";
|
|
@@ -109,71 +100,70 @@ async function saveScanFromEvent(selectedScanTarget, folder, tempFolder, scanCou
|
|
|
109
100
|
filePattern = scanConfig.directoryConfig.filePattern;
|
|
110
101
|
}
|
|
111
102
|
const scanStatus = await deviceCapabilities.getScanStatus();
|
|
112
|
-
if (scanStatus.scannerState !==
|
|
103
|
+
if (scanStatus.scannerState !== ScannerState.Idle) {
|
|
113
104
|
console.log("Scanner state is not Idle, aborting scan attempt...!");
|
|
114
105
|
}
|
|
115
|
-
console.log("
|
|
106
|
+
console.log("ADF status: " + scanStatus.adfState);
|
|
116
107
|
const inputSource = scanStatus.getInputSource();
|
|
117
108
|
const scanWidth = getScanWidth(scanConfig, inputSource, deviceCapabilities, isDuplex);
|
|
118
109
|
const scanHeight = getScanHeight(scanConfig, inputSource, deviceCapabilities, isDuplex);
|
|
119
110
|
const scanJobSettings = deviceCapabilities.createScanJobSettings(inputSource, contentType, scanConfig.resolution, scanConfig.mode, scanWidth, scanHeight, isDuplex);
|
|
120
111
|
const scanJobContent = { elements: [] };
|
|
121
|
-
await
|
|
122
|
-
console.log(`Scan of page(s) completed totalPages: ${scanJobContent.elements.length}:`);
|
|
112
|
+
await executeScanJobs(scanJobSettings, inputSource, destinationFolder, scanCount, scanJobContent, selectedScanTarget, deviceCapabilities, filePattern, pageCountingStrategy);
|
|
123
113
|
return scanJobContent;
|
|
124
114
|
}
|
|
125
|
-
async function scanFromAdf(scanCount, folder, tempFolder, adfAutoScanConfig, deviceCapabilities, date) {
|
|
115
|
+
export async function scanFromAdf(scanCount, folder, tempFolder, adfAutoScanConfig, deviceCapabilities, date) {
|
|
126
116
|
let destinationFolder;
|
|
127
117
|
let contentType;
|
|
128
118
|
if (adfAutoScanConfig.generatePdf) {
|
|
129
119
|
contentType = "Document";
|
|
130
120
|
destinationFolder = tempFolder;
|
|
131
|
-
console.log(`
|
|
121
|
+
console.log(`Converting scan to PDF…`);
|
|
132
122
|
}
|
|
133
123
|
else {
|
|
134
124
|
contentType = "Photo";
|
|
135
125
|
destinationFolder = folder;
|
|
136
126
|
}
|
|
137
|
-
const scanWidth = getScanWidth(adfAutoScanConfig,
|
|
138
|
-
const scanHeight = getScanHeight(adfAutoScanConfig,
|
|
139
|
-
const scanJobSettings = deviceCapabilities.createScanJobSettings(
|
|
127
|
+
const scanWidth = getScanWidth(adfAutoScanConfig, InputSource.Adf, deviceCapabilities, adfAutoScanConfig.isDuplex);
|
|
128
|
+
const scanHeight = getScanHeight(adfAutoScanConfig, InputSource.Adf, deviceCapabilities, adfAutoScanConfig.isDuplex);
|
|
129
|
+
const scanJobSettings = deviceCapabilities.createScanJobSettings(InputSource.Adf, contentType, adfAutoScanConfig.resolution, adfAutoScanConfig.mode, scanWidth, scanHeight, adfAutoScanConfig.isDuplex);
|
|
140
130
|
const scanJobContent = { elements: [] };
|
|
141
|
-
await
|
|
131
|
+
await executeScanJob(scanJobSettings, InputSource.Adf, destinationFolder, scanCount, scanJobContent, adfAutoScanConfig.directoryConfig.filePattern, PageCountingStrategy.Normal, deviceCapabilities);
|
|
142
132
|
console.log(`Scan of page(s) completed, total pages: ${scanJobContent.elements.length}:`);
|
|
143
|
-
await
|
|
133
|
+
await postProcessing(adfAutoScanConfig, folder, tempFolder, scanCount, scanJobContent, date, adfAutoScanConfig.generatePdf);
|
|
144
134
|
}
|
|
145
|
-
async function singleScan(scanCount, folder, tempFolder, scanConfig, deviceCapabilities, date) {
|
|
135
|
+
export async function singleScan(scanCount, folder, tempFolder, scanConfig, deviceCapabilities, date) {
|
|
146
136
|
let destinationFolder;
|
|
147
137
|
let contentType;
|
|
148
138
|
if (scanConfig.generatePdf) {
|
|
149
139
|
contentType = "Document";
|
|
150
140
|
destinationFolder = tempFolder;
|
|
151
|
-
console.log(`
|
|
141
|
+
console.log(`Converting scan to PDF…`);
|
|
152
142
|
}
|
|
153
143
|
else {
|
|
154
144
|
contentType = "Photo";
|
|
155
145
|
destinationFolder = folder;
|
|
156
146
|
}
|
|
157
147
|
const scanStatus = await deviceCapabilities.getScanStatus();
|
|
158
|
-
if (scanStatus.scannerState !==
|
|
148
|
+
if (scanStatus.scannerState !== ScannerState.Idle) {
|
|
159
149
|
console.log("Scanner state is not Idle, aborting scan attempt...!");
|
|
160
150
|
}
|
|
161
|
-
console.log("
|
|
151
|
+
console.log("ADF is: " + scanStatus.adfState);
|
|
162
152
|
const inputSource = scanStatus.getInputSource();
|
|
163
153
|
const scanWidth = getScanWidth(scanConfig, inputSource, deviceCapabilities, scanConfig.isDuplex);
|
|
164
154
|
const scanHeight = getScanHeight(scanConfig, inputSource, deviceCapabilities, scanConfig.isDuplex);
|
|
165
155
|
const scanJobSettings = deviceCapabilities.createScanJobSettings(inputSource, contentType, scanConfig.resolution, scanConfig.mode, scanWidth, scanHeight, scanConfig.isDuplex);
|
|
166
156
|
const scanJobContent = { elements: [] };
|
|
167
|
-
await
|
|
157
|
+
await executeScanJob(scanJobSettings, inputSource, destinationFolder, scanCount, scanJobContent, scanConfig.directoryConfig.filePattern, PageCountingStrategy.Normal, deviceCapabilities);
|
|
168
158
|
console.log(`Scan of page(s) completed, total pages: ${scanJobContent.elements.length}:`);
|
|
169
|
-
await
|
|
159
|
+
await postProcessing(scanConfig, folder, tempFolder, scanCount, scanJobContent, date, scanConfig.generatePdf);
|
|
170
160
|
}
|
|
171
|
-
async function waitAdfLoaded(pollingInterval, startScanDelay, getScanStatus) {
|
|
161
|
+
export async function waitAdfLoaded(pollingInterval, startScanDelay, getScanStatus) {
|
|
172
162
|
let ready = false;
|
|
173
163
|
while (!ready) {
|
|
174
164
|
let scanStatus = await getScanStatus();
|
|
175
165
|
while (!scanStatus.isLoaded()) {
|
|
176
|
-
await
|
|
166
|
+
await delay(pollingInterval);
|
|
177
167
|
scanStatus = await getScanStatus();
|
|
178
168
|
}
|
|
179
169
|
console.log(`ADF load detected`);
|
|
@@ -181,7 +171,7 @@ async function waitAdfLoaded(pollingInterval, startScanDelay, getScanStatus) {
|
|
|
181
171
|
let counter = 0;
|
|
182
172
|
const shortPollingInterval = 500;
|
|
183
173
|
while (loaded && counter < startScanDelay) {
|
|
184
|
-
await
|
|
174
|
+
await delay(shortPollingInterval);
|
|
185
175
|
scanStatus = await getScanStatus();
|
|
186
176
|
loaded = scanStatus.isLoaded();
|
|
187
177
|
counter += shortPollingInterval;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanProcessing.js","sourceRoot":"","sources":["../src/scanProcessing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scanProcessing.js","sourceRoot":"","sources":["../src/scanProcessing.ts"],"names":[],"mappings":"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"}
|