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/listening.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listening.js","sourceRoot":"","sources":["../src/listening.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"listening.js","sourceRoot":"","sources":["../src/listening.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ScanContent } from "../type/ScanContent";
|
|
2
|
-
import { NextcloudConfig } from "./NextcloudConfig";
|
|
1
|
+
import type { ScanContent } from "../type/ScanContent.js";
|
|
2
|
+
import type { NextcloudConfig } from "./NextcloudConfig.js";
|
|
3
3
|
export declare function uploadImagesToNextcloud(scanJobContent: ScanContent, nextcloudConfig: NextcloudConfig): Promise<void>;
|
|
4
4
|
export declare function uploadPdfToNextcloud(pdfFilePath: string | null, nextcloudConfig: NextcloudConfig): Promise<void>;
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.uploadImagesToNextcloud = uploadImagesToNextcloud;
|
|
7
|
-
exports.uploadPdfToNextcloud = uploadPdfToNextcloud;
|
|
8
|
-
const axios_1 = __importDefault(require("axios"));
|
|
9
|
-
const promises_1 = __importDefault(require("fs/promises"));
|
|
10
|
-
const path_1 = __importDefault(require("path"));
|
|
11
|
-
async function uploadImagesToNextcloud(scanJobContent, nextcloudConfig) {
|
|
1
|
+
import axios, { AxiosError } from "axios";
|
|
2
|
+
import fs from "fs/promises";
|
|
3
|
+
import path from "path";
|
|
4
|
+
export async function uploadImagesToNextcloud(scanJobContent, nextcloudConfig) {
|
|
12
5
|
await checkFolderAndUpload(nextcloudConfig, async () => {
|
|
13
6
|
for (const element of scanJobContent.elements) {
|
|
14
7
|
const { path: filePath } = element;
|
|
@@ -16,7 +9,7 @@ async function uploadImagesToNextcloud(scanJobContent, nextcloudConfig) {
|
|
|
16
9
|
}
|
|
17
10
|
});
|
|
18
11
|
}
|
|
19
|
-
async function uploadPdfToNextcloud(pdfFilePath, nextcloudConfig) {
|
|
12
|
+
export async function uploadPdfToNextcloud(pdfFilePath, nextcloudConfig) {
|
|
20
13
|
await checkFolderAndUpload(nextcloudConfig, async () => {
|
|
21
14
|
if (pdfFilePath) {
|
|
22
15
|
await uploadToNextcloud(pdfFilePath, nextcloudConfig);
|
|
@@ -28,12 +21,12 @@ async function uploadPdfToNextcloud(pdfFilePath, nextcloudConfig) {
|
|
|
28
21
|
}
|
|
29
22
|
async function uploadToNextcloud(filePath, nextcloudConfig) {
|
|
30
23
|
const { baseUrl, username, password, uploadFolder } = nextcloudConfig;
|
|
31
|
-
const fileName =
|
|
24
|
+
const fileName = path.basename(filePath);
|
|
32
25
|
const folderUrl = buildFolderUrl(baseUrl, username, uploadFolder);
|
|
33
26
|
const uploadUrl = buildUrl(folderUrl, [fileName]);
|
|
34
27
|
let fileBuffer;
|
|
35
28
|
try {
|
|
36
|
-
fileBuffer = await
|
|
29
|
+
fileBuffer = await fs.readFile(filePath);
|
|
37
30
|
}
|
|
38
31
|
catch (e) {
|
|
39
32
|
console.error("Fail to read file:", e);
|
|
@@ -42,7 +35,7 @@ async function uploadToNextcloud(filePath, nextcloudConfig) {
|
|
|
42
35
|
const auth = { username, password };
|
|
43
36
|
console.log(`Start uploading to Nextcloud: ${fileName}`);
|
|
44
37
|
try {
|
|
45
|
-
const response = await (
|
|
38
|
+
const response = await axios({
|
|
46
39
|
method: "PUT",
|
|
47
40
|
url: uploadUrl,
|
|
48
41
|
auth,
|
|
@@ -76,7 +69,7 @@ async function checkNextcloudFolderExists(nextcloudConfig) {
|
|
|
76
69
|
console.log("Check if upload folder exists");
|
|
77
70
|
try {
|
|
78
71
|
// Check if the upload folder exists
|
|
79
|
-
await (
|
|
72
|
+
await axios({
|
|
80
73
|
method: "PROPFIND",
|
|
81
74
|
url: folderUrl,
|
|
82
75
|
auth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextcloud.js","sourceRoot":"","sources":["../../src/nextcloud/nextcloud.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nextcloud.js","sourceRoot":"","sources":["../../src/nextcloud/nextcloud.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ScanContent } from "../type/ScanContent";
|
|
2
|
-
import { PaperlessConfig } from "./PaperlessConfig";
|
|
3
|
-
import { ScanConfig } from "../type/scanConfigs";
|
|
1
|
+
import type { ScanContent } from "../type/ScanContent.js";
|
|
2
|
+
import type { PaperlessConfig } from "./PaperlessConfig.js";
|
|
3
|
+
import type { ScanConfig } from "../type/scanConfigs.js";
|
|
4
4
|
export declare function uploadImagesAsSeparateDocumentsToPaperless(scanJobContent: ScanContent, paperlessConfig: PaperlessConfig): Promise<void>;
|
|
5
5
|
export declare function convertImagesToPdfAndUploadAsSeparateDocumentsToPaperless(scanJobContent: ScanContent, paperlessConfig: PaperlessConfig): Promise<void>;
|
|
6
6
|
export declare function mergeToPdfAndUploadAsSingleDocumentToPaperless(folder: string, scanCount: number, scanJobContent: ScanContent, scanConfig: ScanConfig, scanDate: Date, paperlessConfig: PaperlessConfig): Promise<void>;
|
|
@@ -1,48 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
exports.uploadPdfToPaperless = uploadPdfToPaperless;
|
|
10
|
-
const fs_1 = __importDefault(require("fs"));
|
|
11
|
-
const form_data_1 = __importDefault(require("form-data"));
|
|
12
|
-
const axios_1 = __importDefault(require("axios"));
|
|
13
|
-
const promises_1 = __importDefault(require("fs/promises"));
|
|
14
|
-
const pdfProcessing_1 = require("../pdfProcessing");
|
|
15
|
-
async function uploadImagesAsSeparateDocumentsToPaperless(scanJobContent, paperlessConfig) {
|
|
16
|
-
for (let i = 0; i < scanJobContent.elements.length; ++i) {
|
|
17
|
-
const filePath = scanJobContent.elements[i].path;
|
|
1
|
+
import fsSync from "fs";
|
|
2
|
+
import FormData from "form-data";
|
|
3
|
+
import axios from "axios";
|
|
4
|
+
import fs from "fs/promises";
|
|
5
|
+
import { convertToPdf, mergeToPdf } from "../pdfProcessing.js";
|
|
6
|
+
export async function uploadImagesAsSeparateDocumentsToPaperless(scanJobContent, paperlessConfig) {
|
|
7
|
+
for (const item of scanJobContent.elements) {
|
|
8
|
+
const filePath = item.path;
|
|
18
9
|
await uploadToPaperless(filePath, paperlessConfig);
|
|
19
10
|
}
|
|
20
11
|
}
|
|
21
|
-
async function convertImagesToPdfAndUploadAsSeparateDocumentsToPaperless(scanJobContent, paperlessConfig) {
|
|
22
|
-
for (
|
|
23
|
-
const pdfFilePath = await
|
|
12
|
+
export async function convertImagesToPdfAndUploadAsSeparateDocumentsToPaperless(scanJobContent, paperlessConfig) {
|
|
13
|
+
for (const item of scanJobContent.elements) {
|
|
14
|
+
const pdfFilePath = await convertToPdf(item, !paperlessConfig.keepFiles);
|
|
24
15
|
if (pdfFilePath) {
|
|
25
16
|
await uploadToPaperless(pdfFilePath, paperlessConfig);
|
|
26
|
-
await
|
|
17
|
+
await fs.unlink(pdfFilePath);
|
|
27
18
|
}
|
|
28
19
|
else {
|
|
29
20
|
console.log("Pdf generation has failed, nothing is going to be uploaded to paperless for: " +
|
|
30
|
-
|
|
21
|
+
item.path);
|
|
31
22
|
}
|
|
32
23
|
}
|
|
33
24
|
}
|
|
34
|
-
async function mergeToPdfAndUploadAsSingleDocumentToPaperless(folder, scanCount, scanJobContent, scanConfig, scanDate, paperlessConfig) {
|
|
35
|
-
const pdfFilePath = await
|
|
25
|
+
export async function mergeToPdfAndUploadAsSingleDocumentToPaperless(folder, scanCount, scanJobContent, scanConfig, scanDate, paperlessConfig) {
|
|
26
|
+
const pdfFilePath = await mergeToPdf(folder, scanCount, scanJobContent, scanConfig.directoryConfig.filePattern, scanDate, !paperlessConfig.keepFiles);
|
|
36
27
|
if (pdfFilePath) {
|
|
37
28
|
await uploadToPaperless(pdfFilePath, paperlessConfig);
|
|
38
|
-
await
|
|
29
|
+
await fs.unlink(pdfFilePath);
|
|
39
30
|
console.log(`Pdf document ${pdfFilePath} has been removed from the filesystem`);
|
|
40
31
|
}
|
|
41
32
|
else {
|
|
42
33
|
console.log("Pdf generation has failed, nothing is going to be uploaded to paperless");
|
|
43
34
|
}
|
|
44
35
|
}
|
|
45
|
-
async function uploadPdfToPaperless(pdfFilePath, paperlessConfig) {
|
|
36
|
+
export async function uploadPdfToPaperless(pdfFilePath, paperlessConfig) {
|
|
46
37
|
if (pdfFilePath) {
|
|
47
38
|
await uploadToPaperless(pdfFilePath, paperlessConfig);
|
|
48
39
|
}
|
|
@@ -53,12 +44,12 @@ async function uploadPdfToPaperless(pdfFilePath, paperlessConfig) {
|
|
|
53
44
|
async function uploadToPaperless(filePath, paperlessConfig) {
|
|
54
45
|
const url = paperlessConfig.postDocumentUrl;
|
|
55
46
|
const authToken = paperlessConfig.authToken;
|
|
56
|
-
const fileStream =
|
|
57
|
-
const form = new
|
|
47
|
+
const fileStream = fsSync.createReadStream(filePath);
|
|
48
|
+
const form = new FormData();
|
|
58
49
|
form.append("document", fileStream);
|
|
59
50
|
console.log(`Start uploading to paperless: ${filePath}`);
|
|
60
51
|
try {
|
|
61
|
-
const response = await
|
|
52
|
+
const response = await axios.post(url, form, {
|
|
62
53
|
headers: {
|
|
63
54
|
...form.getHeaders(),
|
|
64
55
|
Authorization: `Token ${authToken}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paperless.js","sourceRoot":"","sources":["../../src/paperless/paperless.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paperless.js","sourceRoot":"","sources":["../../src/paperless/paperless.ts"],"names":[],"mappings":"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"}
|
package/dist/pdfProcessing.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ScanContent, ScanPage } from "./type/ScanContent";
|
|
1
|
+
import type { ScanContent, ScanPage } from "./type/ScanContent.js";
|
|
2
2
|
export declare function mergeToPdf(folder: string, scanCount: number, scanJobContent: ScanContent, filePattern: string | undefined, date: Date, deleteFiles: boolean): Promise<string | null>;
|
|
3
3
|
export declare function convertToPdf(scanPage: ScanPage, deleteFile: boolean): Promise<string | null>;
|
|
4
4
|
export declare function createPdfFrom(scanContent: ScanContent, destination: string): Promise<void>;
|
package/dist/pdfProcessing.js
CHANGED
|
@@ -1,49 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
exports.mergeToPdf = mergeToPdf;
|
|
7
|
-
exports.convertToPdf = convertToPdf;
|
|
8
|
-
exports.createPdfFrom = createPdfFrom;
|
|
9
|
-
const PathHelper_1 = __importDefault(require("./PathHelper"));
|
|
10
|
-
const promises_1 = __importDefault(require("fs/promises"));
|
|
11
|
-
const path_1 = __importDefault(require("path"));
|
|
12
|
-
const jspdf_1 = require("jspdf");
|
|
13
|
-
async function mergeToPdf(folder, scanCount, scanJobContent, filePattern, date, deleteFiles) {
|
|
1
|
+
import PathHelper from "./PathHelper.js";
|
|
2
|
+
import fs from "fs/promises";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { jsPDF } from "jspdf";
|
|
5
|
+
export async function mergeToPdf(folder, scanCount, scanJobContent, filePattern, date, deleteFiles) {
|
|
14
6
|
if (scanJobContent.elements.length > 0) {
|
|
15
|
-
const pdfFilePath = await
|
|
7
|
+
const pdfFilePath = await PathHelper.getFileForScan(folder, scanCount, filePattern, "pdf", date);
|
|
16
8
|
await createPdfFrom(scanJobContent, pdfFilePath);
|
|
17
9
|
if (deleteFiles) {
|
|
18
|
-
await Promise.all(scanJobContent.elements.map((e) =>
|
|
10
|
+
await Promise.all(scanJobContent.elements.map((e) => fs.unlink(e.path)));
|
|
19
11
|
}
|
|
20
12
|
return pdfFilePath;
|
|
21
13
|
}
|
|
22
14
|
console.log(`No page available to build a pdf file`);
|
|
23
15
|
return null;
|
|
24
16
|
}
|
|
25
|
-
async function convertToPdf(scanPage, deleteFile) {
|
|
26
|
-
const fileName =
|
|
27
|
-
const pdfFilePath =
|
|
17
|
+
export async function convertToPdf(scanPage, deleteFile) {
|
|
18
|
+
const fileName = path.basename(scanPage.path, path.extname(scanPage.path));
|
|
19
|
+
const pdfFilePath = path.join(path.dirname(scanPage.path), `${fileName}.pdf`);
|
|
28
20
|
await createPdfFrom({ elements: [scanPage] }, pdfFilePath);
|
|
29
21
|
if (deleteFile) {
|
|
30
|
-
await
|
|
22
|
+
await fs.unlink(scanPage.path);
|
|
31
23
|
}
|
|
32
24
|
return pdfFilePath;
|
|
33
25
|
}
|
|
34
|
-
async function createPdfFrom(scanContent, destination) {
|
|
26
|
+
export async function createPdfFrom(scanContent, destination) {
|
|
35
27
|
let doc = null;
|
|
36
28
|
for (const element of scanContent.elements) {
|
|
37
29
|
const widthInInches = element.width / element.xResolution;
|
|
38
30
|
const heightInInches = element.height / element.yResolution;
|
|
39
31
|
const format = [widthInInches, heightInInches];
|
|
40
32
|
if (doc == null) {
|
|
41
|
-
doc = new
|
|
33
|
+
doc = new jsPDF({ unit: "in", floatPrecision: 3, format });
|
|
42
34
|
}
|
|
43
35
|
else {
|
|
44
36
|
doc.addPage(format);
|
|
45
37
|
}
|
|
46
|
-
const imageByteBuffer = await
|
|
38
|
+
const imageByteBuffer = await fs.readFile(element.path);
|
|
47
39
|
doc.addImage(imageByteBuffer, "JPEG", 0, 0, widthInInches, heightInInches);
|
|
48
40
|
}
|
|
49
41
|
doc?.save(destination);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdfProcessing.js","sourceRoot":"","sources":["../src/pdfProcessing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pdfProcessing.js","sourceRoot":"","sources":["../src/pdfProcessing.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAc,EACd,SAAiB,EACjB,cAA2B,EAC3B,WAA+B,EAC/B,IAAU,EACV,WAAoB;IAEpB,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,WAAW,GAAW,MAAM,UAAU,CAAC,cAAc,CACzD,MAAM,EACN,SAAS,EACT,WAAW,EACX,KAAK,EACL,IAAI,CACL,CAAC;QACF,MAAM,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAkB,EAClB,UAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;IAE9E,MAAM,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAC3D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAwB,EACxB,WAAmB;IAEnB,IAAI,GAAG,GAAiB,IAAI,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;QAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAC5D,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAE/C,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IAC7E,CAAC;IACD,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACzB,CAAC"}
|
package/dist/postProcessing.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ScanContent } from "./type/ScanContent";
|
|
2
|
-
import { ScanConfig } from "./type/scanConfigs";
|
|
1
|
+
import type { ScanContent } from "./type/ScanContent.js";
|
|
2
|
+
import type { ScanConfig } from "./type/scanConfigs.js";
|
|
3
3
|
export declare function postProcessing(scanConfig: ScanConfig, folder: string, tempFolder: string, scanCount: number, scanJobContent: ScanContent, scanDate: Date, toPdf: boolean): Promise<void>;
|
package/dist/postProcessing.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const pdfProcessing_1 = require("./pdfProcessing");
|
|
8
|
-
const paperless_1 = require("./paperless/paperless");
|
|
9
|
-
const nextcloud_1 = require("./nextcloud/nextcloud");
|
|
10
|
-
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
11
|
-
const node_fs_1 = require("node:fs");
|
|
12
|
-
async function postProcessing(scanConfig, folder, tempFolder, scanCount, scanJobContent, scanDate, toPdf) {
|
|
1
|
+
import { mergeToPdf } from "./pdfProcessing.js";
|
|
2
|
+
import { convertImagesToPdfAndUploadAsSeparateDocumentsToPaperless, mergeToPdfAndUploadAsSingleDocumentToPaperless, uploadImagesAsSeparateDocumentsToPaperless, uploadPdfToPaperless, } from "./paperless/paperless.js";
|
|
3
|
+
import { uploadPdfToNextcloud, uploadImagesToNextcloud, } from "./nextcloud/nextcloud.js";
|
|
4
|
+
import fs from "node:fs/promises";
|
|
5
|
+
import { existsSync } from "node:fs";
|
|
6
|
+
export async function postProcessing(scanConfig, folder, tempFolder, scanCount, scanJobContent, scanDate, toPdf) {
|
|
13
7
|
if (toPdf) {
|
|
14
8
|
await handlePdfPostProcessing(folder, tempFolder, scanCount, scanJobContent, scanDate, scanConfig);
|
|
15
9
|
}
|
|
@@ -20,14 +14,14 @@ async function postProcessing(scanConfig, folder, tempFolder, scanCount, scanJob
|
|
|
20
14
|
async function handlePdfPostProcessing(folder, tempFolder, scanCount, scanJobContent, scanDate, scanConfig) {
|
|
21
15
|
const paperlessConfig = scanConfig.paperlessConfig;
|
|
22
16
|
const nextcloudConfig = scanConfig.nextcloudConfig;
|
|
23
|
-
const pdfFilePath = await
|
|
17
|
+
const pdfFilePath = await mergeToPdf(paperlessConfig ? tempFolder : folder, scanCount, scanJobContent, scanConfig.directoryConfig.filePattern, scanDate, true);
|
|
24
18
|
if (pdfFilePath != null) {
|
|
25
19
|
displayPdfScan(pdfFilePath, scanJobContent, scanCount);
|
|
26
20
|
if (paperlessConfig) {
|
|
27
|
-
await
|
|
21
|
+
await uploadPdfToPaperless(pdfFilePath, paperlessConfig);
|
|
28
22
|
}
|
|
29
23
|
if (nextcloudConfig) {
|
|
30
|
-
await
|
|
24
|
+
await uploadPdfToNextcloud(pdfFilePath, nextcloudConfig);
|
|
31
25
|
}
|
|
32
26
|
await cleanUpFilesIfNeeded([pdfFilePath], paperlessConfig, nextcloudConfig);
|
|
33
27
|
}
|
|
@@ -38,19 +32,19 @@ async function handleImagePostProcessing(folder, scanCount, scanJobContent, scan
|
|
|
38
32
|
displayJpegScan(scanJobContent, scanCount);
|
|
39
33
|
if (paperlessConfig) {
|
|
40
34
|
if (paperlessConfig.groupMultiPageScanIntoAPdf) {
|
|
41
|
-
await
|
|
35
|
+
await mergeToPdfAndUploadAsSingleDocumentToPaperless(folder, scanCount, scanJobContent, scanConfig, scanDate, paperlessConfig);
|
|
42
36
|
}
|
|
43
37
|
else {
|
|
44
38
|
if (paperlessConfig.alwaysSendAsPdfFile) {
|
|
45
|
-
await
|
|
39
|
+
await convertImagesToPdfAndUploadAsSeparateDocumentsToPaperless(scanJobContent, paperlessConfig);
|
|
46
40
|
}
|
|
47
41
|
else {
|
|
48
|
-
await
|
|
42
|
+
await uploadImagesAsSeparateDocumentsToPaperless(scanJobContent, paperlessConfig);
|
|
49
43
|
}
|
|
50
44
|
}
|
|
51
45
|
}
|
|
52
46
|
if (nextcloudConfig) {
|
|
53
|
-
await
|
|
47
|
+
await uploadImagesToNextcloud(scanJobContent, nextcloudConfig);
|
|
54
48
|
}
|
|
55
49
|
const filePaths = scanJobContent.elements.map((element) => element.path);
|
|
56
50
|
await cleanUpFilesIfNeeded(filePaths, paperlessConfig, nextcloudConfig);
|
|
@@ -60,19 +54,19 @@ function displayPdfScan(pdfFilePath, scanJobContent, scanCount) {
|
|
|
60
54
|
console.log(`Pdf generated has not been generated`);
|
|
61
55
|
return;
|
|
62
56
|
}
|
|
63
|
-
console.log(`
|
|
64
|
-
scanJobContent.elements.forEach((e) => console.log(`\t- page ${e.pageNumber.toString().padStart(3, " ")}
|
|
57
|
+
console.log(`Scan #${scanCount} saved as PDF: ${pdfFilePath} with the following pages:`);
|
|
58
|
+
scanJobContent.elements.forEach((e) => console.log(`\t- page ${e.pageNumber.toString().padStart(3, " ")} | ${e.width}x${e.height} | (temp file deleted ${e.path})`));
|
|
65
59
|
}
|
|
66
60
|
function displayJpegScan(scanJobContent, scanCount) {
|
|
67
|
-
console.log(`
|
|
68
|
-
scanJobContent.elements.forEach((e) => console.log(`\t- page ${e.pageNumber.toString().padStart(3, " ")}
|
|
61
|
+
console.log(`Scan #${scanCount} completed with the following pages:`);
|
|
62
|
+
scanJobContent.elements.forEach((e) => console.log(`\t- page ${e.pageNumber.toString().padStart(3, " ")} | ${e.width}x${e.height} | ${e.path}`));
|
|
69
63
|
}
|
|
70
64
|
async function cleanUpFilesIfNeeded(filePaths, paperlessConfig, nextcloudConfig) {
|
|
71
65
|
const keepFiles = paperlessConfig?.keepFiles ?? nextcloudConfig?.keepFiles ?? true;
|
|
72
66
|
if (!keepFiles) {
|
|
73
67
|
await Promise.all(filePaths.map(async (filePath) => {
|
|
74
|
-
if (
|
|
75
|
-
await
|
|
68
|
+
if (existsSync(filePath)) {
|
|
69
|
+
await fs.unlink(filePath);
|
|
76
70
|
console.log(`File ${filePath} has been removed from the filesystem`);
|
|
77
71
|
}
|
|
78
72
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postProcessing.js","sourceRoot":"","sources":["../src/postProcessing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"postProcessing.js","sourceRoot":"","sources":["../src/postProcessing.ts"],"names":[],"mappings":"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"}
|
package/dist/program.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from "@commander-js/extra-typings";
|
|
3
|
-
import { FileConfig } from "./type/FileConfig";
|
|
3
|
+
import type { FileConfig } from "./type/FileConfig.js";
|
|
4
4
|
export declare function setupProgram(fileConfig: FileConfig): Command<[], {
|
|
5
|
-
address?: string
|
|
6
|
-
name?: string
|
|
7
|
-
debug?: true
|
|
8
|
-
healthCheck?: true
|
|
9
|
-
healthCheckPort?: string
|
|
5
|
+
address?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
debug?: true;
|
|
8
|
+
healthCheck?: true;
|
|
9
|
+
healthCheckPort?: string;
|
|
10
10
|
}, {}>;
|