He intentado crear una extensión de Chrome simple para ayudarme a descargar manga a un libro electrónico.
Cómo funciona: obtengo las fuentes de img como una cadena separada por un espacio desde el sitio web hasta el lado de la extensión y las divido en la tabla. Y ahora mi función adjunta a continuación debería verificar cada imagen (página) de manga, volver a dibujarla en el lienzo y volver a crearla en img sin procesar (porque debería ser así para pdfjs).
Mi problema:
function preparedownloadPDF(imagelist){ var page = 0; console.log(imagelist); var doc = new jsPDF(); var imageArray = imagelist.split(" "); console.log(imageArray); for(var i = 0; i < imageArray.length; i++) { if(imageArray[i] != "") { pdf.getImgFromUrl(imageArray[i]); //pdf.generatePDF(); } } pdf.saveFile("123.pdf") } var pdf = { page: 0, img: null, options: {orientation: 'p', unit: 'mm', format: "custom"}, doc: new jsPDF(this.options), getImgFromUrl: function(base_url){ this.img = new Image(); this.img.src = base_url; console.log(this.img.src + " baseurl: "+ base_url) this.img.onload = function () { pdf.generatePDF(); }; }, generatePDF: function(){ //redrawing image to canvas, to later recreate this as a BASE64 string(RAW data) var canvas = document.createElement("canvas"); canvas.width = this.img.width; canvas.height = this.img.height; console.log("canvas") console.log(canvas.width + "x" + canvas.height) canvas.getContext("2d").drawImage(this.img, 0, 0); var image = document.createElement("img"); image.src = canvas.toDataURL(); document.body.appendChild(image); if(this.page++ != 0) pdf.doc.addPage(); pdf.doc.addImage(this.img, 10, 10); }, saveFile: function(name){ this.doc.save(name) this.page = 0; } }¿Algun consejo?
@
No adjunto código de URL de validación, etc. Uso como sitio web válido de phoenix-scans pl.