d5-api-initializer 1.4.1 → 1.5.1
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "d5-api-initializer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"dependencies": {},
|
|
6
6
|
"main": "publish/cjs/d5-api-initializer",
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
"@types/node": "20.11.16",
|
|
36
36
|
"archiver": "6.0.1",
|
|
37
37
|
"copy-webpack-plugin": "^11.0.0",
|
|
38
|
-
"webpack": "5.
|
|
39
|
-
"webpack-cli": "
|
|
40
|
-
"dotenv": "
|
|
38
|
+
"webpack": "5.98.0",
|
|
39
|
+
"webpack-cli": "6.0.1",
|
|
40
|
+
"dotenv": "16.4.7",
|
|
41
41
|
"eslint": "7.19.0",
|
|
42
42
|
"rimraf": "5.0.5",
|
|
43
|
-
"ts-loader": "
|
|
43
|
+
"ts-loader": "9.5.2",
|
|
44
44
|
"tsup": "7.0.0",
|
|
45
|
-
"typescript": "5.
|
|
45
|
+
"typescript": "5.7.3"
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -606,6 +606,76 @@ var ApiCore = class {
|
|
|
606
606
|
*/
|
|
607
607
|
};
|
|
608
608
|
|
|
609
|
+
// src/typeUtils.ts
|
|
610
|
+
var types = {
|
|
611
|
+
"[object Array]": "array",
|
|
612
|
+
"[object Date]": "date",
|
|
613
|
+
"[object Object]": "object",
|
|
614
|
+
"[object String]": "string",
|
|
615
|
+
"[object Null]": "null"
|
|
616
|
+
};
|
|
617
|
+
var type = function(object) {
|
|
618
|
+
const typeOfObject = Object.prototype.toString.call(object);
|
|
619
|
+
return typeof object === "object" ? types[typeOfObject] || "object" : typeof object;
|
|
620
|
+
};
|
|
621
|
+
var isDate = function(object) {
|
|
622
|
+
return type(object) === "date";
|
|
623
|
+
};
|
|
624
|
+
var isUndefined = (val) => val === void 0;
|
|
625
|
+
var isDefined = function(value) {
|
|
626
|
+
return value !== null && !isUndefined(value);
|
|
627
|
+
};
|
|
628
|
+
var isFunction = function(object) {
|
|
629
|
+
return typeof object === "function";
|
|
630
|
+
};
|
|
631
|
+
var isObject = function(value) {
|
|
632
|
+
return type(value) === "object" && !isNull(value) && !isArray(value) && !isDate(value);
|
|
633
|
+
};
|
|
634
|
+
var isNull = function(value) {
|
|
635
|
+
return type(value) === "null";
|
|
636
|
+
};
|
|
637
|
+
var isArray = function(value) {
|
|
638
|
+
return type(value) === "array";
|
|
639
|
+
};
|
|
640
|
+
|
|
641
|
+
// src/classes/addWaterMark.ts
|
|
642
|
+
var convertSourceTypeToLoadParams = (params) => {
|
|
643
|
+
if (params.sourceType === "report") {
|
|
644
|
+
return {
|
|
645
|
+
report: params.config
|
|
646
|
+
};
|
|
647
|
+
}
|
|
648
|
+
return params.config;
|
|
649
|
+
};
|
|
650
|
+
function addWatermarkToPdf(jsWapiRequest, params) {
|
|
651
|
+
params.watermarks.forEach((watermark) => {
|
|
652
|
+
if (!isDefined(watermark.position))
|
|
653
|
+
throw new Error("Position is undefined for watermark");
|
|
654
|
+
if (!isObject(watermark.position) && !isFunction(watermark.position))
|
|
655
|
+
throw new Error("Position must be type of object or function");
|
|
656
|
+
});
|
|
657
|
+
jsWapiRequest.pdf().load({
|
|
658
|
+
...convertSourceTypeToLoadParams(params.sourcePdf),
|
|
659
|
+
callback: (origPdf) => {
|
|
660
|
+
params.watermarks.forEach((watermark) => {
|
|
661
|
+
jsWapiRequest.pdf().load({
|
|
662
|
+
...convertSourceTypeToLoadParams(watermark),
|
|
663
|
+
callback: (stampPdf) => {
|
|
664
|
+
if (isObject(watermark.position)) {
|
|
665
|
+
const position = watermark.position;
|
|
666
|
+
origPdf.overlay(stampPdf, { page: position.page, x: position.x, y: position.y });
|
|
667
|
+
}
|
|
668
|
+
if (typeof watermark.position === "function") {
|
|
669
|
+
origPdf.overlay(stampPdf, watermark.position(origPdf, stampPdf));
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
});
|
|
673
|
+
});
|
|
674
|
+
origPdf.save(params.saveConfig);
|
|
675
|
+
}
|
|
676
|
+
});
|
|
677
|
+
}
|
|
678
|
+
|
|
609
679
|
// src/classes/ApiRequest.ts
|
|
610
680
|
var ApiRequest = class {
|
|
611
681
|
constructor(jsWapiRequest, objectName) {
|
|
@@ -836,6 +906,16 @@ var ApiRequest = class {
|
|
|
836
906
|
newApiInvoker(objectName, operName) {
|
|
837
907
|
return new ApiInvoker(this.newJSWapiInvoker(objectName, operName), objectName);
|
|
838
908
|
}
|
|
909
|
+
addWatermarkToPdf(params) {
|
|
910
|
+
addWatermarkToPdf(this._jsWapiRequest, params);
|
|
911
|
+
}
|
|
912
|
+
/**
|
|
913
|
+
* Вернуть содержимое meta-Excel в виде JSON-объекта:
|
|
914
|
+
* @param fileRequestId имя поля в multipart-запросе с Excel-файлом
|
|
915
|
+
*/
|
|
916
|
+
getMetaExcelFileAsJson(fileRequestId2) {
|
|
917
|
+
return this._jsWapiRequest.xls().getMetaExcelFileAsJson(fileRequestId2);
|
|
918
|
+
}
|
|
839
919
|
/**
|
|
840
920
|
* Переводит и форматирует строку из словаря переводов согласно текущего языка приложения.
|
|
841
921
|
* @param msgKey
|
|
@@ -42,9 +42,28 @@ declare namespace jsWapi {
|
|
|
42
42
|
getParams(): any;
|
|
43
43
|
getUserId(): number;
|
|
44
44
|
getPage(): number;
|
|
45
|
+
addSorts(sorts: string[]): JSWapiRequest;
|
|
46
|
+
putAggregatedColumns(columns: any): JSWapiRequest;
|
|
47
|
+
addColumns(columns: string[]): JSWapiRequest;
|
|
48
|
+
putNestedColumns(columns: Record<string, any>): JSWapiRequest;
|
|
49
|
+
putFilters(filters: IFiltersCollection): JSWapiRequest;
|
|
50
|
+
putParam(params: Record<string, any>): JSWapiRequest;
|
|
51
|
+
removeSorts(sortsNames: string[]): JSWapiRequest;
|
|
52
|
+
removeColumns(columnsNames: string[]): JSWapiRequest;
|
|
53
|
+
removeAggregatedColumns(aggregatedColumnsNames: string[]): JSWapiRequest;
|
|
54
|
+
removeNestedColumns(nestedColumnsNames: string[]): JSWapiRequest;
|
|
55
|
+
removeParams(paramsNames: string[]): JSWapiRequest;
|
|
56
|
+
removeFilters(filtersNames: string[]): JSWapiRequest;
|
|
57
|
+
isFilterExists(filterName: string): boolean;
|
|
58
|
+
invoke(): JSWapiResponse;
|
|
59
|
+
newJSWapiInvoker(objectName: string, operName: string): JSWapiInvoker;
|
|
45
60
|
getFirstRows(): number;
|
|
46
61
|
getRowsPerPage(): number;
|
|
47
62
|
getLanguage(): string;
|
|
63
|
+
pdf(): JSWapiPdf;
|
|
64
|
+
xls(): JSWapiXls;
|
|
65
|
+
getMultiFileAsString(...arg: string[]): any;
|
|
66
|
+
getMultiExcelFileAsJson(...arg: string[]): any;
|
|
48
67
|
getRequest(object: string): Record<string, any>[];
|
|
49
68
|
getFilter(filterName: string): any;
|
|
50
69
|
getFilterEqualOneValue(filterName: string): any;
|
|
@@ -61,6 +80,7 @@ declare namespace jsWapi {
|
|
|
61
80
|
setRowsPerPage(number: number): JSWapiRequest;
|
|
62
81
|
setFirstRows(number: number): JSWapiRequest;
|
|
63
82
|
setRequest(request: any): JSWapiRequest;
|
|
83
|
+
putRequest(objectName: string, req: any): JSWapiRequest;
|
|
64
84
|
setHierarchy(parentColumn: string, requestKind?: number): JSWapiRequest;
|
|
65
85
|
};
|
|
66
86
|
type JSWapiResponse = {
|
|
@@ -142,6 +162,79 @@ declare namespace jsWapi {
|
|
|
142
162
|
putJSWapiOper(operation: string, callback: (request: JSWapiRequest, response: JSWapiResponse) => void): void;
|
|
143
163
|
}
|
|
144
164
|
function setJSWapiObject(init: (object: JSWapiApplication) => void): void;
|
|
165
|
+
type JSWapiPdfLoadParamsObject = {
|
|
166
|
+
object: string;
|
|
167
|
+
field: string;
|
|
168
|
+
keyValue: any;
|
|
169
|
+
callback: (pdf: JSWapiPdfDocument) => void;
|
|
170
|
+
};
|
|
171
|
+
type JSWapiPdfLoadParamsReport = {
|
|
172
|
+
report: {
|
|
173
|
+
type: 'dx' | 'xls';
|
|
174
|
+
name: string;
|
|
175
|
+
params: Record<string, any>;
|
|
176
|
+
} | {
|
|
177
|
+
type: 'tax';
|
|
178
|
+
code: string;
|
|
179
|
+
params: Record<string, any>;
|
|
180
|
+
};
|
|
181
|
+
callback: (pdf: JSWapiPdfDocument) => void;
|
|
182
|
+
};
|
|
183
|
+
type JSWapiPdfLoadParams = JSWapiPdfLoadParamsObject | JSWapiPdfLoadParamsReport;
|
|
184
|
+
type JSWapiStampPosition = {
|
|
185
|
+
page: number;
|
|
186
|
+
x: number;
|
|
187
|
+
y: number;
|
|
188
|
+
};
|
|
189
|
+
interface JSWapiPdfDocument {
|
|
190
|
+
save(params: {
|
|
191
|
+
object: string;
|
|
192
|
+
keyValue: any;
|
|
193
|
+
field: string;
|
|
194
|
+
fileName: string;
|
|
195
|
+
}): void;
|
|
196
|
+
/**
|
|
197
|
+
* На поточний документ накласти печать stampPdf
|
|
198
|
+
* @param stampPdf PDF документ на который будет наложено текущий документ
|
|
199
|
+
* @param params
|
|
200
|
+
* @param params.page номер страницы, на которую накладывать. Если page < 0, то нумерация с конца (т.е. page = -1 - последняя страница)
|
|
201
|
+
* @param params.x координата левого угла в мм
|
|
202
|
+
* @param params.y координата верхнего угла в мм
|
|
203
|
+
*/
|
|
204
|
+
overlay(stampPdf: JSWapiPdfDocument, params: JSWapiStampPosition): void;
|
|
205
|
+
/**
|
|
206
|
+
* Ширина страницы в мм
|
|
207
|
+
* @param pageNumber Номер страницы. Если pageNumber < 0, то нумеровать с конца
|
|
208
|
+
*/
|
|
209
|
+
getPageWidth(pageNumber: number): number;
|
|
210
|
+
/**
|
|
211
|
+
* Высота страницы в мм
|
|
212
|
+
* @param pageNumber Номер страницы. Если pageNumber < 0, то нумеровать с конца
|
|
213
|
+
*/
|
|
214
|
+
getPageHeight(pageNumber: number): number;
|
|
215
|
+
/**
|
|
216
|
+
* Количество страниц
|
|
217
|
+
*/
|
|
218
|
+
getPageCount(): number;
|
|
219
|
+
}
|
|
220
|
+
interface JSWapiPdf {
|
|
221
|
+
load(params: JSWapiPdfLoadParams): JSWapiPdf;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Вернуть содержимое meta-Excel в виде JSON-объекта:
|
|
225
|
+
{
|
|
226
|
+
"sheet123": {
|
|
227
|
+
"TaxBillHeader" : [
|
|
228
|
+
{"R001G3": "", "R01G1": "", ...}, ...
|
|
229
|
+
], ...
|
|
230
|
+
}, ...
|
|
231
|
+
}
|
|
232
|
+
*
|
|
233
|
+
* @param fileRequestId имя поля в multipart-запросе с Excel-файлом
|
|
234
|
+
*/
|
|
235
|
+
interface JSWapiXls {
|
|
236
|
+
getMetaExcelFileAsJson(fileRequestId: string): JSWapiPdf;
|
|
237
|
+
}
|
|
145
238
|
}
|
|
146
239
|
|
|
147
240
|
declare class FileLink {
|
|
@@ -258,10 +351,34 @@ declare class ApiInvoker implements IInvoker$1<ApiInvoker> {
|
|
|
258
351
|
invoke(): ApiResponse;
|
|
259
352
|
}
|
|
260
353
|
|
|
354
|
+
type SourceTypeReport = {
|
|
355
|
+
sourceType: 'report';
|
|
356
|
+
config: jsWapi.JSWapiPdfLoadParamsReport['report'];
|
|
357
|
+
};
|
|
358
|
+
type SourceTypeObject = {
|
|
359
|
+
sourceType: 'object';
|
|
360
|
+
config: Omit<jsWapi.JSWapiPdfLoadParamsObject, 'callback'>;
|
|
361
|
+
};
|
|
362
|
+
type SourceTypeList = SourceTypeReport | SourceTypeObject;
|
|
363
|
+
type SaveConfig = {
|
|
364
|
+
object: string;
|
|
365
|
+
keyValue: any;
|
|
366
|
+
field: string;
|
|
367
|
+
fileName: string;
|
|
368
|
+
};
|
|
369
|
+
type WaterMarkSourceType = SourceTypeList & {
|
|
370
|
+
position: ((sourcePdf: jsWapi.JSWapiPdfDocument, stampPdf: jsWapi.JSWapiPdfDocument) => jsWapi.JSWapiStampPosition) | jsWapi.JSWapiStampPosition;
|
|
371
|
+
};
|
|
372
|
+
type AddWatermarkToPdfParams = {
|
|
373
|
+
sourcePdf: SourceTypeList;
|
|
374
|
+
watermarks: Array<WaterMarkSourceType>;
|
|
375
|
+
saveConfig: SaveConfig;
|
|
376
|
+
};
|
|
377
|
+
|
|
261
378
|
declare class ApiRequest {
|
|
262
379
|
private _jsWapiRequest;
|
|
263
380
|
private readonly _objectName;
|
|
264
|
-
constructor(jsWapiRequest:
|
|
381
|
+
constructor(jsWapiRequest: jsWapi.JSWapiRequest, objectName: string);
|
|
265
382
|
get objectName(): string;
|
|
266
383
|
get columns(): string[];
|
|
267
384
|
get aggregatedColumns(): IMappedCollection;
|
|
@@ -336,8 +453,14 @@ declare class ApiRequest {
|
|
|
336
453
|
removeFilters(filtersNames: string[]): ApiRequest;
|
|
337
454
|
hasFilter(filterName: string): boolean;
|
|
338
455
|
invoke(): ApiResponse;
|
|
339
|
-
newJSWapiInvoker(objectName: string, operName: string):
|
|
456
|
+
newJSWapiInvoker(objectName: string, operName: string): jsWapi.JSWapiInvoker;
|
|
340
457
|
newApiInvoker(objectName: string, operName: string): ApiInvoker;
|
|
458
|
+
addWatermarkToPdf(params: AddWatermarkToPdfParams): void;
|
|
459
|
+
/**
|
|
460
|
+
* Вернуть содержимое meta-Excel в виде JSON-объекта:
|
|
461
|
+
* @param fileRequestId имя поля в multipart-запросе с Excel-файлом
|
|
462
|
+
*/
|
|
463
|
+
getMetaExcelFileAsJson(fileRequestId: string): Record<string, any>;
|
|
341
464
|
/**
|
|
342
465
|
* Переводит и форматирует строку из словаря переводов согласно текущего языка приложения.
|
|
343
466
|
* @param msgKey
|
|
@@ -567,6 +567,76 @@ var ApiCore = class {
|
|
|
567
567
|
*/
|
|
568
568
|
};
|
|
569
569
|
|
|
570
|
+
// src/typeUtils.ts
|
|
571
|
+
var types = {
|
|
572
|
+
"[object Array]": "array",
|
|
573
|
+
"[object Date]": "date",
|
|
574
|
+
"[object Object]": "object",
|
|
575
|
+
"[object String]": "string",
|
|
576
|
+
"[object Null]": "null"
|
|
577
|
+
};
|
|
578
|
+
var type = function(object) {
|
|
579
|
+
const typeOfObject = Object.prototype.toString.call(object);
|
|
580
|
+
return typeof object === "object" ? types[typeOfObject] || "object" : typeof object;
|
|
581
|
+
};
|
|
582
|
+
var isDate = function(object) {
|
|
583
|
+
return type(object) === "date";
|
|
584
|
+
};
|
|
585
|
+
var isUndefined = (val) => val === void 0;
|
|
586
|
+
var isDefined = function(value) {
|
|
587
|
+
return value !== null && !isUndefined(value);
|
|
588
|
+
};
|
|
589
|
+
var isFunction = function(object) {
|
|
590
|
+
return typeof object === "function";
|
|
591
|
+
};
|
|
592
|
+
var isObject = function(value) {
|
|
593
|
+
return type(value) === "object" && !isNull(value) && !isArray(value) && !isDate(value);
|
|
594
|
+
};
|
|
595
|
+
var isNull = function(value) {
|
|
596
|
+
return type(value) === "null";
|
|
597
|
+
};
|
|
598
|
+
var isArray = function(value) {
|
|
599
|
+
return type(value) === "array";
|
|
600
|
+
};
|
|
601
|
+
|
|
602
|
+
// src/classes/addWaterMark.ts
|
|
603
|
+
var convertSourceTypeToLoadParams = (params) => {
|
|
604
|
+
if (params.sourceType === "report") {
|
|
605
|
+
return {
|
|
606
|
+
report: params.config
|
|
607
|
+
};
|
|
608
|
+
}
|
|
609
|
+
return params.config;
|
|
610
|
+
};
|
|
611
|
+
function addWatermarkToPdf(jsWapiRequest, params) {
|
|
612
|
+
params.watermarks.forEach((watermark) => {
|
|
613
|
+
if (!isDefined(watermark.position))
|
|
614
|
+
throw new Error("Position is undefined for watermark");
|
|
615
|
+
if (!isObject(watermark.position) && !isFunction(watermark.position))
|
|
616
|
+
throw new Error("Position must be type of object or function");
|
|
617
|
+
});
|
|
618
|
+
jsWapiRequest.pdf().load({
|
|
619
|
+
...convertSourceTypeToLoadParams(params.sourcePdf),
|
|
620
|
+
callback: (origPdf) => {
|
|
621
|
+
params.watermarks.forEach((watermark) => {
|
|
622
|
+
jsWapiRequest.pdf().load({
|
|
623
|
+
...convertSourceTypeToLoadParams(watermark),
|
|
624
|
+
callback: (stampPdf) => {
|
|
625
|
+
if (isObject(watermark.position)) {
|
|
626
|
+
const position = watermark.position;
|
|
627
|
+
origPdf.overlay(stampPdf, { page: position.page, x: position.x, y: position.y });
|
|
628
|
+
}
|
|
629
|
+
if (typeof watermark.position === "function") {
|
|
630
|
+
origPdf.overlay(stampPdf, watermark.position(origPdf, stampPdf));
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
});
|
|
634
|
+
});
|
|
635
|
+
origPdf.save(params.saveConfig);
|
|
636
|
+
}
|
|
637
|
+
});
|
|
638
|
+
}
|
|
639
|
+
|
|
570
640
|
// src/classes/ApiRequest.ts
|
|
571
641
|
var ApiRequest = class {
|
|
572
642
|
constructor(jsWapiRequest, objectName) {
|
|
@@ -797,6 +867,16 @@ var ApiRequest = class {
|
|
|
797
867
|
newApiInvoker(objectName, operName) {
|
|
798
868
|
return new ApiInvoker(this.newJSWapiInvoker(objectName, operName), objectName);
|
|
799
869
|
}
|
|
870
|
+
addWatermarkToPdf(params) {
|
|
871
|
+
addWatermarkToPdf(this._jsWapiRequest, params);
|
|
872
|
+
}
|
|
873
|
+
/**
|
|
874
|
+
* Вернуть содержимое meta-Excel в виде JSON-объекта:
|
|
875
|
+
* @param fileRequestId имя поля в multipart-запросе с Excel-файлом
|
|
876
|
+
*/
|
|
877
|
+
getMetaExcelFileAsJson(fileRequestId2) {
|
|
878
|
+
return this._jsWapiRequest.xls().getMetaExcelFileAsJson(fileRequestId2);
|
|
879
|
+
}
|
|
800
880
|
/**
|
|
801
881
|
* Переводит и форматирует строку из словаря переводов согласно текущего языка приложения.
|
|
802
882
|
* @param msgKey
|
|
@@ -567,6 +567,76 @@ var ApiCore = class {
|
|
|
567
567
|
*/
|
|
568
568
|
};
|
|
569
569
|
|
|
570
|
+
// src/typeUtils.ts
|
|
571
|
+
var types = {
|
|
572
|
+
"[object Array]": "array",
|
|
573
|
+
"[object Date]": "date",
|
|
574
|
+
"[object Object]": "object",
|
|
575
|
+
"[object String]": "string",
|
|
576
|
+
"[object Null]": "null"
|
|
577
|
+
};
|
|
578
|
+
var type = function(object) {
|
|
579
|
+
const typeOfObject = Object.prototype.toString.call(object);
|
|
580
|
+
return typeof object === "object" ? types[typeOfObject] || "object" : typeof object;
|
|
581
|
+
};
|
|
582
|
+
var isDate = function(object) {
|
|
583
|
+
return type(object) === "date";
|
|
584
|
+
};
|
|
585
|
+
var isUndefined = (val) => val === void 0;
|
|
586
|
+
var isDefined = function(value) {
|
|
587
|
+
return value !== null && !isUndefined(value);
|
|
588
|
+
};
|
|
589
|
+
var isFunction = function(object) {
|
|
590
|
+
return typeof object === "function";
|
|
591
|
+
};
|
|
592
|
+
var isObject = function(value) {
|
|
593
|
+
return type(value) === "object" && !isNull(value) && !isArray(value) && !isDate(value);
|
|
594
|
+
};
|
|
595
|
+
var isNull = function(value) {
|
|
596
|
+
return type(value) === "null";
|
|
597
|
+
};
|
|
598
|
+
var isArray = function(value) {
|
|
599
|
+
return type(value) === "array";
|
|
600
|
+
};
|
|
601
|
+
|
|
602
|
+
// src/classes/addWaterMark.ts
|
|
603
|
+
var convertSourceTypeToLoadParams = (params) => {
|
|
604
|
+
if (params.sourceType === "report") {
|
|
605
|
+
return {
|
|
606
|
+
report: params.config
|
|
607
|
+
};
|
|
608
|
+
}
|
|
609
|
+
return params.config;
|
|
610
|
+
};
|
|
611
|
+
function addWatermarkToPdf(jsWapiRequest, params) {
|
|
612
|
+
params.watermarks.forEach((watermark) => {
|
|
613
|
+
if (!isDefined(watermark.position))
|
|
614
|
+
throw new Error("Position is undefined for watermark");
|
|
615
|
+
if (!isObject(watermark.position) && !isFunction(watermark.position))
|
|
616
|
+
throw new Error("Position must be type of object or function");
|
|
617
|
+
});
|
|
618
|
+
jsWapiRequest.pdf().load({
|
|
619
|
+
...convertSourceTypeToLoadParams(params.sourcePdf),
|
|
620
|
+
callback: (origPdf) => {
|
|
621
|
+
params.watermarks.forEach((watermark) => {
|
|
622
|
+
jsWapiRequest.pdf().load({
|
|
623
|
+
...convertSourceTypeToLoadParams(watermark),
|
|
624
|
+
callback: (stampPdf) => {
|
|
625
|
+
if (isObject(watermark.position)) {
|
|
626
|
+
const position = watermark.position;
|
|
627
|
+
origPdf.overlay(stampPdf, { page: position.page, x: position.x, y: position.y });
|
|
628
|
+
}
|
|
629
|
+
if (typeof watermark.position === "function") {
|
|
630
|
+
origPdf.overlay(stampPdf, watermark.position(origPdf, stampPdf));
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
});
|
|
634
|
+
});
|
|
635
|
+
origPdf.save(params.saveConfig);
|
|
636
|
+
}
|
|
637
|
+
});
|
|
638
|
+
}
|
|
639
|
+
|
|
570
640
|
// src/classes/ApiRequest.ts
|
|
571
641
|
var ApiRequest = class {
|
|
572
642
|
constructor(jsWapiRequest, objectName) {
|
|
@@ -797,6 +867,16 @@ var ApiRequest = class {
|
|
|
797
867
|
newApiInvoker(objectName, operName) {
|
|
798
868
|
return new ApiInvoker(this.newJSWapiInvoker(objectName, operName), objectName);
|
|
799
869
|
}
|
|
870
|
+
addWatermarkToPdf(params) {
|
|
871
|
+
addWatermarkToPdf(this._jsWapiRequest, params);
|
|
872
|
+
}
|
|
873
|
+
/**
|
|
874
|
+
* Вернуть содержимое meta-Excel в виде JSON-объекта:
|
|
875
|
+
* @param fileRequestId имя поля в multipart-запросе с Excel-файлом
|
|
876
|
+
*/
|
|
877
|
+
getMetaExcelFileAsJson(fileRequestId2) {
|
|
878
|
+
return this._jsWapiRequest.xls().getMetaExcelFileAsJson(fileRequestId2);
|
|
879
|
+
}
|
|
800
880
|
/**
|
|
801
881
|
* Переводит и форматирует строку из словаря переводов согласно текущего языка приложения.
|
|
802
882
|
* @param msgKey
|