@docmentis/udoc-viewer 0.6.7 → 0.6.10

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 (72) hide show
  1. package/README.md +39 -3
  2. package/dist/package.json +1 -1
  3. package/dist/src/UDocClient.d.ts +66 -9
  4. package/dist/src/UDocClient.d.ts.map +1 -1
  5. package/dist/src/UDocClient.js +44 -1
  6. package/dist/src/UDocClient.js.map +1 -1
  7. package/dist/src/UDocViewer.d.ts +39 -3
  8. package/dist/src/UDocViewer.d.ts.map +1 -1
  9. package/dist/src/UDocViewer.js +262 -16
  10. package/dist/src/UDocViewer.js.map +1 -1
  11. package/dist/src/fonts.d.ts +32 -14
  12. package/dist/src/fonts.d.ts.map +1 -1
  13. package/dist/src/fonts.js +33 -14
  14. package/dist/src/fonts.js.map +1 -1
  15. package/dist/src/index.d.ts +2 -3
  16. package/dist/src/index.d.ts.map +1 -1
  17. package/dist/src/index.js +0 -4
  18. package/dist/src/index.js.map +1 -1
  19. package/dist/src/ui/viewer/actions.d.ts +21 -0
  20. package/dist/src/ui/viewer/actions.d.ts.map +1 -1
  21. package/dist/src/ui/viewer/components/LeftPanel.d.ts.map +1 -1
  22. package/dist/src/ui/viewer/components/LeftPanel.js +5 -1
  23. package/dist/src/ui/viewer/components/LeftPanel.js.map +1 -1
  24. package/dist/src/ui/viewer/components/LoadingOverlay.d.ts.map +1 -1
  25. package/dist/src/ui/viewer/components/LoadingOverlay.js +24 -4
  26. package/dist/src/ui/viewer/components/LoadingOverlay.js.map +1 -1
  27. package/dist/src/ui/viewer/components/PrintDialog.d.ts +33 -0
  28. package/dist/src/ui/viewer/components/PrintDialog.d.ts.map +1 -0
  29. package/dist/src/ui/viewer/components/PrintDialog.js +248 -0
  30. package/dist/src/ui/viewer/components/PrintDialog.js.map +1 -0
  31. package/dist/src/ui/viewer/components/RightPanel.d.ts.map +1 -1
  32. package/dist/src/ui/viewer/components/RightPanel.js +5 -1
  33. package/dist/src/ui/viewer/components/RightPanel.js.map +1 -1
  34. package/dist/src/ui/viewer/components/Toolbar.d.ts +2 -0
  35. package/dist/src/ui/viewer/components/Toolbar.d.ts.map +1 -1
  36. package/dist/src/ui/viewer/components/Toolbar.js +44 -5
  37. package/dist/src/ui/viewer/components/Toolbar.js.map +1 -1
  38. package/dist/src/ui/viewer/icons.d.ts +2 -0
  39. package/dist/src/ui/viewer/icons.d.ts.map +1 -1
  40. package/dist/src/ui/viewer/icons.js +4 -0
  41. package/dist/src/ui/viewer/icons.js.map +1 -1
  42. package/dist/src/ui/viewer/reducer.d.ts.map +1 -1
  43. package/dist/src/ui/viewer/reducer.js +54 -0
  44. package/dist/src/ui/viewer/reducer.js.map +1 -1
  45. package/dist/src/ui/viewer/shell.d.ts +3 -0
  46. package/dist/src/ui/viewer/shell.d.ts.map +1 -1
  47. package/dist/src/ui/viewer/shell.js +62 -2
  48. package/dist/src/ui/viewer/shell.js.map +1 -1
  49. package/dist/src/ui/viewer/state.d.ts +17 -1
  50. package/dist/src/ui/viewer/state.d.ts.map +1 -1
  51. package/dist/src/ui/viewer/state.js +8 -0
  52. package/dist/src/ui/viewer/state.js.map +1 -1
  53. package/dist/src/ui/viewer/styles-inline.d.ts +1 -1
  54. package/dist/src/ui/viewer/styles-inline.d.ts.map +1 -1
  55. package/dist/src/ui/viewer/styles-inline.js +165 -0
  56. package/dist/src/ui/viewer/styles-inline.js.map +1 -1
  57. package/dist/src/wasm/udoc.d.ts +86 -140
  58. package/dist/src/wasm/udoc.js +134 -246
  59. package/dist/src/wasm/udoc_bg.wasm +0 -0
  60. package/dist/src/wasm/udoc_bg.wasm.d.ts +47 -50
  61. package/dist/src/worker/WorkerClient.d.ts +14 -44
  62. package/dist/src/worker/WorkerClient.d.ts.map +1 -1
  63. package/dist/src/worker/WorkerClient.js +14 -53
  64. package/dist/src/worker/WorkerClient.js.map +1 -1
  65. package/dist/src/worker/index.d.ts +1 -1
  66. package/dist/src/worker/index.d.ts.map +1 -1
  67. package/dist/src/worker/worker-inline.js +1 -1
  68. package/dist/src/worker/worker.d.ts +13 -47
  69. package/dist/src/worker/worker.d.ts.map +1 -1
  70. package/dist/src/worker/worker.js +173 -303
  71. package/dist/src/worker/worker.js.map +1 -1
  72. package/package.json +1 -1
@@ -23,18 +23,17 @@ export class UDocViewer {
23
23
  destroyed = false;
24
24
  eventHandlers = new Map();
25
25
  _performanceCounter;
26
- googleFontsEnabled;
27
26
  viewOverrides;
28
27
  currentFormat = null;
28
+ sourceFilename = null;
29
29
  storeUnsub = null;
30
30
  sdkVersion;
31
31
  /**
32
32
  * @internal
33
33
  * Use `client.createViewer()` instead.
34
34
  */
35
- constructor(workerClient, options = {}, showAttribution = true, sdkVersion = "0.6.7") {
35
+ constructor(workerClient, options = {}, showAttribution = true, sdkVersion = "0.6.10") {
36
36
  this.workerClient = workerClient;
37
- this.googleFontsEnabled = options.googleFonts ?? true;
38
37
  this.sdkVersion = sdkVersion;
39
38
  this.viewOverrides = this.buildViewModeOverrides(options);
40
39
  // Initialize performance counter
@@ -52,9 +51,11 @@ export class UDocViewer {
52
51
  this.container = this.resolveContainer(options.container);
53
52
  const overrides = this.buildStateOverrides(options);
54
53
  this.uiShell = mountViewerShell(this.container, this.createEngineAdapter(), this.workerClient, overrides, showAttribution);
55
- // Set up password callback
54
+ // Set up callbacks for shell events
56
55
  this.uiShell.setCallbacks({
57
56
  onPasswordSubmit: (password) => this.handlePasswordSubmit(password),
57
+ onDownload: () => this.download(),
58
+ onPrint: (options) => this.print(options),
58
59
  });
59
60
  // Subscribe to store state changes to emit public events
60
61
  this.storeUnsub = this.uiShell.store.subscribeEffect((prev, next) => {
@@ -91,6 +92,18 @@ export class UDocViewer {
91
92
  visible: next.fullscreenButtonVisible,
92
93
  });
93
94
  }
95
+ if (prev.downloadButtonVisible !== next.downloadButtonVisible) {
96
+ this.emit("ui:visibilityChange", {
97
+ component: "download",
98
+ visible: next.downloadButtonVisible,
99
+ });
100
+ }
101
+ if (prev.printButtonVisible !== next.printButtonVisible) {
102
+ this.emit("ui:visibilityChange", {
103
+ component: "print",
104
+ visible: next.printButtonVisible,
105
+ });
106
+ }
94
107
  if (prev.disabledPanels !== next.disabledPanels) {
95
108
  // Emit events for panels whose disabled state changed
96
109
  const allPanels = [
@@ -148,6 +161,10 @@ export class UDocViewer {
148
161
  overrides.floatingToolbarVisible = false;
149
162
  if (options.disableFullscreen)
150
163
  overrides.fullscreenButtonVisible = false;
164
+ if (options.disableDownload)
165
+ overrides.downloadButtonVisible = false;
166
+ if (options.disablePrint)
167
+ overrides.printButtonVisible = false;
151
168
  if (options.disableLeftPanel)
152
169
  overrides.leftPanelVisible = false;
153
170
  if (options.disableRightPanel)
@@ -230,8 +247,11 @@ export class UDocViewer {
230
247
  try {
231
248
  // Track download phase
232
249
  const downloadId = this._performanceCounter.markStart("download");
233
- const { bytes } = await this.resolveSourceWithFilename(source);
250
+ const { bytes, filename } = await this.resolveSourceWithFilename(source);
251
+ this.sourceFilename = filename ?? null;
234
252
  this._performanceCounter.markEnd(downloadId);
253
+ // Show processing state while WASM loads and extracts page info
254
+ this.uiShell?.dispatch({ type: "SET_PROCESSING", processing: true });
235
255
  // Load document — WASM auto-detects format from file contents
236
256
  const loadId = this._performanceCounter.markStart("load");
237
257
  this.documentId = await this.workerClient.loadDocument(bytes);
@@ -239,10 +259,6 @@ export class UDocViewer {
239
259
  // Get the detected format from WASM for UI defaults
240
260
  const format = (await this.workerClient.getDocumentFormat(this.documentId));
241
261
  this.currentFormat = format;
242
- // Enable Google Fonts if requested
243
- if (this.googleFontsEnabled) {
244
- await this.workerClient.enableGoogleFonts(this.documentId);
245
- }
246
262
  // Register performance counter with WorkerClient for this document
247
263
  // This enables tracking of all subsequent operations (getPageInfo, render, etc.)
248
264
  if (this._performanceCounter.enabled) {
@@ -260,6 +276,7 @@ export class UDocViewer {
260
276
  pageInfos: [],
261
277
  viewDefaults: this.computeViewDefaults(format),
262
278
  });
279
+ this.uiShell.dispatch({ type: "SET_PROCESSING", processing: false });
263
280
  this.uiShell.dispatch({ type: "SET_NEEDS_PASSWORD", needsPassword: true });
264
281
  }
265
282
  // Don't emit document:load yet - wait for successful authentication
@@ -278,10 +295,12 @@ export class UDocViewer {
278
295
  viewDefaults: this.computeViewDefaults(format),
279
296
  });
280
297
  this._performanceCounter.markEnd(initUiId);
298
+ this.uiShell.dispatch({ type: "SET_PROCESSING", processing: false });
281
299
  }
282
300
  this.emit("document:load", { pageCount: this._pageCount });
283
301
  }
284
302
  catch (error) {
303
+ this.uiShell?.dispatch({ type: "SET_PROCESSING", processing: false });
285
304
  const phase = error instanceof TypeError ? "fetch" : "parse";
286
305
  this.emit("error", { error: error, phase });
287
306
  throw error;
@@ -299,6 +318,7 @@ export class UDocViewer {
299
318
  this.documentId = null;
300
319
  this._pageCount = 0;
301
320
  this._pageInfo = [];
321
+ this.sourceFilename = null;
302
322
  // Remove performance counter for this document
303
323
  this.workerClient.removePerformanceCounter(docId);
304
324
  // Cancel pending renders, clear cached bitmaps, then unload from worker.
@@ -350,10 +370,6 @@ export class UDocViewer {
350
370
  // Clear any cached renders from before authentication (they would be invalid)
351
371
  this.workerClient.cancelRenders(this.documentId);
352
372
  this.workerClient.invalidateRenderCache(this.documentId);
353
- // Enable Google Fonts if requested
354
- if (this.googleFontsEnabled) {
355
- await this.workerClient.enableGoogleFonts(this.documentId);
356
- }
357
373
  // Reload page info after successful authentication
358
374
  this._pageInfo = await this.workerClient.getAllPageInfo(this.documentId);
359
375
  this._pageCount = this._pageInfo.length;
@@ -663,6 +679,22 @@ export class UDocViewer {
663
679
  this.ensureUiMode();
664
680
  this.uiShell.dispatch({ type: "SET_FULLSCREEN_BUTTON_VISIBLE", visible: enabled });
665
681
  }
682
+ /**
683
+ * Enable or disable the download button.
684
+ */
685
+ setDownloadEnabled(enabled) {
686
+ this.ensureNotDestroyed();
687
+ this.ensureUiMode();
688
+ this.uiShell.dispatch({ type: "SET_DOWNLOAD_BUTTON_VISIBLE", visible: enabled });
689
+ }
690
+ /**
691
+ * Enable or disable the print button.
692
+ */
693
+ setPrintEnabled(enabled) {
694
+ this.ensureNotDestroyed();
695
+ this.ensureUiMode();
696
+ this.uiShell.dispatch({ type: "SET_PRINT_BUTTON_VISIBLE", visible: enabled });
697
+ }
666
698
  /** Current theme mode. */
667
699
  get theme() {
668
700
  return this.uiShell?.getState().theme ?? "light";
@@ -906,18 +938,232 @@ export class UDocViewer {
906
938
  }
907
939
  /**
908
940
  * Download document to user's device.
909
- * @param filename - Filename for download
941
+ * @param filename - Filename for download (defaults to original source filename)
910
942
  */
911
943
  async download(filename) {
912
944
  const bytes = await this.toBytes();
913
- const blob = new Blob([bytes.buffer], { type: "application/pdf" });
945
+ const mimeType = this.getMimeType();
946
+ const blob = new Blob([bytes.buffer], { type: mimeType });
914
947
  const url = URL.createObjectURL(blob);
915
948
  const a = document.createElement("a");
916
949
  a.href = url;
917
- a.download = filename ?? "document.pdf";
950
+ a.download = filename ?? this.getDefaultFilename();
918
951
  a.click();
919
952
  URL.revokeObjectURL(url);
920
953
  }
954
+ /**
955
+ * Print the document.
956
+ * Shows the print dialog when called without options (from public API).
957
+ * When called with options (from the dialog), renders selected pages and opens the browser print dialog.
958
+ */
959
+ async print(options) {
960
+ this.ensureLoaded();
961
+ // If no options provided, show the print dialog
962
+ if (!options) {
963
+ this.uiShell?.dispatch({ type: "SHOW_PRINT_DIALOG" });
964
+ return;
965
+ }
966
+ const pageIndices = this.resolvePageIndices(options.pageRange);
967
+ const isAllPages = pageIndices.length === this._pageCount;
968
+ // For PDF with all pages and standard quality, use native PDF printing (vector quality)
969
+ if (this.currentFormat === "pdf" && isAllPages && options.quality === "standard") {
970
+ await this.printPdfNative();
971
+ }
972
+ else {
973
+ await this.printRendered(pageIndices, options.quality);
974
+ }
975
+ }
976
+ /**
977
+ * Resolve a PrintPageRange into an array of 0-based page indices.
978
+ * @internal
979
+ */
980
+ resolvePageIndices(range) {
981
+ switch (range.kind) {
982
+ case "all":
983
+ return Array.from({ length: this._pageCount }, (_, i) => i);
984
+ case "current":
985
+ return [this.currentPage - 1];
986
+ case "fromTo": {
987
+ const indices = [];
988
+ for (let i = range.from - 1; i < range.to; i++)
989
+ indices.push(i);
990
+ return indices;
991
+ }
992
+ case "custom":
993
+ return range.pages.map((p) => p - 1);
994
+ }
995
+ }
996
+ /**
997
+ * Print PDF by loading original bytes into an iframe — vector quality, no rendering needed.
998
+ * @internal
999
+ */
1000
+ async printPdfNative() {
1001
+ const bytes = await this.toBytes();
1002
+ const blob = new Blob([bytes.buffer], { type: "application/pdf" });
1003
+ const blobUrl = URL.createObjectURL(blob);
1004
+ const title = this.getDefaultFilename().replace(/\.[^.]+$/, "");
1005
+ const iframe = document.createElement("iframe");
1006
+ iframe.style.position = "fixed";
1007
+ iframe.style.left = "-9999px";
1008
+ iframe.style.top = "-9999px";
1009
+ iframe.style.width = "0";
1010
+ iframe.style.height = "0";
1011
+ document.body.appendChild(iframe);
1012
+ iframe.src = blobUrl;
1013
+ // Wait for the PDF to load in the iframe
1014
+ await new Promise((resolve) => {
1015
+ iframe.onload = () => resolve();
1016
+ });
1017
+ const originalTitle = document.title;
1018
+ document.title = title;
1019
+ iframe.contentWindow?.print();
1020
+ setTimeout(() => {
1021
+ document.title = originalTitle;
1022
+ URL.revokeObjectURL(blobUrl);
1023
+ iframe.remove();
1024
+ }, 1000);
1025
+ }
1026
+ /** Map quality preset to DPI scale factor. */
1027
+ static qualityToDpiScale(quality) {
1028
+ switch (quality) {
1029
+ case "draft":
1030
+ return 150 / 72;
1031
+ case "standard":
1032
+ return 300 / 72;
1033
+ case "high":
1034
+ return 600 / 72;
1035
+ }
1036
+ }
1037
+ /**
1038
+ * Print by rendering selected pages to images.
1039
+ * @internal
1040
+ */
1041
+ async printRendered(pageIndices, quality) {
1042
+ const totalPages = pageIndices.length;
1043
+ // Show progress via store-driven loading overlay
1044
+ this.uiShell?.dispatch({ type: "SET_PRINT_PROGRESS", currentPage: 0, totalPages });
1045
+ const blobUrls = [];
1046
+ try {
1047
+ const scale = UDocViewer.qualityToDpiScale(quality);
1048
+ for (let idx = 0; idx < totalPages; idx++) {
1049
+ const pageIndex = pageIndices[idx];
1050
+ this.uiShell?.dispatch({ type: "SET_PRINT_PROGRESS", currentPage: idx + 1, totalPages });
1051
+ const blob = await this.renderPage(pageIndex, {
1052
+ scale,
1053
+ format: "blob",
1054
+ force: true,
1055
+ });
1056
+ blobUrls.push(URL.createObjectURL(blob));
1057
+ }
1058
+ const firstInfo = this._pageInfo[pageIndices[0]];
1059
+ const pageWidthIn = (firstInfo.width / 72).toFixed(4);
1060
+ const pageHeightIn = (firstInfo.height / 72).toFixed(4);
1061
+ let pagesHtml = "";
1062
+ for (let idx = 0; idx < totalPages; idx++) {
1063
+ const info = this._pageInfo[pageIndices[idx]];
1064
+ const widthIn = (info.width / 72).toFixed(4);
1065
+ const heightIn = (info.height / 72).toFixed(4);
1066
+ pagesHtml +=
1067
+ `<div class="page" style="width:${widthIn}in;height:${heightIn}in;">` +
1068
+ `<img src="${blobUrls[idx]}" style="width:100%;height:100%;">` +
1069
+ `</div>`;
1070
+ }
1071
+ const title = this.getDefaultFilename().replace(/\.[^.]+$/, "");
1072
+ const html = `<!DOCTYPE html>
1073
+ <html><head><title>${title}</title><style>
1074
+ @page { size: ${pageWidthIn}in ${pageHeightIn}in; margin: 0; }
1075
+ * { margin: 0; padding: 0; }
1076
+ .page { page-break-after: always; overflow: hidden; }
1077
+ .page:last-child { page-break-after: auto; }
1078
+ img { display: block; }
1079
+ </style></head><body>${pagesHtml}</body></html>`;
1080
+ const iframe = document.createElement("iframe");
1081
+ iframe.style.position = "fixed";
1082
+ iframe.style.left = "-9999px";
1083
+ iframe.style.top = "-9999px";
1084
+ iframe.style.width = "0";
1085
+ iframe.style.height = "0";
1086
+ document.body.appendChild(iframe);
1087
+ const iframeDoc = iframe.contentDocument ?? iframe.contentWindow?.document;
1088
+ if (!iframeDoc) {
1089
+ iframe.remove();
1090
+ throw new Error("Failed to create print iframe");
1091
+ }
1092
+ iframeDoc.open();
1093
+ iframeDoc.write(html);
1094
+ iframeDoc.close();
1095
+ const images = iframeDoc.querySelectorAll("img");
1096
+ await Promise.all(Array.from(images).map((img) => new Promise((resolve) => {
1097
+ if (img.complete) {
1098
+ resolve();
1099
+ }
1100
+ else {
1101
+ img.onload = () => resolve();
1102
+ img.onerror = () => resolve();
1103
+ }
1104
+ })));
1105
+ this.uiShell?.dispatch({ type: "CLEAR_PRINT_PROGRESS" });
1106
+ const originalTitle = document.title;
1107
+ document.title = title;
1108
+ iframe.contentWindow?.print();
1109
+ setTimeout(() => {
1110
+ document.title = originalTitle;
1111
+ for (const url of blobUrls)
1112
+ URL.revokeObjectURL(url);
1113
+ iframe.remove();
1114
+ }, 1000);
1115
+ }
1116
+ catch (error) {
1117
+ this.uiShell?.dispatch({ type: "CLEAR_PRINT_PROGRESS" });
1118
+ for (const url of blobUrls)
1119
+ URL.revokeObjectURL(url);
1120
+ throw error;
1121
+ }
1122
+ }
1123
+ /** Returns the MIME type for the current document format. */
1124
+ getMimeType() {
1125
+ switch (this.currentFormat) {
1126
+ case "docx":
1127
+ return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
1128
+ case "pptx":
1129
+ return "application/vnd.openxmlformats-officedocument.presentationml.presentation";
1130
+ case "image":
1131
+ return "application/octet-stream";
1132
+ case "pdf":
1133
+ default:
1134
+ return "application/pdf";
1135
+ }
1136
+ }
1137
+ /** Returns a default filename based on the source or format. */
1138
+ getDefaultFilename() {
1139
+ if (this.sourceFilename) {
1140
+ // Extract filename from URL or File.name
1141
+ try {
1142
+ const url = new URL(this.sourceFilename);
1143
+ const path = url.pathname;
1144
+ const name = path.substring(path.lastIndexOf("/") + 1);
1145
+ if (name)
1146
+ return decodeURIComponent(name);
1147
+ }
1148
+ catch {
1149
+ // Not a full URL (e.g. relative path or File.name) — extract filename
1150
+ const lastSlash = this.sourceFilename.lastIndexOf("/");
1151
+ return lastSlash >= 0 ? this.sourceFilename.substring(lastSlash + 1) : this.sourceFilename;
1152
+ }
1153
+ }
1154
+ // Fallback based on format
1155
+ switch (this.currentFormat) {
1156
+ case "docx":
1157
+ return "document.docx";
1158
+ case "pptx":
1159
+ return "document.pptx";
1160
+ case "image":
1161
+ return "image.png";
1162
+ case "pdf":
1163
+ default:
1164
+ return "document.pdf";
1165
+ }
1166
+ }
921
1167
  // ===========================================================================
922
1168
  // Events
923
1169
  // ===========================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"UDocViewer.js","sourceRoot":"","sources":["../../src/UDocViewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UDocViewer.js","sourceRoot":"","sources":["../../src/UDocViewer.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,47 @@
1
1
  /**
2
- * Google Fonts support for document rendering.
2
+ * Font management for document rendering.
3
3
  *
4
- * Call `enableGoogleFonts()` once after loading a document to enable
5
- * automatic font fetching during rendering.
4
+ * - Call `registerFonts()` to provide custom font URLs (resolved first).
5
+ * - Call `enableGoogleFonts()` to enable automatic Google Fonts fetching.
6
+ *
7
+ * Both should be called before loading documents.
6
8
  */
7
- import type { WorkerClient } from "./worker/index.js";
9
+ import type { WorkerClient, FontEntry } from "./worker/index.js";
10
+ export type { FontEntry };
8
11
  /**
9
- * Enable Google Fonts for a document.
12
+ * Register font URLs.
10
13
  *
11
- * When enabled, fonts that are not embedded in the document will be
12
- * automatically fetched from Google Fonts during rendering.
14
+ * The engine fetches fonts on-demand during layout from the provided URLs.
15
+ * Call this before loading documents. Registered fonts take priority over
16
+ * Google Fonts.
13
17
  *
14
18
  * @param workerClient - The worker client
15
- * @param documentId - Document ID to enable Google Fonts for
19
+ * @param fonts - Array of font entries
16
20
  *
17
21
  * @example
18
22
  * ```ts
19
- * // Load document
20
- * const docId = await workerClient.loadPdf(bytes);
23
+ * await registerFonts(workerClient, [
24
+ * { typeface: "Roboto", bold: false, italic: false, url: "https://cdn.example.com/Roboto-Regular.woff2" },
25
+ * { typeface: "Roboto", bold: true, italic: false, url: "https://cdn.example.com/Roboto-Bold.woff2" },
26
+ * ]);
27
+ * ```
28
+ */
29
+ export declare function registerFonts(workerClient: WorkerClient, fonts: FontEntry[]): Promise<void>;
30
+ /**
31
+ * Enable Google Fonts.
21
32
  *
22
- * // Enable Google Fonts
23
- * await enableGoogleFonts(workerClient, docId);
33
+ * When enabled, fonts that are not embedded in the document will be
34
+ * automatically fetched from Google Fonts during rendering. Google Fonts
35
+ * are resolved after any URL fonts registered via `registerFonts`.
24
36
  *
25
- * // Render - fonts are fetched automatically as needed
37
+ * Call this before loading documents.
38
+ *
39
+ * @param workerClient - The worker client
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * await enableGoogleFonts(workerClient);
26
44
  * ```
27
45
  */
28
- export declare function enableGoogleFonts(workerClient: WorkerClient, documentId: string): Promise<void>;
46
+ export declare function enableGoogleFonts(workerClient: WorkerClient): Promise<void>;
29
47
  //# sourceMappingURL=fonts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../../src/fonts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErG"}
1
+ {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../../src/fonts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEjE,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjG;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjF"}