rapid-spreadjs 1.0.27 → 1.0.28

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/index.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  export * from './types/business';
3
3
  export * from './types/echarts';
4
4
  export * from './types/sheet';
5
+ export * from './types/wookbook';
5
6
  /** 导出/utils/*.ts中的所有属性或函数 */
6
7
  export * from './utils/business';
7
8
  export * from './utils/common';
package/dist/index.esm.js CHANGED
@@ -8156,6 +8156,71 @@ const WorkbookUtils = {
8156
8156
  WorkbookUtils.exportToExcel(GC, mainWorkbook, exportName);
8157
8157
  return mainWorkbook;
8158
8158
  }),
8159
+ /**
8160
+ * 注册字体(主要为导出PDF使用)
8161
+ * @param GC Spread的GC对象
8162
+ * @param regFonts 字体配置集合
8163
+ */
8164
+ registerFont: (GC, regFonts) => __awaiter(void 0, void 0, void 0, function* () {
8165
+ // 基于fetch
8166
+ return new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () {
8167
+ try {
8168
+ if (!regFonts || regFonts.length == 0) {
8169
+ resolve(null);
8170
+ }
8171
+ for (let i = 0; i < regFonts.length; i++) {
8172
+ const font = regFonts[i];
8173
+ const response = yield fetch(font.url, { method: 'GET' });
8174
+ if (response.ok) {
8175
+ const blob = yield response.blob();
8176
+ var reader = new FileReader();
8177
+ reader.readAsArrayBuffer(blob);
8178
+ reader.onload = function (e) {
8179
+ var fontArrayBuffer = reader.result;
8180
+ var fonts = {};
8181
+ fonts[font.type] = fontArrayBuffer;
8182
+ GC.Spread.Sheets.PDF.PDFFontsManager.registerFont(font.name, fonts);
8183
+ resolve(blob);
8184
+ };
8185
+ }
8186
+ }
8187
+ }
8188
+ catch (error) {
8189
+ reject(error);
8190
+ }
8191
+ }));
8192
+ // 基于XMLHttpRequest
8193
+ // return new Promise((resolve, reject) => {
8194
+ // try {
8195
+ // if (!regFonts || regFonts.length == 0) {
8196
+ // resolve(null);
8197
+ // }
8198
+ // for (let i = 0; i < regFonts.length; i++) {
8199
+ // const font = regFonts[i];
8200
+ // var xhr = new XMLHttpRequest();
8201
+ // xhr.open('GET', font.url, true);
8202
+ // xhr.responseType = 'blob';
8203
+ // xhr.onload = function (e) {
8204
+ // if (this.status == 200) {
8205
+ // var blob = this.response;
8206
+ // var reader = new FileReader();
8207
+ // reader.onload = function (e) {
8208
+ // var fontArrayBuffer = reader.result;
8209
+ // var fonts = {};
8210
+ // fonts[font.type] = fontArrayBuffer;
8211
+ // GC.Spread.Sheets.PDF.PDFFontsManager.registerFont(font.name, fonts);
8212
+ // resolve(blob);
8213
+ // };
8214
+ // reader.readAsArrayBuffer(blob);
8215
+ // }
8216
+ // };
8217
+ // xhr.send();
8218
+ // }
8219
+ // } catch (error) {
8220
+ // reject(error);
8221
+ // }
8222
+ // });
8223
+ }),
8159
8224
  };
8160
8225
 
8161
8226
  export { BusinessUtils, CommonUtils, EChartsUtils, SheetUtils, WorkbookUtils };