diff --git a/examples/svgviewer/README.md b/examples/svgviewer/README.md
deleted file mode 100644
index 089d3050bf775..0000000000000
--- a/examples/svgviewer/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## PDF.js using SVG
-
-This is a project for implementing alternate backend for PDF.js using Scalable Vector Graphics. This is still a WIP.
-Take a look at [proposal](https://docs.google.com/document/d/1k4nPx1RrHbxXi94kSdvW5ay8KMkjwLmBEiCNupyzlwk/pub) for this project.
-
-## Getting started
-
-Take a look at src/display/svg.js to see the SVG rendering code.
diff --git a/examples/svgviewer/index.html b/examples/svgviewer/index.html
deleted file mode 100644
index 9c538f14435f2..0000000000000
--- a/examples/svgviewer/index.html
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
- PDF.js SVG viewer using built components
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/svgviewer/viewer.js b/examples/svgviewer/viewer.js
deleted file mode 100644
index 3fb1307b59166..0000000000000
--- a/examples/svgviewer/viewer.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright 2014 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.
- */
-
-"use strict";
-
-if (!pdfjsLib.getDocument || !pdfjsViewer.PDFViewer) {
- // eslint-disable-next-line no-alert
- alert("Please build the pdfjs-dist library using\n `gulp dist-install`");
-}
-
-// The workerSrc property shall be specified.
-//
-pdfjsLib.GlobalWorkerOptions.workerSrc =
- "../../node_modules/pdfjs-dist/build/pdf.worker.js";
-
-// Some PDFs need external cmaps.
-//
-const CMAP_URL = "../../node_modules/pdfjs-dist/cmaps/";
-const CMAP_PACKED = true;
-
-const DEFAULT_URL = "../../web/compressed.tracemonkey-pldi-09.pdf";
-
-const container = document.getElementById("viewerContainer");
-
-const eventBus = new pdfjsViewer.EventBus();
-
-// (Optionally) enable hyperlinks within PDF files.
-const pdfLinkService = new pdfjsViewer.PDFLinkService({
- eventBus,
-});
-
-const pdfViewer = new pdfjsViewer.PDFViewer({
- container,
- eventBus,
- linkService: pdfLinkService,
- renderer: "svg",
- textLayerMode: 0,
-});
-pdfLinkService.setViewer(pdfViewer);
-
-eventBus.on("pagesinit", function () {
- // We can use pdfViewer now, e.g. let's change default scale.
- pdfViewer.currentScaleValue = "page-width";
-});
-
-// Loading document.
-const loadingTask = pdfjsLib.getDocument({
- url: DEFAULT_URL,
- cMapUrl: CMAP_URL,
- cMapPacked: CMAP_PACKED,
-});
-loadingTask.promise.then(function (pdfDocument) {
- // Document loaded, specifying document for the viewer and
- // the (optional) linkService.
- pdfViewer.setDocument(pdfDocument);
-
- pdfLinkService.setDocument(pdfDocument, null);
-});
diff --git a/web/base_viewer.js b/web/base_viewer.js
index c3ae98a80403d..0ecb510abdc59 100644
--- a/web/base_viewer.js
+++ b/web/base_viewer.js
@@ -127,7 +127,6 @@ function isValidAnnotationEditorMode(mode) {
* mainly for annotation icons. Include trailing slash.
* @property {boolean} [enablePrintAutoRotate] - Enables automatic rotation of
* landscape pages upon printing. The default is `false`.
- * @property {string} renderer - 'canvas' or 'svg'. The default is 'canvas'.
* @property {boolean} [useOnlyCssZoom] - Enables CSS only zooming. The default
* value is `false`.
* @property {number} [maxCanvasPixels] - The maximum supported canvas size in
@@ -285,7 +284,12 @@ class BaseViewer {
options.annotationEditorMode ?? ANNOTATION_EDITOR_MODE;
this.imageResourcesPath = options.imageResourcesPath || "";
this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;
- this.renderer = options.renderer || RendererType.CANVAS;
+ if (
+ typeof PDFJSDev === "undefined" ||
+ PDFJSDev.test("!PRODUCTION || GENERIC")
+ ) {
+ this.renderer = options.renderer || RendererType.CANVAS;
+ }
this.useOnlyCssZoom = options.useOnlyCssZoom || false;
this.maxCanvasPixels = options.maxCanvasPixels;
this.l10n = options.l10n || NullL10n;
@@ -778,7 +782,11 @@ class BaseViewer {
textHighlighterFactory: this,
structTreeLayerFactory: this,
imageResourcesPath: this.imageResourcesPath,
- renderer: this.renderer,
+ renderer:
+ typeof PDFJSDev === "undefined" ||
+ PDFJSDev.test("!PRODUCTION || GENERIC")
+ ? this.renderer
+ : null,
useOnlyCssZoom: this.useOnlyCssZoom,
maxCanvasPixels: this.maxCanvasPixels,
pageColors: this.pageColors,
diff --git a/web/pdf_page_view.js b/web/pdf_page_view.js
index 82d0bbf9ea5a1..bc77234fca2da 100644
--- a/web/pdf_page_view.js
+++ b/web/pdf_page_view.js
@@ -80,7 +80,6 @@ import { NullL10n } from "./l10n_utils.js";
* @property {Object} [textHighlighterFactory]
* @property {string} [imageResourcesPath] - Path for image resources, mainly
* for annotation icons. Include trailing slash.
- * @property {string} renderer - 'canvas' or 'svg'. The default is 'canvas'.
* @property {boolean} [useOnlyCssZoom] - Enables CSS only zooming. The default
* value is `false`.
* @property {number} [maxCanvasPixels] - The maximum supported canvas size in
@@ -139,7 +138,12 @@ class PDFPageView {
this.eventBus
);
this.structTreeLayerFactory = options.structTreeLayerFactory;
- this.renderer = options.renderer || RendererType.CANVAS;
+ if (
+ typeof PDFJSDev === "undefined" ||
+ PDFJSDev.test("!PRODUCTION || GENERIC")
+ ) {
+ this.renderer = options.renderer || RendererType.CANVAS;
+ }
this.l10n = options.l10n || NullL10n;
this.paintTask = null;
diff --git a/web/ui_utils.js b/web/ui_utils.js
index 02dc8f24f8939..d9673a4dddb3d 100644
--- a/web/ui_utils.js
+++ b/web/ui_utils.js
@@ -48,10 +48,13 @@ const SidebarView = {
LAYERS: 4,
};
-const RendererType = {
- CANVAS: "canvas",
- SVG: "svg",
-};
+const RendererType =
+ typeof PDFJSDev === "undefined" || PDFJSDev.test("!PRODUCTION || GENERIC")
+ ? {
+ CANVAS: "canvas",
+ SVG: "svg",
+ }
+ : null;
const TextLayerMode = {
DISABLE: 0,