@ironsoftware/ironpdf 2026.3.1 → 2026.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.
Files changed (90) hide show
  1. package/package.json +3 -3
  2. package/src/index.d.ts +3 -0
  3. package/src/index.d.ts.map +1 -1
  4. package/src/index.js +6 -2
  5. package/src/index.js.map +1 -1
  6. package/src/index.ts +4 -2
  7. package/src/internal/IronPdfEngine.ProtoFiles/chrome_render.proto +6 -0
  8. package/src/internal/IronPdfEngine.ProtoFiles/iron_pdf_service.proto +2 -1
  9. package/src/internal/IronPdfEngine.ProtoFiles/qpdf.proto +16 -0
  10. package/src/internal/generated_proto/iron_pdf_service.d.ts +614 -305
  11. package/src/internal/generated_proto/iron_pdf_service.d.ts.map +1 -1
  12. package/src/internal/generated_proto/iron_pdf_service.ts +614 -305
  13. package/src/internal/generated_proto/ironpdfengineproto/ChromePdfRenderOptionsP.d.ts +15 -0
  14. package/src/internal/generated_proto/ironpdfengineproto/ChromePdfRenderOptionsP.d.ts.map +1 -1
  15. package/src/internal/generated_proto/ironpdfengineproto/ChromePdfRenderOptionsP.ts +15 -0
  16. package/src/internal/generated_proto/ironpdfengineproto/IronPdfService.d.ts +14 -0
  17. package/src/internal/generated_proto/ironpdfengineproto/IronPdfService.d.ts.map +1 -1
  18. package/src/internal/generated_proto/ironpdfengineproto/IronPdfService.ts +18 -0
  19. package/src/internal/generated_proto/ironpdfengineproto/QPdfLinearizeInMemoryRequestIdP.d.ts +10 -0
  20. package/src/internal/generated_proto/ironpdfengineproto/QPdfLinearizeInMemoryRequestIdP.d.ts.map +1 -0
  21. package/src/internal/generated_proto/ironpdfengineproto/QPdfLinearizeInMemoryRequestIdP.js +4 -0
  22. package/src/internal/generated_proto/ironpdfengineproto/QPdfLinearizeInMemoryRequestIdP.js.map +1 -0
  23. package/src/internal/generated_proto/ironpdfengineproto/QPdfLinearizeInMemoryRequestIdP.ts +13 -0
  24. package/src/internal/generated_proto/ironpdfengineproto/QPdfLinearizeInMemoryRequestStreamP.d.ts +18 -0
  25. package/src/internal/generated_proto/ironpdfengineproto/QPdfLinearizeInMemoryRequestStreamP.d.ts.map +1 -0
  26. package/src/internal/generated_proto/ironpdfengineproto/QPdfLinearizeInMemoryRequestStreamP.js +4 -0
  27. package/src/internal/generated_proto/ironpdfengineproto/QPdfLinearizeInMemoryRequestStreamP.js.map +1 -0
  28. package/src/internal/generated_proto/ironpdfengineproto/QPdfLinearizeInMemoryRequestStreamP.ts +21 -0
  29. package/src/internal/grpc_layer/chrome/converter.d.ts +10 -0
  30. package/src/internal/grpc_layer/chrome/converter.d.ts.map +1 -1
  31. package/src/internal/grpc_layer/chrome/converter.js +61 -2
  32. package/src/internal/grpc_layer/chrome/converter.js.map +1 -1
  33. package/src/internal/grpc_layer/chrome/converter.ts +67 -0
  34. package/src/internal/grpc_layer/pdfium/annotations.d.ts +30 -0
  35. package/src/internal/grpc_layer/pdfium/annotations.d.ts.map +1 -0
  36. package/src/internal/grpc_layer/pdfium/annotations.js +161 -0
  37. package/src/internal/grpc_layer/pdfium/annotations.js.map +1 -0
  38. package/src/internal/grpc_layer/pdfium/annotations.ts +190 -0
  39. package/src/internal/grpc_layer/pdfium/bookmarks.d.ts +7 -0
  40. package/src/internal/grpc_layer/pdfium/bookmarks.d.ts.map +1 -0
  41. package/src/internal/grpc_layer/pdfium/bookmarks.js +53 -0
  42. package/src/internal/grpc_layer/pdfium/bookmarks.js.map +1 -0
  43. package/src/internal/grpc_layer/pdfium/bookmarks.ts +50 -0
  44. package/src/internal/grpc_layer/pdfium/compress.d.ts +1 -0
  45. package/src/internal/grpc_layer/pdfium/compress.d.ts.map +1 -1
  46. package/src/internal/grpc_layer/pdfium/compress.js +31 -1
  47. package/src/internal/grpc_layer/pdfium/compress.js.map +1 -1
  48. package/src/internal/grpc_layer/pdfium/compress.ts +42 -0
  49. package/src/internal/grpc_layer/pdfium/linearize.d.ts +48 -0
  50. package/src/internal/grpc_layer/pdfium/linearize.d.ts.map +1 -0
  51. package/src/internal/grpc_layer/pdfium/linearize.js +309 -0
  52. package/src/internal/grpc_layer/pdfium/linearize.js.map +1 -0
  53. package/src/internal/grpc_layer/pdfium/linearize.ts +338 -0
  54. package/src/internal/grpc_layer/pdfium/pdfa.d.ts +1 -0
  55. package/src/internal/grpc_layer/pdfium/pdfa.d.ts.map +1 -1
  56. package/src/internal/grpc_layer/pdfium/pdfa.js +22 -1
  57. package/src/internal/grpc_layer/pdfium/pdfa.js.map +1 -1
  58. package/src/internal/grpc_layer/pdfium/pdfa.ts +26 -0
  59. package/src/internal/grpc_layer/pdfium/signing.d.ts +2 -1
  60. package/src/internal/grpc_layer/pdfium/signing.d.ts.map +1 -1
  61. package/src/internal/grpc_layer/pdfium/signing.js +38 -1
  62. package/src/internal/grpc_layer/pdfium/signing.js.map +1 -1
  63. package/src/internal/grpc_layer/pdfium/signing.ts +44 -1
  64. package/src/internal/zod/renderSchema.d.ts.map +1 -1
  65. package/src/internal/zod/renderSchema.js +6 -1
  66. package/src/internal/zod/renderSchema.js.map +1 -1
  67. package/src/internal/zod/renderSchema.ts +6 -1
  68. package/src/public/annotation.d.ts +166 -0
  69. package/src/public/annotation.d.ts.map +1 -0
  70. package/src/public/annotation.js +61 -0
  71. package/src/public/annotation.js.map +1 -0
  72. package/src/public/annotation.ts +166 -0
  73. package/src/public/bookmark.d.ts +25 -0
  74. package/src/public/bookmark.d.ts.map +1 -0
  75. package/src/public/bookmark.js +3 -0
  76. package/src/public/bookmark.js.map +1 -0
  77. package/src/public/bookmark.ts +28 -0
  78. package/src/public/pdfDocument.d.ts +194 -2
  79. package/src/public/pdfDocument.d.ts.map +1 -1
  80. package/src/public/pdfDocument.js +388 -1
  81. package/src/public/pdfDocument.js.map +1 -1
  82. package/src/public/pdfDocument.ts +427 -4
  83. package/src/public/render.d.ts +104 -0
  84. package/src/public/render.d.ts.map +1 -1
  85. package/src/public/render.js +35 -1
  86. package/src/public/render.js.map +1 -1
  87. package/src/public/render.ts +101 -0
  88. package/src/public/signature.d.ts +33 -0
  89. package/src/public/signature.d.ts.map +1 -1
  90. package/src/public/signature.ts +34 -0
@@ -0,0 +1,338 @@
1
+ import * as grpc from "@grpc/grpc-js";
2
+ import {Buffer} from "buffer";
3
+ import * as fs from "fs";
4
+ import * as os from "os";
5
+ import * as path from "path";
6
+ import {PassThrough, Readable} from "stream";
7
+ import {Access} from "../../access";
8
+ import {IronPdfServiceClient} from "../../generated_proto/ironpdfengineproto/IronPdfService";
9
+ import {BytesResultStreamP__Output} from "../../generated_proto/ironpdfengineproto/BytesResultStreamP";
10
+ import {BooleanResultP__Output} from "../../generated_proto/ironpdfengineproto/BooleanResultP";
11
+ import {
12
+ QPdfIsLinearizedRequestStreamP
13
+ } from "../../generated_proto/ironpdfengineproto/QPdfIsLinearizedRequestStreamP";
14
+ import {
15
+ QPdfLinearizeInMemoryRequestStreamP
16
+ } from "../../generated_proto/ironpdfengineproto/QPdfLinearizeInMemoryRequestStreamP";
17
+ import {
18
+ QPdfSaveAsLinearizedFromBytesRequestStreamP
19
+ } from "../../generated_proto/ironpdfengineproto/QPdfSaveAsLinearizedFromBytesRequestStreamP";
20
+ import {LinearizationMode} from "../../../public/render";
21
+ import {chunkBuffer, handleRemoteException} from "../util";
22
+
23
+ /**
24
+ * Check if the given PDF bytes represent a linearized ("Fast Web View") PDF.
25
+ */
26
+ export async function isLinearizedFromBytes(
27
+ pdfBytes: Buffer,
28
+ password = ""
29
+ ): Promise<boolean> {
30
+ const client: IronPdfServiceClient = await Access.ensureConnection();
31
+
32
+ return new Promise(
33
+ (resolve: (_: boolean) => void, reject: (errorMsg: string) => void) => {
34
+ const stream: grpc.ClientWritableStream<QPdfIsLinearizedRequestStreamP> =
35
+ client.QPdf_Linearization_IsLinearized(
36
+ (err: grpc.ServiceError | null, value: BooleanResultP__Output | undefined) => {
37
+ if (err) {
38
+ reject(`${err.name}/n${err.message}`);
39
+ } else if (value) {
40
+ if (value.exception) {
41
+ handleRemoteException(value.exception, reject);
42
+ return;
43
+ }
44
+ resolve(value.result ?? false);
45
+ } else {
46
+ reject("No response from IronPdfEngine for isLinearized");
47
+ }
48
+ }
49
+ );
50
+
51
+ stream.write({info: {password: password ?? ""}});
52
+ chunkBuffer(pdfBytes).forEach((chunk) => {
53
+ stream.write({pdfBytesChunk: chunk});
54
+ });
55
+ stream.end();
56
+ }
57
+ );
58
+ }
59
+
60
+ /**
61
+ * Linearize a PDF held by the engine (by document id) and return the linearized bytes
62
+ * via the {@code QPdf_Linearization_LinearizeInMemoryFromId} unary-request/server-streaming RPC.
63
+ */
64
+ export async function linearizeInMemoryFromId(
65
+ id: string,
66
+ password = ""
67
+ ): Promise<Buffer> {
68
+ const client: IronPdfServiceClient = await Access.ensureConnection();
69
+
70
+ return new Promise(
71
+ (resolve: (_: Buffer) => void, reject: (errorMsg: string) => void) => {
72
+ const stream: grpc.ClientReadableStream<BytesResultStreamP__Output> =
73
+ client.QPdf_Linearization_LinearizeInMemoryFromId({
74
+ document: {documentId: id},
75
+ password: password ?? "",
76
+ });
77
+
78
+ const buffers: Buffer[] = [];
79
+ stream.on("data", (data: BytesResultStreamP__Output) => {
80
+ if (data.exception) {
81
+ handleRemoteException(data.exception, reject);
82
+ } else if (data.resultChunk) {
83
+ buffers.push(data.resultChunk);
84
+ }
85
+ });
86
+
87
+ stream.on("error", (err: Error) => {
88
+ reject(`${err.name}/n${err.message}`);
89
+ });
90
+
91
+ stream.on("end", () => {
92
+ resolve(Buffer.concat(buffers));
93
+ });
94
+ }
95
+ );
96
+ }
97
+
98
+ /**
99
+ * Linearize a PDF held by the engine (by document id) and stream the linearized bytes
100
+ * as a {@link Readable}. Useful for piping to HTTP responses or file streams without
101
+ * buffering the entire PDF in memory.
102
+ */
103
+ export async function linearizeInMemoryFromIdStream(
104
+ id: string,
105
+ password = ""
106
+ ): Promise<Readable> {
107
+ const client: IronPdfServiceClient = await Access.ensureConnection();
108
+
109
+ const passThrough = new PassThrough();
110
+
111
+ const stream: grpc.ClientReadableStream<BytesResultStreamP__Output> =
112
+ client.QPdf_Linearization_LinearizeInMemoryFromId({
113
+ document: {documentId: id},
114
+ password: password ?? "",
115
+ });
116
+
117
+ stream.on("data", (data: BytesResultStreamP__Output) => {
118
+ if (data.exception) {
119
+ passThrough.destroy(
120
+ new Error(`${data.exception.message}/n${data.exception.remoteStackTrace}`)
121
+ );
122
+ } else if (data.resultChunk) {
123
+ passThrough.write(data.resultChunk);
124
+ }
125
+ });
126
+
127
+ stream.on("error", (err: Error) => {
128
+ passThrough.destroy(err);
129
+ });
130
+
131
+ stream.on("end", () => {
132
+ passThrough.end();
133
+ });
134
+
135
+ return passThrough;
136
+ }
137
+
138
+ /**
139
+ * Linearize a PDF provided as raw bytes and return the linearized bytes via the
140
+ * bidirectional streaming {@code QPdf_Linearization_LinearizeInMemory} RPC.
141
+ */
142
+ export async function linearizeInMemoryFromBytes(
143
+ pdfBytes: Buffer,
144
+ password = ""
145
+ ): Promise<Buffer> {
146
+ const client: IronPdfServiceClient = await Access.ensureConnection();
147
+
148
+ return new Promise(
149
+ (resolve: (_: Buffer) => void, reject: (errorMsg: string) => void) => {
150
+ const stream: grpc.ClientDuplexStream<
151
+ QPdfLinearizeInMemoryRequestStreamP,
152
+ BytesResultStreamP__Output
153
+ > = client.QPdf_Linearization_LinearizeInMemory();
154
+
155
+ const buffers: Buffer[] = [];
156
+ stream.on("data", (data: BytesResultStreamP__Output) => {
157
+ if (data.exception) {
158
+ handleRemoteException(data.exception, reject);
159
+ } else if (data.resultChunk) {
160
+ buffers.push(data.resultChunk);
161
+ }
162
+ });
163
+
164
+ stream.on("error", (err: Error) => {
165
+ reject(`${err.name}/n${err.message}`);
166
+ });
167
+
168
+ stream.on("end", () => {
169
+ resolve(Buffer.concat(buffers));
170
+ });
171
+
172
+ stream.write({info: {password: password ?? ""}});
173
+ chunkBuffer(pdfBytes).forEach((chunk) => {
174
+ stream.write({pdfBytesChunk: chunk});
175
+ });
176
+ stream.end();
177
+ }
178
+ );
179
+ }
180
+
181
+ /**
182
+ * Core linearization logic shared across all linearization entry points. Implements the
183
+ * {@link LinearizationMode} strategy pattern. Mirrors {@code PdfDocument.LinearizePdfCore}
184
+ * on the C# side.
185
+ */
186
+ export async function linearizeCoreFromBytes(
187
+ pdfBytes: Buffer,
188
+ password = "",
189
+ mode: LinearizationMode = LinearizationMode.Automatic
190
+ ): Promise<Buffer> {
191
+ if (!pdfBytes || pdfBytes.length === 0) {
192
+ throw new Error("The PDF bytes cannot be null or empty.");
193
+ }
194
+
195
+ if (mode === LinearizationMode.InMemory) {
196
+ return linearizeInMemoryFromBytes(pdfBytes, password);
197
+ }
198
+
199
+ if (mode === LinearizationMode.FileBased) {
200
+ // Explicit FileBased — let any disk error bubble up.
201
+ return linearizeViaTempFile(pdfBytes, password);
202
+ }
203
+
204
+ // Automatic mode
205
+ if (canWriteToTemp()) {
206
+ try {
207
+ return await linearizeViaTempFile(pdfBytes, password);
208
+ } catch (e) {
209
+ console.warn(
210
+ `Automatic Linearization: Disk attempt failed (${(e as Error).message}). ` +
211
+ "Falling back to Memory linearization."
212
+ );
213
+ return linearizeInMemoryFromBytes(pdfBytes, password);
214
+ }
215
+ }
216
+ console.warn("Automatic Linearization: No write permission detected. Using Memory linearization.");
217
+ return linearizeInMemoryFromBytes(pdfBytes, password);
218
+ }
219
+
220
+ /**
221
+ * Variant of {@link linearizeCoreFromBytes} that starts from an open document on the engine.
222
+ * For {@link LinearizationMode.InMemory} we use the cheap document-id RPC; for the disk-based
223
+ * paths we have to fetch the bytes once and delegate to {@link linearizeCoreFromBytes}.
224
+ */
225
+ export async function linearizeCoreFromId(
226
+ id: string,
227
+ getBytes: () => Promise<Buffer>,
228
+ password = "",
229
+ mode: LinearizationMode = LinearizationMode.Automatic
230
+ ): Promise<Buffer> {
231
+ if (mode === LinearizationMode.InMemory) {
232
+ return linearizeInMemoryFromId(id, password);
233
+ }
234
+ const pdfBytes = await getBytes();
235
+ return linearizeCoreFromBytes(pdfBytes, password, mode);
236
+ }
237
+
238
+ /**
239
+ * Linearize via the engine's file-based RPC and persist the result through a client-side
240
+ * temporary file. The client-side disk write is the difference between this and
241
+ * {@link linearizeInMemoryFromBytes} — when the client filesystem is read-only,
242
+ * {@code FileBased} mode fails here so {@link LinearizationMode.Automatic} can fall back.
243
+ *
244
+ * Mirrors C# {@code PdfDocument.LinearizeViaTempFile}.
245
+ */
246
+ async function linearizeViaTempFile(pdfBytes: Buffer, password: string): Promise<Buffer> {
247
+ const linearized = await saveAsLinearizedFromBytes(pdfBytes, "", password);
248
+ const tempPath = path.join(
249
+ os.tmpdir(),
250
+ `ironpdf-linearize-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2, 10)}.pdf`
251
+ );
252
+ try {
253
+ fs.writeFileSync(tempPath, linearized);
254
+ return fs.readFileSync(tempPath);
255
+ } finally {
256
+ try {
257
+ if (fs.existsSync(tempPath)) {
258
+ fs.unlinkSync(tempPath);
259
+ }
260
+ } catch {
261
+ // best-effort cleanup
262
+ }
263
+ }
264
+ }
265
+
266
+ /**
267
+ * Probe whether the current process can create files in the system temp directory.
268
+ */
269
+ function canWriteToTemp(): boolean {
270
+ const probePath = path.join(
271
+ os.tmpdir(),
272
+ `ironpdf-probe-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2, 10)}.tmp`
273
+ );
274
+ try {
275
+ fs.writeFileSync(probePath, "");
276
+ return true;
277
+ } catch {
278
+ return false;
279
+ } finally {
280
+ try {
281
+ if (fs.existsSync(probePath)) {
282
+ fs.unlinkSync(probePath);
283
+ }
284
+ } catch {
285
+ // best-effort cleanup
286
+ }
287
+ }
288
+ }
289
+
290
+ /**
291
+ * Linearize a PDF provided as raw bytes and save the result to disk via the file-based
292
+ * streaming {@code QPdf_Linearization_SaveAsLinearizedFromBytes} RPC.
293
+ *
294
+ * Mirrors the in-memory behavior used by {@link compressInMemory} in {@code compress.ts}:
295
+ * the engine streams the linearized bytes back, and we concatenate and persist them
296
+ * locally at {@code outputPath}.
297
+ */
298
+ export async function saveAsLinearizedFromBytes(
299
+ pdfBytes: Buffer,
300
+ outputPath: string,
301
+ password = ""
302
+ ): Promise<Buffer> {
303
+ const client: IronPdfServiceClient = await Access.ensureConnection();
304
+
305
+ return new Promise(
306
+ (resolve: (_: Buffer) => void, reject: (errorMsg: string) => void) => {
307
+ const stream: grpc.ClientDuplexStream<
308
+ QPdfSaveAsLinearizedFromBytesRequestStreamP,
309
+ BytesResultStreamP__Output
310
+ > = client.QPdf_Linearization_SaveAsLinearizedFromBytes();
311
+
312
+ const buffers: Buffer[] = [];
313
+ stream.on("data", (data: BytesResultStreamP__Output) => {
314
+ if (data.exception) {
315
+ handleRemoteException(data.exception, reject);
316
+ } else if (data.resultChunk) {
317
+ buffers.push(data.resultChunk);
318
+ }
319
+ });
320
+
321
+ stream.on("error", (err: Error) => {
322
+ reject(`${err.name}/n${err.message}`);
323
+ });
324
+
325
+ stream.on("end", () => {
326
+ resolve(Buffer.concat(buffers));
327
+ });
328
+
329
+ stream.write({
330
+ info: {outputPath: outputPath, password: password ?? ""},
331
+ });
332
+ chunkBuffer(pdfBytes).forEach((chunk) => {
333
+ stream.write({pdfBytesChunk: chunk});
334
+ });
335
+ stream.end();
336
+ }
337
+ );
338
+ }
@@ -15,4 +15,5 @@ export declare enum PdfUAVersions {
15
15
  }
16
16
  export declare function toPdfA(id: string, pdfaVersion: PdfAVersions, customICCFilePath?: string): Promise<void>;
17
17
  export declare function toPdfUA(id: string, naturalLanguages: number, pdfUaVersion?: PdfUAVersions): Promise<void>;
18
+ export declare function toPdfUAForScreenReader(id: string, htmlDom: string, naturalLanguages: number): Promise<void>;
18
19
  //# sourceMappingURL=pdfa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdfa.d.ts","sourceRoot":"","sources":["pdfa.ts"],"names":[],"mappings":"AAYA,oBAAY,YAAY;IACvB,MAAM,IAAI;IACV,MAAM,IAAI;IACV,MAAM,IAAI;IACV,MAAM,IAAI;IACV,MAAM,IAAI;IACV,MAAM,IAAI;IACV,KAAK,IAAI;IACT,MAAM,IAAI;IACV,MAAM,KAAK;CACX;AAED,oBAAY,aAAa;IACxB,MAAM,IAAI;IACV,MAAM,IAAI;CACV;AAED,wBAAsB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C7G;AAGD,wBAAsB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAE,aAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBrI"}
1
+ {"version":3,"file":"pdfa.d.ts","sourceRoot":"","sources":["pdfa.ts"],"names":[],"mappings":"AAYA,oBAAY,YAAY;IACvB,MAAM,IAAI;IACV,MAAM,IAAI;IACV,MAAM,IAAI;IACV,MAAM,IAAI;IACV,MAAM,IAAI;IACV,MAAM,IAAI;IACV,KAAK,IAAI;IACT,MAAM,IAAI;IACV,MAAM,KAAK;CACX;AAED,oBAAY,aAAa;IACxB,MAAM,IAAI;IACV,MAAM,IAAI;CACV;AAED,wBAAsB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C7G;AAGD,wBAAsB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAE,aAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBrI;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBjH"}
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.toPdfUA = exports.toPdfA = exports.PdfUAVersions = exports.PdfAVersions = void 0;
15
+ exports.toPdfUAForScreenReader = exports.toPdfUA = exports.toPdfA = exports.PdfUAVersions = exports.PdfAVersions = void 0;
16
16
  const access_1 = require("../../access");
17
17
  const util_1 = require("../util");
18
18
  const fs_1 = __importDefault(require("fs"));
@@ -95,4 +95,25 @@ function toPdfUA(id, naturalLanguages, pdfUaVersion = PdfUAVersions.PdfUA1) {
95
95
  });
96
96
  }
97
97
  exports.toPdfUA = toPdfUA;
98
+ function toPdfUAForScreenReader(id, htmlDom, naturalLanguages) {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ const client = yield access_1.Access.ensureConnection();
101
+ return new Promise((resolve, reject) => {
102
+ client.Pdfium_ConvertToPdfUAForScreenReader({
103
+ document: { documentId: id },
104
+ htmlDom: htmlDom,
105
+ lang: naturalLanguages,
106
+ }, (err, value) => {
107
+ if (err) {
108
+ reject(`${err.name}/n${err.message}`);
109
+ }
110
+ else if (value) {
111
+ (0, util_1.handleEmptyResultP__Output)(value, reject);
112
+ resolve();
113
+ }
114
+ });
115
+ });
116
+ });
117
+ }
118
+ exports.toPdfUAForScreenReader = toPdfUAForScreenReader;
98
119
  //# sourceMappingURL=pdfa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdfa.js","sourceRoot":"","sources":["pdfa.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,yCAAoC;AAEpC,kCAIiB;AACjB,4CAAoB;AAGpB,IAAY,YAUX;AAVD,WAAY,YAAY;IACvB,mDAAU,CAAA;IACV,mDAAU,CAAA;IACV,mDAAU,CAAA;IACV,mDAAU,CAAA;IACV,mDAAU,CAAA;IACV,mDAAU,CAAA;IACV,iDAAS,CAAA;IACT,mDAAU,CAAA;IACV,oDAAW,CAAA;AACZ,CAAC,EAVW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAUvB;AAED,IAAY,aAGX;AAHD,WAAY,aAAa;IACxB,qDAAU,CAAA;IACV,qDAAU,CAAA;AACX,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB;AAED,SAAsB,MAAM,CAAC,EAAU,EAAE,WAAyB,EAAE,iBAA0B;;QAC7F,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,MAAM,GAAyB,MAAM,eAAM,CAAC,gBAAgB,EAAE,CAAC;QACrE,OAAO,IAAI,OAAO,CACjB,CAAC,OAAmB,EAAE,MAAkC,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,oBAAoB,CACzC,CACC,GAAwB,EACxB,KAA6C,EAC5C,EAAE;gBACH,IAAI,GAAG,EAAE;oBACR,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;iBACtC;qBAAM,IAAI,KAAK,EAAE;oBACjB,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,EAAE;wBACrB,IAAA,4BAAqB,EAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;qBAC/C;yBAAI;wBACJ,OAAO,EAAE,CAAA;qBACT;iBACD;YACF,CAAC,CACD,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC;gBACZ,IAAI,EAAE;oBACL,QAAQ,EAAE,EAAC,UAAU,EAAE,EAAE,EAAC;oBAC1B,WAAW,EAAE,WAAW;iBACxB;aACD,CAAC,CAAA;YAEF,IAAI,iBAAiB,EAAE;gBACtB,IAAA,kBAAW,EAAC,YAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjE,MAAM,CAAC,KAAK,CAAC;wBACZ,aAAa,EAAE,KAAK;qBACpB,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;aACH;iBAAM;gBACN,MAAM,CAAC,KAAK,CAAC;oBACZ,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC9B,CAAC,CAAC;aACH;YACD,MAAM,CAAC,GAAG,EAAE,CAAA;QACb,CAAC,CACD,CAAC;IACH,CAAC;CAAA;AA3CD,wBA2CC;AAGD,SAAsB,OAAO,CAAC,EAAU,EAAE,gBAAwB,EAAE,eAA8B,aAAa,CAAC,MAAM;;QACrH,MAAM,MAAM,GAAyB,MAAM,eAAM,CAAC,gBAAgB,EAAE,CAAC;QACrE,OAAO,IAAI,OAAO,CACjB,CAAC,OAAmB,EAAE,MAAkC,EAAE,EAAE;YAC3D,MAAM,CAAC,qBAAqB,CAC3B;gBACC,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;gBAC5B,IAAI,EAAE,gBAAgB;gBACtB,YAAY,EAAE,YAAY;aAC1B,EACD,CACC,GAAwB,EACxB,KAAuC,EACtC,EAAE;gBACH,IAAI,GAAG,EAAE;oBACR,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;iBACtC;qBAAM,IAAI,KAAK,EAAE;oBACjB,IAAA,iCAA0B,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBAC1C,OAAO,EAAE,CAAC;iBACV;YACF,CAAC,CACD,CAAC;QACH,CAAC,CACD,CAAC;IACH,CAAC;CAAA;AAxBD,0BAwBC"}
1
+ {"version":3,"file":"pdfa.js","sourceRoot":"","sources":["pdfa.ts"],"names":[],"mappings":"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"}
@@ -98,3 +98,29 @@ export async function toPdfUA(id: string, naturalLanguages: number, pdfUaVersion
98
98
  }
99
99
  );
100
100
  }
101
+
102
+ export async function toPdfUAForScreenReader(id: string, htmlDom: string, naturalLanguages: number): Promise<void> {
103
+ const client: IronPdfServiceClient = await Access.ensureConnection();
104
+ return new Promise(
105
+ (resolve: () => void, reject: (errorMsg: string) => void) => {
106
+ client.Pdfium_ConvertToPdfUAForScreenReader(
107
+ {
108
+ document: { documentId: id },
109
+ htmlDom: htmlDom,
110
+ lang: naturalLanguages,
111
+ },
112
+ (
113
+ err: ServiceError | null,
114
+ value: EmptyResultP__Output | undefined
115
+ ) => {
116
+ if (err) {
117
+ reject(`${err.name}/n${err.message}`);
118
+ } else if (value) {
119
+ handleEmptyResultP__Output(value, reject);
120
+ resolve();
121
+ }
122
+ }
123
+ );
124
+ }
125
+ );
126
+ }
@@ -1,4 +1,5 @@
1
- import { DigitalSignature } from "../../../public/signature";
1
+ import { DigitalSignature, VerifiedSignature } from "../../../public/signature";
2
2
  export declare function signPdf(id: string, signature: DigitalSignature): Promise<void>;
3
3
  export declare function getSignatureCount(id: string): Promise<number>;
4
+ export declare function getVerifiedSignatures(id: string): Promise<VerifiedSignature[]>;
4
5
  //# sourceMappingURL=signing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["signing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQ7D,wBAAsB,OAAO,CAC5B,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBnE"}
1
+ {"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["signing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAShF,wBAAsB,OAAO,CAC5B,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBnE;AAED,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAwCpF"}
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.getSignatureCount = exports.signPdf = void 0;
15
+ exports.getVerifiedSignatures = exports.getSignatureCount = exports.signPdf = void 0;
16
16
  const fs_1 = __importDefault(require("fs"));
17
17
  const access_1 = require("../../access");
18
18
  const util_1 = require("../util");
@@ -103,4 +103,41 @@ function getSignatureCount(id) {
103
103
  });
104
104
  }
105
105
  exports.getSignatureCount = getSignatureCount;
106
+ function getVerifiedSignatures(id) {
107
+ return __awaiter(this, void 0, void 0, function* () {
108
+ const client = yield access_1.Access.ensureConnection();
109
+ return new Promise((resolve, reject) => {
110
+ const stream = client.Pdfium_Signature_GetVerifiedSignature((err, value) => {
111
+ var _a, _b;
112
+ if (err) {
113
+ reject(`${err.name}/n${err.message}`);
114
+ }
115
+ else if (value) {
116
+ if (value === null || value === void 0 ? void 0 : value.exception) {
117
+ (0, util_1.handleRemoteException)(value.exception, reject);
118
+ }
119
+ const signatures = ((_b = (_a = value.verifiedSignatures) === null || _a === void 0 ? void 0 : _a.verifiedSignatures) !== null && _b !== void 0 ? _b : []).map((sig) => {
120
+ var _a, _b, _c, _d, _e, _f, _g, _h;
121
+ return ({
122
+ signatureName: (_a = sig.signatureName) !== null && _a !== void 0 ? _a : "",
123
+ signingContact: (_b = sig.signingContact) !== null && _b !== void 0 ? _b : "",
124
+ signingReason: (_c = sig.signingReason) !== null && _c !== void 0 ? _c : "",
125
+ signingLocation: (_d = sig.signingLocation) !== null && _d !== void 0 ? _d : "",
126
+ signingDate: sig.signingDate
127
+ ? new Date(Number((_e = sig.signingDate.seconds) !== null && _e !== void 0 ? _e : 0) * 1000 +
128
+ Math.floor(Number((_f = sig.signingDate.nanos) !== null && _f !== void 0 ? _f : 0) / 1e6))
129
+ : undefined,
130
+ isValid: (_g = sig.isValid) !== null && _g !== void 0 ? _g : false,
131
+ filter: (_h = sig.filter) !== null && _h !== void 0 ? _h : "",
132
+ });
133
+ });
134
+ resolve(signatures);
135
+ }
136
+ });
137
+ stream.write({ info: { document: { documentId: id } } });
138
+ stream.end();
139
+ });
140
+ });
141
+ }
142
+ exports.getVerifiedSignatures = getVerifiedSignatures;
106
143
  //# sourceMappingURL=signing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signing.js","sourceRoot":"","sources":["signing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signing.js","sourceRoot":"","sources":["signing.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import { ServiceError } from "@grpc/grpc-js";
2
2
  import fs from "fs";
3
3
  import { Buffer } from "buffer";
4
- import { DigitalSignature } from "../../../public/signature";
4
+ import { DigitalSignature, VerifiedSignature } from "../../../public/signature";
5
5
  import { IronPdfServiceClient } from "../../generated_proto/ironpdfengineproto/IronPdfService";
6
6
  import { Access } from "../../access";
7
7
  import { PdfiumSignResultP__Output } from "../../generated_proto/ironpdfengineproto/PdfiumSignResultP";
8
8
  import { chunkBuffer, handleRemoteException } from "../util";
9
9
  import { _ironpdfengineproto_PdfiumSignRequestStreamP_InfoP } from "../../generated_proto/ironpdfengineproto/PdfiumSignRequestStreamP";
10
10
  import { PdfiumGetSignatureCountResultP__Output } from "../../generated_proto/ironpdfengineproto/PdfiumGetSignatureCountResultP";
11
+ import { PdfiumGetVerifySignatureResultP__Output } from "../../generated_proto/ironpdfengineproto/PdfiumGetVerifySignatureResultP";
11
12
 
12
13
  export async function signPdf(
13
14
  id: string,
@@ -116,3 +117,45 @@ export async function getSignatureCount(id: string): Promise<number> {
116
117
  }
117
118
  );
118
119
  }
120
+
121
+ export async function getVerifiedSignatures(id: string): Promise<VerifiedSignature[]> {
122
+ const client: IronPdfServiceClient = await Access.ensureConnection();
123
+ return new Promise(
124
+ (resolve: (_: VerifiedSignature[]) => void, reject: (errorMsg: string) => void) => {
125
+ const stream = client.Pdfium_Signature_GetVerifiedSignature(
126
+ (
127
+ err: ServiceError | null,
128
+ value: PdfiumGetVerifySignatureResultP__Output | undefined
129
+ ) => {
130
+ if (err) {
131
+ reject(`${err.name}/n${err.message}`);
132
+ } else if (value) {
133
+ if (value?.exception) {
134
+ handleRemoteException(value.exception, reject);
135
+ }
136
+ const signatures: VerifiedSignature[] = (
137
+ value.verifiedSignatures?.verifiedSignatures ?? []
138
+ ).map((sig) => ({
139
+ signatureName: sig.signatureName ?? "",
140
+ signingContact: sig.signingContact ?? "",
141
+ signingReason: sig.signingReason ?? "",
142
+ signingLocation: sig.signingLocation ?? "",
143
+ signingDate: sig.signingDate
144
+ ? new Date(
145
+ Number(sig.signingDate.seconds ?? 0) * 1000 +
146
+ Math.floor(Number(sig.signingDate.nanos ?? 0) / 1e6)
147
+ )
148
+ : undefined,
149
+ isValid: sig.isValid ?? false,
150
+ filter: sig.filter ?? "",
151
+ }));
152
+ resolve(signatures);
153
+ }
154
+ }
155
+ );
156
+
157
+ stream.write({ info: { document: { documentId: id } } });
158
+ stream.end();
159
+ }
160
+ );
161
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"renderSchema.d.ts","sourceRoot":"","sources":["renderSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AACrB,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,OAAO,EACP,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EAAE,kBAAkB,EACnC,WAAW,EACX,MAAM,qBAAqB,CAAC;AAK7B,eAAO,MAAM,iBAAiB,EAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAA6B,CAAA;AAEnF,eAAO,MAAM,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAKjE,CAAA;AAEF,eAAO,MAAM,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAK/D,CAAA;AAEF,eAAO,MAAM,yBAAyB,EAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAKpE,CAAA;AAEF,eAAO,MAAM,yBAAyB,EAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAKpE,CAAA;AAEF,eAAO,MAAM,yBAAyB,EAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAKpE,CAAA;AAEF,eAAO,MAAM,qBAAqB,EAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAE5D,CAAA;AAEF,eAAO,MAAM,8BAA8B,EAAG,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAM9E,CAAA;AAEF,eAAO,MAAM,aAAa,EAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAQ5C,CAAA;AAEF,eAAO,MAAM,0BAA0B,EAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAKtE,CAAA;AAEF,eAAO,MAAM,4BAA4B,EAAG,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAuB1E,CAAA"}
1
+ {"version":3,"file":"renderSchema.d.ts","sourceRoot":"","sources":["renderSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AACrB,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,OAAO,EACP,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EAAE,kBAAkB,EACnC,WAAW,EACX,MAAM,qBAAqB,CAAC;AAK7B,eAAO,MAAM,iBAAiB,EAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAA6B,CAAA;AAEnF,eAAO,MAAM,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAKjE,CAAA;AAEF,eAAO,MAAM,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAK/D,CAAA;AAEF,eAAO,MAAM,yBAAyB,EAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAKpE,CAAA;AAEF,eAAO,MAAM,yBAAyB,EAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAKpE,CAAA;AAEF,eAAO,MAAM,yBAAyB,EAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAKpE,CAAA;AAEF,eAAO,MAAM,qBAAqB,EAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAE5D,CAAA;AAEF,eAAO,MAAM,8BAA8B,EAAG,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAM9E,CAAA;AAEF,eAAO,MAAM,aAAa,EAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAQ5C,CAAA;AAEF,eAAO,MAAM,0BAA0B,EAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAKtE,CAAA;AAEF,eAAO,MAAM,4BAA4B,EAAG,CAAC,CAAC,OAAO,CAAC,sBAAsB,CA4B1E,CAAA"}
@@ -84,6 +84,11 @@ exports.chromePdfRenderOptionsSchema = zod_1.z.object({
84
84
  htmlFooter: affixSchema_1.htmlAffixSchema.optional(),
85
85
  textHeader: affixSchema_1.textAffixSchema.optional(),
86
86
  textFooter: affixSchema_1.textAffixSchema.optional(),
87
- useMarginsOnHeaderAndFooter: typeSchema_1.useMarginsSchema.optional()
87
+ useMarginsOnHeaderAndFooter: typeSchema_1.useMarginsSchema.optional(),
88
+ autoBookmarksFromHeadings: zod_1.z.boolean().optional(),
89
+ autoBookmarkMinHeadingLevel: zod_1.z.number().int().min(1).max(6).optional(),
90
+ autoBookmarkMaxHeadingLevel: zod_1.z.number().int().min(1).max(6).optional(),
91
+ autoBookmarkCssSelectors: zod_1.z.array(zod_1.z.string()).optional(),
92
+ elementQuerySelectors: zod_1.z.array(zod_1.z.string()).optional()
88
93
  });
89
94
  //# sourceMappingURL=renderSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderSchema.js","sourceRoot":"","sources":["renderSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderSchema.js","sourceRoot":"","sources":["renderSchema.ts"],"names":[],"mappings":";;;AAAA,6BAAqB;AACrB,gDAW6B;AAC7B,6CAAyI;AACzI,+CAA4E;AAC5E,+CAA+D;AAElD,QAAA,iBAAiB,GAA4B,OAAC,CAAC,UAAU,CAAC,oBAAW,CAAC,CAAA;AAEtE,QAAA,wBAAwB,GAAkC,OAAC,CAAC,MAAM,CAAC;IAC/E,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAW,CAAC,WAAW,CAAC;IACxC,KAAK,EAAE,OAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;CACZ,CAAC,CAAA;AAEW,QAAA,uBAAuB,GAAiC,OAAC,CAAC,MAAM,CAAC;IAC7E,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAW,CAAC,UAAU,CAAC;IACvC,WAAW,EAAE,OAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;CACZ,CAAC,CAAA;AAEW,QAAA,yBAAyB,GAAoC,OAAC,CAAC,MAAM,CAAC;IAClF,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAW,CAAC,YAAY,CAAC;IACzC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,qBAAqB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAA;AAEW,QAAA,yBAAyB,GAAoC,OAAC,CAAC,MAAM,CAAC;IAClF,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAW,CAAC,YAAY,CAAC;IACzC,WAAW,EAAE,OAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;CACZ,CAAC,CAAA;AAEW,QAAA,yBAAyB,GAAoC,OAAC,CAAC,MAAM,CAAC;IAClF,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAW,CAAC,YAAY,CAAC;IACzC,WAAW,EAAE,OAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;CACZ,CAAC,CAAA;AAEW,QAAA,qBAAqB,GAAgC,OAAC,CAAC,MAAM,CAAC;IAC1E,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAW,CAAC,QAAQ,CAAC;CACrC,CAAC,CAAA;AAEW,QAAA,8BAA8B,GAAyC,OAAC,CAAC,MAAM,CAAC;IAC5F,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAW,CAAC,WAAW,CAAC;IACxC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,WAAW,EAAE,OAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;CACZ,CAAC,CAAA;AAEW,QAAA,aAAa,GAAwB,OAAC,CAAC,KAAK,CAAC;IACzD,gCAAwB;IACxB,6BAAqB;IACrB,+BAAuB;IACvB,iCAAyB;IACzB,iCAAyB;IACzB,iCAAyB;IACzB,sCAA8B;CAC9B,CAAC,CAAA;AAEW,QAAA,0BAA0B,GAAqC,OAAC,CAAC,MAAM,CAAC;IACpF,cAAc,EAAE,OAAC,CAAC,GAAG,CAAC,OAAC,CAAC,MAAM,EAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAA;AAEW,QAAA,4BAA4B,GAAuC,OAAC,CAAC,MAAM,CAAC;IACxF,sBAAsB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9C,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,gBAAgB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,cAAc,EAAE,kCAAqB,CAAC,QAAQ,EAAE;IAChD,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,+BAAkB,CAAC,QAAQ,EAAE;IACrC,gBAAgB,EAAE,uCAAyB,CAAC,QAAQ,EAAE;IACtD,SAAS,EAAE,gCAAkB,CAAC,QAAQ,EAAE;IACxC,oBAAoB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,OAAO,EAAE,qBAAa,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,YAAY,EAAE,+BAAkB,CAAC,QAAQ,EAAE;IAC3C,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,eAAe,EAAE,uCAA0B,CAAC,QAAQ,EAAE;IACtD,UAAU,EAAC,6BAAe,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAC,6BAAe,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAC,6BAAe,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAC,6BAAe,CAAC,QAAQ,EAAE;IACrC,2BAA2B,EAAE,6BAAgB,CAAC,QAAQ,EAAE;IACxD,yBAAyB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjD,2BAA2B,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtE,2BAA2B,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtE,wBAAwB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,qBAAqB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAA"}
@@ -103,6 +103,11 @@ export const chromePdfRenderOptionsSchema : z.ZodType<ChromePdfRenderOptions> =
103
103
  htmlFooter:htmlAffixSchema.optional(),
104
104
  textHeader:textAffixSchema.optional(),
105
105
  textFooter:textAffixSchema.optional(),
106
- useMarginsOnHeaderAndFooter: useMarginsSchema.optional()
106
+ useMarginsOnHeaderAndFooter: useMarginsSchema.optional(),
107
+ autoBookmarksFromHeadings: z.boolean().optional(),
108
+ autoBookmarkMinHeadingLevel: z.number().int().min(1).max(6).optional(),
109
+ autoBookmarkMaxHeadingLevel: z.number().int().min(1).max(6).optional(),
110
+ autoBookmarkCssSelectors: z.array(z.string()).optional(),
111
+ elementQuerySelectors: z.array(z.string()).optional()
107
112
  })
108
113