> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/web/get-started/faq/chrome-77-printing.md).

# Printing doesn't work in Chrome 77 with client rendering

World's #1 PDF SDK Library for Web, Mobile, Server, Desktop

In Chrome 77 the behavior changed so that PDFs with auto-print enabled that are embedded in a web page no longer trigger the print dialog [https://pdfium.googlesource.com/pdfium.git/+/2021804f1b414c97667c03d7ab19daf66f6a19ef](https://pdfium.googlesource.com/pdfium.git/+/2021804f1b414c97667c03d7ab19daf66f6a19ef/)

By default WebViewer has taken this approach in Chrome for printing when using client rendering since version 2.2.1, which is why you may see issues trying to print in Chrome.

{% hint style="info" %}
Note that if you are loading XOD files, office files or using WebViewer server for rendering then you are not affected.
{% endhint %}

## Solutions

### Update to latest version

WebViewer versions 5.2.5 and higher contain a fix for this issue. If you update to the latest version this problem will be fixed. [Download the latest version here.](https://docs.apryse.com/downloads/WebViewer.zip)

Note that the fix is only applied to the default UI. If you're using the legacy UI or unable to update to the latest WebViewer version please use the workaround below.

### Version 4+ with default UI

Call the [`instance.useEmbeddedPrint(false)`](https://sdk.apryse.com/api/web/UI.html#.useEmbeddedPrint__anchor) function after WebViewer is ready.

In versions 5.1+

{% tabs %}
{% tab title="JavaScript" %}
{% code lineNumbers="true" %}

```js
WebViewer({
  //...
}, viewerElement).then(instance => {
  instance.useEmbeddedPrint(false);
});
```

{% endcode %}
{% endtab %}
{% endtabs %}

In versions 4.x or 5.0

{% tabs %}
{% tab title="JavaScript" %}
{% code lineNumbers="true" %}

```js
const myWebViewer = new PDFTron.WebViewer({
  // ...
}, viewerElement);

viewerElement.addEventListener('ready', () => {
  myWebViewer.getInstance().useEmbeddedPrint(false);
});
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Version 2.2.1+ with legacy UI

Inside a [config file](/web/advanced/config-files.md)

{% tabs %}
{% tab title="JavaScript" %}
{% code lineNumbers="true" %}

```js
window.isPDFiumSupported = function() { 
  return Promise.resolve(false);
};
```

{% endcode %}
{% endtab %}
{% endtabs %}

Outside a config file

{% tabs %}
{% tab title="JavaScript" %}
{% code lineNumbers="true" %}

```js
var myWebViewer = new PDFTron.WebViewer({
  //...
}, viewerElement);

$(viewerElement).on('ready', function() {
  var iframeWindow = viewerElement.querySelector('iframe').contentWindow;
  iframeWindow.isPDFiumSupported = function() { 
    return Promise.resolve(false);
  };
});
```

{% endcode %}
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/web/get-started/faq/chrome-77-printing.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
