# Full version of PDFNetJS has not been loaded

**URL:** <https://pdfjs.community/t/full-version-of-pdfnetjs-has-not-been-loaded/2163>\
**Category:** Technical Support\
**Tags:** pdfjs-express\
**Created:** [November 14, 2022, 1:42pm UTC](https://pdfjs.community/t/full-version-of-pdfnetjs-has-not-been-loaded/2163 "2022-11-14T13:42:53Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![alex](https://yyz1.discourse-cdn.com/flex031/user_avatar/pdfjs.community/alex/32/133_2.png) [@alex](https://pdfjs.community/u/alex)\
**Post date:** [November 14, 2022, 1:42pm UTC](https://pdfjs.community/t/full-version-of-pdfnetjs-has-not-been-loaded/2163/1 "2022-11-14T13:42:53Z")

</div>

**Which product are you using?**  
PDF.js Express Plus

**PDF.js Express Version**  
8.7.0

**Detailed description of issue**  
We are seeing the following error without any code changes on our side:

```javascript
Uncaught (in promise) Error: Full version of PDFNetJS has not been loaded. Please pass the "fullAPI: true" option in your WebViewer constructor to use the PDFNet APIs.
    at Object.get (webviewer-core.min.js:2408:73)
    at Proxy.toString (<anonymous>)
    at isPlainObject (vue.esm.js?4b29:55:1)
    at observe (vue.esm.js?4b29:967:1)
    at defineReactive (vue.esm.js?4b29:991:1)
    at new Observer (vue.esm.js?4b29:941:1)
    at observe (vue.esm.js?4b29:972:1)
    at defineReactive (vue.esm.js?4b29:991:1)
    at new Observer (vue.esm.js?4b29:941:1)
    at observe (vue.esm.js?4b29:972:1)

```

Trying to workaround it by following the instructions I get this:

```javascript
Uncaught (in promise) Error: "fullAPI" is not a valid constuctor option for PDF.js Express. Please make sure you are referring to the proper documentation (https://pdfjs.express/documentation)
    at c.WebViewer._getHTML5OptionsURL (webviewer.min.js:1:17886)
    at c.WebViewer._createHTML5 (webviewer.min.js:1:20498)
    at c.WebViewer._createViewer (webviewer.min.js:1:14742)
    at c.WebViewer._create (webviewer.min.js:1:13020)
    at c.WebViewer.create (webviewer.min.js:1:12797)
    at new c.WebViewer (webviewer.min.js:1:12494)
    at webviewer.min.js:1:26794
    at new Promise (<anonymous>)
    at v (webviewer.min.js:1:25339)
    at VueComponent.loadWebViewer (UiPdfViewer.vue?bc8e:75:1)

```

I am unsure how this is caused without code changes on our side but this is very worrying and hope there is a quick fix.

**Expected behaviour**  
The PDF.js Express viewer to work.

**Does your issue happen with every document, or just one?**  
Every.

**Link to document**  
Not needed.

**Code snippet**  
No snippet to share.

---

<div class="post-metadata">

**Author:** ![kkim](https://avatars.discourse-cdn.com/v4/letter/k/3ab097/32.png) [@kkim](https://pdfjs.community/u/kkim)\
**Post date:** [November 14, 2022, 5:12pm UTC](https://pdfjs.community/t/full-version-of-pdfnetjs-has-not-been-loaded/2163/3 "2022-11-14T17:12:48Z")

</div>

Hi there,

Thank you for contacting pdf.js express forums,

Are you using any PDFNet in your code?  
i.e. something like

```javascript
  const { documentViewer, annotationManager, PDFNet } = instance.Core;

  documentViewer.addEventListener('documentLoaded', async () => {
    await PDFNet.initialize();
  })

```

Can you share your WebViewer constructor? there shouldn’t be a ‘fullAPI’ option for pdf.js express.

Thank you in advance.

Best regards,  
Kevin Kim

Share how you are using PDF.js Express in your organization you could win a **$500 Amazon gift card. All participants will receive 6 months of PDF.js Express+ for free**. Learn more [here](https://utm.guru/ueQNw)

---

<div class="post-metadata">

**Author:** ![alex](https://yyz1.discourse-cdn.com/flex031/user_avatar/pdfjs.community/alex/32/133_2.png) [@alex](https://pdfjs.community/u/alex)\
**Post date:** [November 14, 2022, 5:32pm UTC](https://pdfjs.community/t/full-version-of-pdfnetjs-has-not-been-loaded/2163/4 "2022-11-14T17:32:45Z")

</div>

No, we are not and have never (I don’t even know what it is).

We are invoking the WebViewer with these arguments:

```javascript
{
    "path": "/build/pdfjs/8.7.0",
    "licenseKey": null,
    "disableLogs": false,
    "enableAnnotations": false,
    "disableFlattenedAnnotations": true
}

```

(license key is filled, but left it out in this example)

---

<div class="post-metadata">

**Author:** ![kkim](https://avatars.discourse-cdn.com/v4/letter/k/3ab097/32.png) [@kkim](https://pdfjs.community/u/kkim)\
**Post date:** [November 14, 2022, 8:00pm UTC](https://pdfjs.community/t/full-version-of-pdfnetjs-has-not-been-loaded/2163/5 "2022-11-14T20:00:37Z")

</div>

Hi Alex,

Thank you for your response,

Can you try with a minimal WebViewer constructor and see if the issue is reproducible?

> **[Display & View Documents using PDF.js Express | Documentation](https://pdfjs.express/documentation/samples/viewing)**

It looks like you are using a Vue integration, can you confirm if there were any path or other environment changes? [Integrate Vue.js & JavaScript PDF Viewer | PDF.js Express SDK](https://pdfjs.express/documentation/get-started/vue#initial-setup)

If you are still experiencing this issue, can you please share a minimal runnable sample project so we can reproduce on our end?

Thank you in advance.

Best regards,  
Kevin Kim

Share how you are using PDF.js Express in your organization you could win a **$500 Amazon gift card. All participants will receive 6 months of PDF.js Express+ for free**. Learn more [here](https://utm.guru/ueQNw)

---

<div class="post-metadata">

**Author:** ![alex](https://yyz1.discourse-cdn.com/flex031/user_avatar/pdfjs.community/alex/32/133_2.png) [@alex](https://pdfjs.community/u/alex)\
**Post date:** [November 14, 2022, 8:42pm UTC](https://pdfjs.community/t/full-version-of-pdfnetjs-has-not-been-loaded/2163/6 "2022-11-14T20:42:58Z")

</div>

So this is interesting, and thanks for your comments because that helped with debugging here.

I already couldn’t understand what was going because I doubted it could be related to a remote issue.

The problem here is that we store the WebViewer instance in a Vue component property.

However, it seems that recent changes in Vue or some other support library causes some code to be executed in the WebViewer instance. I would never have expected this to happen and I also haven’t totally locked down what is even happening or why.

We ended up fixing it by making sure we store the WebViewer instance non-reactive (was not needed to be reactive in the first place but that’s just how Vue works).

I don’t have the bandwidth to extract the meaninful parts from our environment to a small enough example unfortunately at this moment, sorry for that. But hopefully this thread helps any other Vue user when they run into this.

---

<div class="post-metadata">

**Author:** ![kkim](https://avatars.discourse-cdn.com/v4/letter/k/3ab097/32.png) [@kkim](https://pdfjs.community/u/kkim)\
**Post date:** [November 14, 2022, 8:55pm UTC](https://pdfjs.community/t/full-version-of-pdfnetjs-has-not-been-loaded/2163/7 "2022-11-14T20:55:59Z")

</div>

Hi Alex,

Glad that worked out for you!

Thank you for sharing your update.

Best regards,  
Kevin Kim

Share how you are using PDF.js Express in your organization you could win a **$500 Amazon gift card. All participants will receive 6 months of PDF.js Express+ for free**. Learn more [here](https://utm.guru/ueQNw)

---

<div class="post-metadata">

**Author:** ![xuanhieuduong1999](https://avatars.discourse-cdn.com/v4/letter/x/a6a055/32.png) [@xuanhieuduong1999](https://pdfjs.community/u/xuanhieuduong1999)\
**Post date:** [November 2, 2023, 4:15am UTC](https://pdfjs.community/t/full-version-of-pdfnetjs-has-not-been-loaded/2163/8 "2023-11-02T04:15:13Z")

</div>

Hi alex, could you give more detail how you can fix this in vue js (some code or some description will help), thanks

---

<div class="post-metadata">

**Author:** ![alex](https://yyz1.discourse-cdn.com/flex031/user_avatar/pdfjs.community/alex/32/133_2.png) [@alex](https://pdfjs.community/u/alex)\
**Post date:** [November 2, 2023, 5:01pm UTC](https://pdfjs.community/t/full-version-of-pdfnetjs-has-not-been-loaded/2163/9 "2023-11-02T17:01:29Z")

</div>

We had something along the lines of:

```js
    export default {
        data() {
            return {
                options: { /* ... */ },
                webviewer: null,
            };
        },

```

And later in our code we did `this.webviewer = instance` after we instantiated the webviewer. This causes the `this.webviewer` to be reactive, so our simple fix was to remove `webviewer` from the `data()` which prevents that from happending. We still do `this.webviewer = instance` so we can reference it but don’t pre-fill it in our `data()`.

```diff
    export default {
        data() {
            return {
                options: { /* ... */ },
- webviewer: null,
            };
        },

```

Hope that helps 😅

---

<div class="post-metadata">

**Author:** ![david1](https://avatars.discourse-cdn.com/v4/letter/d/73ab20/32.png) [@david1](https://pdfjs.community/u/david1)\
**Post date:** [October 17, 2025, 1:28pm UTC](https://pdfjs.community/t/full-version-of-pdfnetjs-has-not-been-loaded/2163/10 "2025-10-17T13:28:12Z")

</div>

I ran into the same issue with svelte5 states.

This code causes the same issue as seen on this thread:

```js
let instance = $state<any>();
onMount(async () => {
  const element = document.getElementById(‘viewer’);
  instance = await PDFJSExpress({ ... }, element);
});

```

The fix is to use `$state.raw`, ie:

```js
let instance = $state.raw<any>();

```
