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.cjs.js CHANGED
@@ -8178,6 +8178,71 @@ const WorkbookUtils = {
8178
8178
  WorkbookUtils.exportToExcel(GC, mainWorkbook, exportName);
8179
8179
  return mainWorkbook;
8180
8180
  }),
8181
+ /**
8182
+ * 注册字体(主要为导出PDF使用)
8183
+ * @param GC Spread的GC对象
8184
+ * @param regFonts 字体配置集合
8185
+ */
8186
+ registerFont: (GC, regFonts) => __awaiter(void 0, void 0, void 0, function* () {
8187
+ // 基于fetch
8188
+ return new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () {
8189
+ try {
8190
+ if (!regFonts || regFonts.length == 0) {
8191
+ resolve(null);
8192
+ }
8193
+ for (let i = 0; i < regFonts.length; i++) {
8194
+ const font = regFonts[i];
8195
+ const response = yield fetch(font.url, { method: 'GET' });
8196
+ if (response.ok) {
8197
+ const blob = yield response.blob();
8198
+ var reader = new FileReader();
8199
+ reader.readAsArrayBuffer(blob);
8200
+ reader.onload = function (e) {
8201
+ var fontArrayBuffer = reader.result;
8202
+ var fonts = {};
8203
+ fonts[font.type] = fontArrayBuffer;
8204
+ GC.Spread.Sheets.PDF.PDFFontsManager.registerFont(font.name, fonts);
8205
+ resolve(blob);
8206
+ };
8207
+ }
8208
+ }
8209
+ }
8210
+ catch (error) {
8211
+ reject(error);
8212
+ }
8213
+ }));
8214
+ // 基于XMLHttpRequest
8215
+ // return new Promise((resolve, reject) => {
8216
+ // try {
8217
+ // if (!regFonts || regFonts.length == 0) {
8218
+ // resolve(null);
8219
+ // }
8220
+ // for (let i = 0; i < regFonts.length; i++) {
8221
+ // const font = regFonts[i];
8222
+ // var xhr = new XMLHttpRequest();
8223
+ // xhr.open('GET', font.url, true);
8224
+ // xhr.responseType = 'blob';
8225
+ // xhr.onload = function (e) {
8226
+ // if (this.status == 200) {
8227
+ // var blob = this.response;
8228
+ // var reader = new FileReader();
8229
+ // reader.onload = function (e) {
8230
+ // var fontArrayBuffer = reader.result;
8231
+ // var fonts = {};
8232
+ // fonts[font.type] = fontArrayBuffer;
8233
+ // GC.Spread.Sheets.PDF.PDFFontsManager.registerFont(font.name, fonts);
8234
+ // resolve(blob);
8235
+ // };
8236
+ // reader.readAsArrayBuffer(blob);
8237
+ // }
8238
+ // };
8239
+ // xhr.send();
8240
+ // }
8241
+ // } catch (error) {
8242
+ // reject(error);
8243
+ // }
8244
+ // });
8245
+ }),
8181
8246
  };
8182
8247
 
8183
8248
  exports.BusinessUtils = BusinessUtils;