/
githubmirror
/
pdf.js
Обзор
Документация
Войти
/
githubmirror
/
pdf.js
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/display/node_utils.js
106 строк
3 KB
Jonas Jenwald
Remove the unused `ImageData` branch in the `putBinaryImageData` function
18 июн 2026, 19:22
18 июн 2026, 19:22
b4b0a3f
Код
Авторство
О чём код?
/* Copyright 2020 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* globals process */ import { isNodeJS, warn } from "../shared/util.js"; import { BaseBinaryDataFactory } from "./binary_data_factory.js"; import { BaseCanvasFactory } from "./canvas_factory.js"; import { BaseFilterFactory } from "./filter_factory.js"; if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) { throw new Error( 'Module "./node_utils.js" shall not be used with MOZCENTRAL builds.' ); } if (isNodeJS) { if (typeof PDFJSDev === "undefined" || PDFJSDev.test("SKIP_BABEL")) { warn("Please use the `legacy` build in Node.js environments."); } else { let canvas; try { const require = process .getBuiltinModule("module") .createRequire(import.meta.url); try { canvas = require("@napi-rs/canvas"); } catch (ex) { warn(`Cannot load "@napi-rs/canvas" package: "${ex}".`); } } catch (ex) { warn(`Cannot access the \`require\` function: "${ex}".`); } if (!globalThis.DOMMatrix) { if (canvas?.DOMMatrix) { globalThis.DOMMatrix = canvas.DOMMatrix; } else { warn("Cannot polyfill `DOMMatrix`, rendering may be broken."); } } if (!globalThis.Path2D) { if (canvas?.Path2D) { globalThis.Path2D = canvas.Path2D; } else { warn("Cannot polyfill `Path2D`, rendering may be broken."); } } if (!globalThis.navigator?.language) { globalThis.navigator = { language: "en-US", platform: "", userAgent: "", }; } } } async function fetchData(url) { const fs = process.getBuiltinModule("fs/promises"); const data = await fs.readFile(url); return new Uint8Array(data); } class NodeFilterFactory extends BaseFilterFactory {} class NodeCanvasFactory extends BaseCanvasFactory { /** * @ignore */ _createCanvas(width, height) { const require = process .getBuiltinModule("module") .createRequire(import.meta.url); const canvas = require("@napi-rs/canvas"); return canvas.createCanvas(width, height); } } class NodeBinaryDataFactory extends BaseBinaryDataFactory { /** * @ignore */ async _fetch(url, kind) { return fetchData(url); } } export { fetchData, NodeBinaryDataFactory, NodeCanvasFactory, NodeFilterFactory, };