Open In App

How to add HTML and CSS into PDF File ?

HTML and CSS are regularly converted into PDF format during web development. PDFs enable the creation of printable documents, information exchange across several platforms, and preserving a webpage’s original layout.

Several JavaScript libraries can help us to complete our tasks. Libraries like html2pdf and jsPDF are well-known for converting webpages into PDF files.



Several methods exist for converting HTML and CSS to PDF, including:

Using the jsPDF library

On the client side PDF file creation is possible thanks to the jsPDF JavaScript library. It provides a simple approach for creating and downloading PDF files directly in the browser by combining HTML, CSS, and JavaScript. Documents like reports, invoices, tickets, etc. that need to be printed or delivered are routinely created using this library.



Syntax:

// Loading the jsPDF library
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>

// Creating a new jsPDF object
let pdf = new jsPDF();

Example: In this example, we will see how we will convert the HTML and CSS code into a pdf document using the jsPDF library in javascript.




<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0">
    <script src=
    </script>
</head>
 
<body>
    <div class="GFG">
        <h1 style="color: tomato;">
            GeeksForGeeks
        </h1>
        <h2>Founded by Sandeep Jain</h2>
        <p>A Computer Science portal for geeks. </p>
        <p>
            It contains well written, well thought
            and well explained computer science
            and programming articles.
        </p>
    </div>
 
    <button id="btn"> PDF MAKER </button>
 
    <script>
        let button = document.getElementById("btn");
        button.addEventListener("click", function () {
            let doc = new jsPDF();
            let pdf = document.querySelector(".GFG");
            doc.fromHTML(pdf);
            doc.save("GFG.pdf");
        });
    </script>
</body>
 
</html>

Output:

How to add  HTML and CSS into PDF File ?

Using the html2pdf Library

html2pdf is a JavaScript library that facilitates converting HTML content, including CSS styles, into downloadable PDF files, providing a straightforward way to generate PDFs directly from web pages. It simplifies the process of creating PDFs from web pages without the need for server-side processing.

Syntax:

// Loading the html2pdf library
<script src= "https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.9.2/html2pdf.bundle.js"> </script>
//Creating a pdf
let element = document.getElementById("HTML tag selector");
html2pdf("tag");

Example: In this example, we will again see how we will convert the HTML and CSS code into a pdf document using the html2pdf library in javascript.




<!DOCTYPE html>
<html>
 
<head>
    <script src=
    </script>
</head>
 
<body>
    <div id="content">
        <h1 style="color: tomato;">
            GeeksForGeeks
        </h1>
 
        <h2>Founded by Sandeep Jain</h2>
 
        <p>A Computer Science portal for geeks. </p>
 
        <p>
            It contains well written, well thought
            and well explained computer science
            and programming articles.
        </p>
    </div>
 
    <button id="download-pdf">Download PDF</button>
 
    <script>
        document.getElementById('download-pdf')
            .addEventListener('click', () => {
                const element = document.getElementById('content');
                const options = {
                    filename: 'GFG.pdf',
                    margin: 0,
                    image: { type: 'jpeg', quality: 0.98 },
                    html2canvas: { scale: 2 },
                    jsPDF: {
                        unit: 'in',
                        format: 'letter',
                        orientation: 'portrait'
                    }
                };
 
                html2pdf().set(options).from(element).save();
            });
    </script>
</body>
 
</html>

Output:

How to add  HTML and CSS into PDF File ?


Article Tags :