Learn how to display a PDF in HTML using JavaScript.

How to Display a PDF in HTML Using Javascript

Hello there, web wizards and tech-savvy folks! Have you ever come across a PDF file on a website and wished it were just a bit more accessible? Maybe you wanted to display it in-line with the rest of the content or add some interactivity to it. Well, you're in luck! In this article, we're going to dive into the world of displaying PDF files in HTML using Javascript.

We'll cover the when and why of displaying PDF files in HTML, the tools and knowledge you'll need to accomplish this feat, and a step-by-step guide to get you up and running. From embedding the PDF file into your webpage to adding custom controls and annotations, we've got you covered.

And if you're feeling stumped along the way, don't worry! We've also included some common FAQs to help troubleshoot any issues you might encounter. Also, keep in mind that you can add passwords and unlock PDFs with an online PDF service like this example.

So, let's get started and bring those static PDFs to life using SodaPDF online signature and with a little bit of code magic!

When and Why You Would Want to Display a PDF in HTML Using Javascript

Ah, the age-old question - when and why would you want to display a PDF in HTML using Javascript? Well, there are a few good reasons why you might want to do this:

  1. Firstly, displaying a PDF in HTML can make it more accessible to your users. Rather than forcing them to download a PDF file and open it in a separate application, embedding it directly into your webpage can make it easier for them to view and interact with the content.

  1. Secondly, displaying a PDF in HTML allows you to add some extra bells and whistles to the document. You can add custom controls to navigate through the pages, annotations to highlight important information, and even interactive elements like forms or quizzes.

  1. Finally, displaying a PDF in HTML can give your website a more seamless and professional look. By integrating the PDF into the design of your webpage, you can create a more cohesive user experience and keep your visitors engaged for longer.

So, whether you're looking to make your PDFs more accessible, add some extra functionality, or just give your website a little extra polish, displaying a PDF in HTML using Javascript is a great way to achieve your goals.

Software and Knowledge You’ll Need

Alright, folks, let's talk about the tools, software, and knowledge you'll need to display a PDF in HTML using Javascript:

  1. First and foremost, you'll need a text editor to write your code. There are plenty of options out there, from simple text editors like Notepad to more advanced IDEs like Visual Studio Code or Atom. Just pick the one that works best for you.

  1. Next, you'll need some basic knowledge of HTML, CSS, and Javascript. Don't worry if you're not an expert in these languages – we'll be walking you through everything you need to know in this article. But it's good to have a basic understanding of how they work.

  1. To display a PDF in HTML using Javascript, you'll also need a PDF viewer library. There are a few options out there, including PDF.js and Viewer.js. We'll be using PDF.js in our tutorial, but feel free to explore other libraries and see which one works best for your needs.

  1. Finally, you'll need a web server to host your HTML file and PDF viewer library. If you're just experimenting with this on your local machine, you can use a simple web server like Python's built-in http.server module. But if you want to deploy your code to a production server, you'll need a more robust solution.

And that's pretty much it! With a text editor, some basic web development knowledge, a PDF viewer library, and a web server, you'll be well on your way. So let's get cracking!

Step-By-Step Guide

It's time for the moment you've all been waiting for – a step-by-step guide to displaying a PDF in HTML using Javascript! Here we go:

Step 1: Download PDF.js

First things first, you'll need to download the PDF.js library from their website (https://mozilla.github.io/pdf.js/). Once you've downloaded it, extract the files to a folder on your computer.

Step 2: Create an HTML file

Next, create an HTML file in your text editor of choice. Inside the <body> tags, create a <div> element with an ID of "viewerContainer". This is where we'll be displaying our PDF.

Step 3: Add the necessary Javascript files

In the <head> of your HTML file, add references to the PDF.js library files you downloaded in Step 1. Here's an example:


<script src="/path/to/pdf.js"></script>

<script src="/path/to/pdf.worker.js"></script>


Step 4: Create a script to display the PDF

Create a new Javascript file and add the following code:

var url = '/path/to/your/pdf/file.pdf';

pdfjsLib.getDocument(url).promise.then(function(pdf) {

    pdf.getPage(1).then(function(page) {

        var canvas = document.createElement('canvas');

        var container = document.getElementById('viewerContainer');


        var viewport = page.getViewport({
            scale: 1

        canvas.height = viewport.height;

        canvas.width = viewport.width;

        var ctx = canvas.getContext('2d');

        var renderContext = {

            canvasContext: ctx,

            viewport: viewport





Replace the /path/to/your/pdf/file.pdf with the URL or file path to your PDF file.

Step 5: Add the script to your HTML file

In your HTML file, add a reference to the script you just created at the bottom of the <body> tags:


<div id="viewerContainer"></div>

<script src="/path/to/your/script.js"></script>


Step 6: Open your HTML file in a web browser

That's it! Save your HTML and Javascript files, and then open the HTML file in a web browser. You should see your PDF displayed in the <div> element you created earlier.


Here are some common problems you may encounter while displaying a PDF in HTML using Javascript, along with some solutions:

Q: Why isn't my PDF displaying in the browser?

A: There could be a few reasons for this. First, make sure the path to your PDF file is correct in your Javascript file. Second, ensure that your web server is properly configured to serve the PDF file. Finally, check your browser console for any error messages that might point you in the right direction.

Q: My PDF is displaying, but it's not scaled correctly. How can I fix this?

A: You'll need to adjust the scale of the viewport when rendering the PDF page. In the getPage() method, add a second parameter to the getViewport() method with a scale property. For example:

var viewport = page.getViewport({scale: 1.5});

Q: How can I add controls to my PDF viewer, such as a next/previous button or zoom controls?

A: You'll need to create custom controls in your HTML file and add event listeners to them to interact with the PDF viewer. For example, to add a next button, you could create a button in your HTML file like so:

<button id="nextButton">Next</button>

Then, in your Javascript file, you could add an event listener to the button and call the getPage() method with the next page number:

var currentPage = 1;

document.getElementById('nextButton').addEventListener('click', function() {


    pdf.getPage(currentPage).then(function(page) {

        // Render the page



Q: How can I add annotations or interactive elements to my PDF?

A: PDF.js has built-in support for annotations and interactive form elements. Check out the PDF.js documentation for more information on how to add these features.

And there you have it, folks – some common problems you may encounter while displaying a PDF in HTML using Javascript, and some solutions to help you get back on track!

To conclude, in this article, we walked you through the process of displaying a PDF in HTML using Javascript. We discussed the reasons why you might want to do this, the tools and knowledge you'll need, and provided a step-by-step guide to get you started. We also covered some common problems you might encounter and how to troubleshoot them.

Whether you're looking to make your PDFs more accessible, add some extra functionality, or just create a more polished user experience, displaying a PDF in HTML using Javascript is a great way to achieve your goals. So why not give it a try? Happy coding!