Untitled
unknown
javascript
2 years ago
2.1 kB
10
Indexable
// Wait for the document to be fully loaded
document.addEventListener("DOMContentLoaded", function () {
// Attach the click event to the button with id "GetFile"
document
.getElementById("GetFile")
.addEventListener("click", async function () {
try {
// Check if PDF-lib is available
if (typeof PDFLib === "undefined") {
// If not, dynamically load the PDF-lib script
const script = document.createElement("script");
script.src =
"https://cdn.jsdelivr.net/npm/pdf-lib@1.16.0/dist/pdf-lib.js";
script.type = "text/javascript";
script.onload = function () {
// Once the script is loaded, execute the code that depends on PDF-lib
createAndDownloadPDF();
};
// Append the script to the document's head
document.head.appendChild(script);
} else {
// If PDF-lib is already available, directly execute the code
createAndDownloadPDF();
}
} catch (error) {
console.error("Error:", error);
}
});
});
// Function to create and download PDF
async function createAndDownloadPDF() {
try {
// Create a new PDF document
const pdfDoc = await PDFLib.PDFDocument.create();
// Add a new page to the document
const page = pdfDoc.addPage();
// Add text to the page
const text = "This is my file PDF";
page.drawText(text, { x: 50, y: 500 });
// Save the PDF document as a blob
const pdfBytes = await pdfDoc.save();
// Create a URL from the blob
const pdfUrl = URL.createObjectURL(
new Blob([pdfBytes], { type: "application/pdf" })
);
// Create an <a> element for downloading
const a = document.createElement("a");
a.href = pdfUrl;
a.download = "myfile.pdf";
document.body.appendChild(a);
// Trigger the click event to initiate the download
a.click();
// Remove the <a> element from the document
document.body.removeChild(a);
// Release the temporary URL
URL.revokeObjectURL(pdfUrl);
} catch (error) {
console.error("Error:", error);
}
}
Editor is loading...
Leave a Comment