Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Is it possible to style the built in pdf.js viewer using CSS/modify in general?

more options

A lot of firefox is customizable via userchrome or extensions, however one thing that does not seem to be is the default PDF.js viewer. I would like to continue using it; however, I would like to change the styling on it (specifically I want to change how page breaks are rendered, which I already have the CSS for). Extensions obviously will not work as it is an internal file, userChrome doesn't work (I tried it), and I can't seem to find where the viewer is actually located on my PC (Search Everything brings nothing relevant up for pdfjs, pdf.js, or viewer.html.) Is there any way that I can modify the inbuilt PDF viewer?


PS this is probably unimportant but I noticed that https://mozilla.github.io/pdf.js/web/viewer.html has slightly different CSS from the built in version .

A lot of firefox is customizable via userchrome or extensions, however one thing that does not seem to be is the default PDF.js viewer. I would like to continue using it; however, I would like to change the styling on it (specifically I want to change how page breaks are rendered, which I already have the CSS for). Extensions obviously will not work as it is an internal file, userChrome doesn't work (I tried it), and I can't seem to find where the viewer is actually located on my PC (Search Everything brings nothing relevant up for pdfjs, pdf.js, or viewer.html.) Is there any way that I can modify the inbuilt PDF viewer? PS this is probably unimportant but I noticed that https://mozilla.github.io/pdf.js/web/viewer.html has slightly different CSS from the built in version .

Chosen solution

Instead of a userChrome file, a userContent.css file is what you would use to style pages that are actually displayed on Firefox, even if they are internal pages. The file needs to be added to the same folder as the userChrome.

To make sure it only changes the CSS of the PDF viewer, you would probably need to encapsulate everyone in @-moz-document url(URL_FOR_THE_PDF_VIEWER), although I admittedly don't know what the internal path for the pdf.js would be.

You can try not encapsulating the CSS, but it might modify other pages or websites that share similar classes or IDs (depending on what CSS selectors you are using).

Hope this helps.

Read this answer in context 👍 1

All Replies (2)

more options

Chosen Solution

Instead of a userChrome file, a userContent.css file is what you would use to style pages that are actually displayed on Firefox, even if they are internal pages. The file needs to be added to the same folder as the userChrome.

To make sure it only changes the CSS of the PDF viewer, you would probably need to encapsulate everyone in @-moz-document url(URL_FOR_THE_PDF_VIEWER), although I admittedly don't know what the internal path for the pdf.js would be.

You can try not encapsulating the CSS, but it might modify other pages or websites that share similar classes or IDs (depending on what CSS selectors you are using).

Hope this helps.

more options

Cool, thanks! I think this should work for me. I'll probably just use super specific selectors to avoid that happening.

Edit: Never mind, I think that that didn't work.. I copied .pdfViewer .page { margin: 1px auto -3px auto !important; border: 1px dashed transparent !important; }

into my userContent.css and it didn't do anything.

Edit: Sorry again! It worked. The error was in my CSS.

Modified by ev3commander