hjkhjkjhkhjkgjghjhgjhgjghjhghjghjhgjjnbvnvbnvk
bnmbnmbnhjkhjkhjkhjktyutyutyuytutyutyutyhgjgjghjgjghjguytutyry
/
home
/
b4h4ej4a6kj6
/
public_html
/
mahetechnologies.co.uk
/
workshop
/
admin
/
js
/
jsPDF-master
/
src
/
modules
/
Upload FileeE
HOME
/** @license * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * ==================================================================== */ import { jsPDF } from "../jspdf.js"; import { console } from "../libs/console.js"; import { globalObject } from "../libs/globalObject.js"; /** * jsPDF SVG plugin * * @name svg * @module */ (function(jsPDFAPI) { "use strict"; function loadCanvg() { return (function() { if (globalObject["canvg"]) { return Promise.resolve(globalObject["canvg"]); } // @if MODULE_FORMAT='es' return import("canvg"); // @endif // @if MODULE_FORMAT!='es' if (typeof exports === "object" && typeof module !== "undefined") { return new Promise(function(resolve, reject) { try { resolve(require("canvg")); } catch (e) { reject(e); } }); } if (typeof define === "function" && define.amd) { return new Promise(function(resolve, reject) { try { require(["canvg"], resolve); } catch (e) { reject(e); } }); } return Promise.reject(new Error("Could not load canvg")); // @endif })() .catch(function(e) { return Promise.reject(new Error("Could not load canvg: " + e)); }) .then(function(canvg) { return canvg.default ? canvg.default : canvg; }); } /** * Parses SVG XML and saves it as image into the PDF. * * Depends on canvas-element and canvg * * @name addSvgAsImage * @public * @function * @param {string} SVG-Data as Text * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page * @param {number} width of SVG-Image (in units declared at inception of PDF document) * @param {number} height of SVG-Image (in units declared at inception of PDF document) * @param {string} alias of SVG-Image (if used multiple times) * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW' * @param {number} rotation of the image in degrees (0-359) * * @returns jsPDF jsPDF-instance */ jsPDFAPI.addSvgAsImage = function( svg, x, y, w, h, alias, compression, rotation ) { if (isNaN(x) || isNaN(y)) { console.error("jsPDF.addSvgAsImage: Invalid coordinates", arguments); throw new Error("Invalid coordinates passed to jsPDF.addSvgAsImage"); } if (isNaN(w) || isNaN(h)) { console.error("jsPDF.addSvgAsImage: Invalid measurements", arguments); throw new Error( "Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage" ); } var canvas = document.createElement("canvas"); canvas.width = w; canvas.height = h; var ctx = canvas.getContext("2d"); ctx.fillStyle = "#fff"; /// set white fill style ctx.fillRect(0, 0, canvas.width, canvas.height); var options = { ignoreMouse: true, ignoreAnimation: true, ignoreDimensions: true }; var doc = this; return loadCanvg() .then( function(canvg) { return canvg.fromString(ctx, svg, options); }, function() { return Promise.reject(new Error("Could not load canvg.")); } ) .then(function(instance) { return instance.render(options); }) .then(function() { doc.addImage( canvas.toDataURL("image/jpeg", 1.0), x, y, w, h, compression, rotation ); }); }; })(jsPDF.API);