2017-06-14 3 views
1

Je voudrais générer une vignette à partir d'un fichier pdf en utilisant PDF.js, mais ce n'est pas comme les autres js qui ont un seul fichier et tout le nécessaire pour inclure le js dans votre le projet est d'écrire:Générer la vignette d'un pdf en utilisant PDF.js

<script src="any.js"></script> 

Comment puis-je utiliser PDF.js dans mon projet? J'utilise PHP en backend.

+0

Avez-vous essayé cette solution? https://stackoverflow.com/questions/467793/how-do-i-convert-a-pdf-document-to-a-preview-image-in-php –

Répondre

1

Basé sur helloworld example:

function makeThumb(page) { 
 
    // draw page to fit into 96x96 canvas 
 
    var vp = page.getViewport(1); 
 
    var canvas = document.createElement("canvas"); 
 
    canvas.width = canvas.height = 96; 
 
    var scale = Math.min(canvas.width/vp.width, canvas.height/vp.height); 
 
    return page.render({canvasContext: canvas.getContext("2d"), viewport: page.getViewport(scale)}).promise.then(function() { 
 
    return canvas; 
 
    }); 
 
} 
 

 
PDFJS.getDocument("//cdn.mozilla.net/pdfjs/tracemonkey.pdf").promise.then(function (doc) { 
 
    var pages = []; while (pages.length < doc.numPages) pages.push(pages.length + 1); 
 
    return Promise.all(pages.map(function (num) { 
 
    // create a div for each page and build a small canvas for it 
 
    var div = document.createElement("div"); 
 
    document.body.appendChild(div); 
 
    return doc.getPage(num).then(makeThumb) 
 
     .then(function (canvas) { 
 
     div.appendChild(canvas); 
 
    }); 
 
    })); 
 
}).catch(console.error);
<script src="//npmcdn.com/pdfjs-dist/build/pdf.js"></script>

+0

Merci l'homme, mais j'ai essayé avec une autre URL (http://www.shellgreenier.com/MGreenier-Resume.pdf) et a ce problème: Aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur la ressource demandée. Origine 'http: // localhost' n'est donc pas autorisé à accéder. –

+0

cdn.mozilla.net a CORS activé - vous ne pouvez pas demander une URL aléatoire pour fournir des données pour le site Web différent. téléchargez le pdf et le code sur votre site Web pour jouer avec le manuscrit. voir aussi https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#faq-xhr – async5