JSFiddle - React, Tailwind, and code Playground
by Rapha Souza
HTML
<script src="https://code.jquery.com/jquery-3.4.1.slim.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.css">
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<title>Exportar HTML para PDF</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.71/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.71/vfs_fonts.js"></script>
</head>
<body>
<h1>Exportar HTML para PDF</h1>
<div id="content">
<h2>Conteúdo</h2>
<p>
Este é um exemplo de conteúdo que será exportado para PDF com cabeçalho
e rodapé fixos em todas as páginas.
</p>
<p>Adicione mais conteúdo aqui para gerar várias páginas no PDF...</p>
<p>Parágrafo 3...</p>
<p>Parágrafo 4...</p>
<!-- Continue adicionando mais conteúdo -->
</div>
<button onclick="exportToPDF()">Exportar para PDF</button>
<script>
function exportToPDF() {
var docDefinition = {
content: [
{
stack: [
{ text: "Conteúdo", style: "header" },
{
text: document.getElementById("content").innerText,
style: "content",
},
],
},
],
styles: {
header: {
fontSize: 18,
bold: true,
margin: [0, 0, 0, 10],
},
content: {
fontSize: 12,
},
},
header: function (currentPage, pageCount) {
return {
image:...
CSS
.row {
background: #f8f9fa;
margin-top: 20px;
}
.col {
border: solid 1px #6c757d;
padding: 10px;
}