diff --git a/config/webpack.config.js b/config/webpack.config.js
index 296f8a7a13181744396465439e204d6df3cc4f7d..fb92e4228dc424218f03378ee5f8ca8e5cbac0b7 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -41,6 +41,8 @@ const {
   WEBPACK_OUTPUT_PATH,
   WEBPACK_PUBLIC_PATH,
   SOURCEGRAPH_PUBLIC_PATH,
+  PDF_JS_WORKER_PUBLIC_PATH,
+  PDF_JS_CMAPS_PUBLIC_PATH,
   GITLAB_WEB_IDE_PUBLIC_PATH,
   copyFilesPatterns,
 } = require('./webpack.constants');
@@ -844,6 +846,8 @@ module.exports = {
       // This is used by Sourcegraph because these assets are loaded dnamically
       'process.env.SOURCEGRAPH_PUBLIC_PATH': JSON.stringify(SOURCEGRAPH_PUBLIC_PATH),
       'process.env.GITLAB_WEB_IDE_PUBLIC_PATH': JSON.stringify(GITLAB_WEB_IDE_PUBLIC_PATH),
+      'process.env.PDF_JS_WORKER_PUBLIC_PATH': JSON.stringify(PDF_JS_WORKER_PUBLIC_PATH),
+      'process.env.PDF_JS_CMAPS_PUBLIC_PATH': JSON.stringify(PDF_JS_CMAPS_PUBLIC_PATH),
       ...(IS_PRODUCTION ? {} : { LIVE_RELOAD: DEV_SERVER_LIVERELOAD }),
     }),
 
diff --git a/config/webpack.constants.js b/config/webpack.constants.js
index 7fef32d0704d19f988e1e5d2c4ff0187d3b3603d..39232232613f3b224311e245df429d22181b17e7 100644
--- a/config/webpack.constants.js
+++ b/config/webpack.constants.js
@@ -15,20 +15,31 @@ const GITLAB_WEB_IDE_PATH = path.join('gitlab-vscode', GITLAB_WEB_IDE_VERSION, '
 const GITLAB_WEB_IDE_OUTPUT_PATH = path.join(WEBPACK_OUTPUT_PATH, GITLAB_WEB_IDE_PATH);
 const GITLAB_WEB_IDE_PUBLIC_PATH = path.join(WEBPACK_PUBLIC_PATH, GITLAB_WEB_IDE_PATH);
 
+const PDF_JS_VERSION = require('pdfjs-dist/package.json').version;
+
+const PDF_JS_WORKER_FILE_PATH = '/legacy/build/pdf.worker.min.js';
+const PDF_JS_WORKER_PATH = path.join('pdfjs', PDF_JS_VERSION, PDF_JS_WORKER_FILE_PATH);
+const PDF_JS_WORKER_OUTPUT_PATH = path.join(WEBPACK_OUTPUT_PATH, PDF_JS_WORKER_PATH);
+const PDF_JS_WORKER_PUBLIC_PATH = path.join(WEBPACK_PUBLIC_PATH, PDF_JS_WORKER_PATH);
+const PDF_JS_CMAPS_PATH = path.join('pdfjs', PDF_JS_VERSION, 'cmaps/');
+const PDF_JS_CMAPS_OUTPUT_PATH = path.join(WEBPACK_OUTPUT_PATH, PDF_JS_CMAPS_PATH);
+const PDF_JS_CMAPS_PUBLIC_PATH = path.join(WEBPACK_PUBLIC_PATH, PDF_JS_CMAPS_PATH);
+
 const IS_EE = require('./helpers/is_ee_env');
 const IS_JH = require('./helpers/is_jh_env');
 
 const SOURCEGRAPH_PACKAGE = '@sourcegraph/code-host-integration';
 const GITLAB_WEB_IDE_PACKAGE = '@gitlab/web-ide';
+const PDFJS_PACKAGE = 'pdfjs-dist';
 
 const copyFilesPatterns = [
   {
-    from: path.join(ROOT_PATH, 'node_modules/pdfjs-dist/cmaps/'),
-    to: path.join(WEBPACK_OUTPUT_PATH, 'pdfjs/cmaps/'),
+    from: path.join(ROOT_PATH, 'node_modules', PDFJS_PACKAGE, 'cmaps'),
+    to: PDF_JS_CMAPS_OUTPUT_PATH,
   },
   {
-    from: path.join(ROOT_PATH, 'node_modules/pdfjs-dist/legacy/build/pdf.worker.min.js'),
-    to: path.join(WEBPACK_OUTPUT_PATH, 'pdfjs/'),
+    from: path.join(ROOT_PATH, 'node_modules', PDFJS_PACKAGE, PDF_JS_WORKER_FILE_PATH),
+    to: PDF_JS_WORKER_OUTPUT_PATH,
   },
   {
     from: path.join(ROOT_PATH, 'node_modules', SOURCEGRAPH_PACKAGE, '/'),
@@ -49,6 +60,8 @@ module.exports = {
   ROOT_PATH,
   WEBPACK_OUTPUT_PATH,
   WEBPACK_PUBLIC_PATH,
+  PDF_JS_WORKER_PUBLIC_PATH,
+  PDF_JS_CMAPS_PUBLIC_PATH,
   SOURCEGRAPH_PUBLIC_PATH,
   GITLAB_WEB_IDE_PUBLIC_PATH,
   copyFilesPatterns,
diff --git a/vite.config.js b/vite.config.js
index 0e83545650fcaf5cf6ce6f710a545c06d7c15788..f93b45e1bc0eddcdcdd562813beee9ffb1624952 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -11,6 +11,8 @@ import {
   IS_JH,
   SOURCEGRAPH_PUBLIC_PATH,
   GITLAB_WEB_IDE_PUBLIC_PATH,
+  PDF_JS_WORKER_PUBLIC_PATH,
+  PDF_JS_CMAPS_PUBLIC_PATH,
   copyFilesPatterns,
 } from './config/webpack.constants';
 /* eslint-disable import/extensions */
@@ -118,6 +120,8 @@ export default defineConfig({
     'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
     'process.env.SOURCEGRAPH_PUBLIC_PATH': JSON.stringify(SOURCEGRAPH_PUBLIC_PATH),
     'process.env.GITLAB_WEB_IDE_PUBLIC_PATH': JSON.stringify(GITLAB_WEB_IDE_PUBLIC_PATH),
+    'process.env.PDF_JS_WORKER_PUBLIC_PATH': JSON.stringify(PDF_JS_WORKER_PUBLIC_PATH),
+    'process.env.PDF_JS_CMAPS_PUBLIC_PATH': JSON.stringify(PDF_JS_CMAPS_PUBLIC_PATH),
     'window.VUE_DEVTOOLS_CONFIG.openInEditorHost': JSON.stringify(
       viteGDKConfig.hmr
         ? `${process.env.VITE_HMR_HTTP_URL}/vite-dev/`