This sample demonstrates how to add image from canvas during PDF generation in JavaScript with BytescoutPDF.js (Bytescout PDF Generator for JavaScript).
// function that creates BytescoutPDF instance (defined in BytescoutPDF.js script which have to be included into the same page) // then calls API methods and properties to create PDF document // and returns created BytescoutPDF object instance // this CreatePDF() function is called from Sample.html function CreatePDF() { // create BytescoutPDF object instance var pdf = new BytescoutPDF(); // set document properties: Title, subject, keywords, author name and creator name pdf.propertiesSet("Sample document title", "Sample subject", "keyword1, keyword 2, keyword3", "Document Author Name", "Document Creator Name"); // set page size pdf.pageSetSize(BytescoutPDF.A4); // set page orientation (BytescoutPDF.PORTRAIT = portrait, BytescoutPDF.LANDSCAPE = landscape) pdf.pageSetOrientation(BytescoutPDF.PORTRAIT); // add new page pdf.pageAdd(); // create temporary canvas (you can also simply get existing canvas) var canvas = document.createElement('canvas'); // set width and height canvas.width = 320; canvas.height = 240; // get context from canvas (to draw on) var context = canvas.getContext("2d"); // set white background color context.fillStyle = "#FFFFFF"; // and fill the background with white color context.fillRect(0, 0, 320, 240); // draw the yellow circle context.strokeStyle = "#000000"; context.fillStyle = "#FFFF00"; context.beginPath(); context.arc(100, 100, 50, 0, Math.PI * 2, true); context.closePath(); context.stroke(); context.fill(); // load image from canvas into BytescoutPDF pdf.imageLoadFromCanvas(canvas); // place this image at given X, Y coordinates on the page pdf.imagePlace(20, 40); // return BytescoutPDF object instance return pdf; }
Generated PDF file with image from canvas (click to view full size):