mirror of
https://github.com/mozilla/pdf.js.git
synced 2026-04-10 15:24:03 +02:00
Currently we have no less than three different, but very similar, factories for reading built-in CMap files, standard font files, and wasm files on the main-thread.[1] These factories were added at different points in time, since I cannot imagine that we'd add essentially three copies of the same code otherwise. Nowadays these factories are often not even used[2], since worker-thread fetching is used whenever possible to improve performance. In particular, they will *only* be used when either: - The PDF.js library runs in Node.js environments. - The user manually sets `useWorkerFetch = false` when calling `getDocument`. - The user provides custom `CMapReaderFactory`, `StandardFontDataFactory`, and/or `WasmFactory` instances when calling `getDocument`. By replacing these factories with *a single* new `BinaryDataFactory` factory/option the number of `getDocument` options are thus reduced, which cannot hurt. This also reduces the total bundle-size of the Firefox PDF Viewer a little bit, and it slightly reduces the number of import maps that need to be maintained. *Please note:* For users that provide custom `CMapReaderFactory`, `StandardFontDataFactory`, and `WasmFactory` instances when calling `getDocument` this will be a breaking change, however it's unlikely that (many) such users exist. (The *internal* format data-format of `CMapReaderFactory` was changed in PR 18951, and there hasn't been a single question/complaint about it in well over a year.) --- [1] Any new functionality could easily lead to more such factories being added in the future, which wouldn't be great. [2] Note that the Firefox PDF Viewer no longer use these factories, since it "forcibly" sets `useWorkerFetch = true` during building.
69 lines
2.2 KiB
HTML
69 lines
2.2 KiB
HTML
<!doctype html>
|
|
<!--
|
|
Copyright 2026 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.
|
|
-->
|
|
|
|
<html dir="ltr" mozdisallowselectionprint lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
|
<title>PDF.js — Simple viewer</title>
|
|
|
|
<style>
|
|
body {
|
|
background-color: #808080;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
#viewerContainer {
|
|
overflow: auto;
|
|
position: absolute;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
</style>
|
|
|
|
<link rel="resource" type="application/l10n" href="../../web/locale/locale.json" />
|
|
<link rel="stylesheet" href="../../web/pdf_viewer.css" />
|
|
<script type="importmap">
|
|
{
|
|
"imports": {
|
|
"pdfjs/": "../../src/",
|
|
"pdfjs-lib": "../../src/pdf.js",
|
|
|
|
"display-binary_data_factory": "../../src/display/binary_data_factory.js",
|
|
"display-fetch_stream": "../../src/display/fetch_stream.js",
|
|
"display-network": "../../src/display/network.js",
|
|
"display-node_stream": "../../src/display/stubs.js",
|
|
"display-node_utils": "../../src/display/stubs.js",
|
|
|
|
"fluent-bundle": "../../node_modules/@fluent/bundle/esm/index.js",
|
|
"fluent-dom": "../../node_modules/@fluent/dom/esm/index.js",
|
|
"cached-iterable": "../../node_modules/cached-iterable/src/index.mjs",
|
|
|
|
"web-null_l10n": "../../web/genericl10n.js"
|
|
}
|
|
}
|
|
</script>
|
|
<script src="simple-viewer.js" type="module"></script>
|
|
</head>
|
|
|
|
<body tabindex="1">
|
|
<div id="viewerContainer">
|
|
<div id="viewer" class="pdfViewer"></div>
|
|
</div>
|
|
</body>
|
|
</html>
|