2013-03-28 15 views
5

Abbiamo un documento PDF e dobbiamo mostrare una miniatura del documento. L'unico modo per farlo è convertire il documento PDF in un file immagine e mostrare l'immagine come miniatura.Converti file PDF in immagine in javascript/Jquery

Qualcuno può aiutarmi a convertire il PDF in file immagine? c'è qualche plugin disponibile? Grazie

+0

Vedi questo post, utilizza PHP, CUS non è possibile con JS: http://stackoverflow.com/questions/467793/how-do-i-convert-a-pdf-document-to-a-preview-image-in-php – Niels

+2

C'è il [PDF.js] (ht tps: //github.com/mozilla/pdf.js), che rende i PDF in un browser che utilizza JavaScript. Quindi applica il ridimensionamento ... Ma questo non ti dà un'immagine *. –

+2

Dopo il rendering con PDF.js puoi usare l'API HTML5 Canvas per scaricarlo in un buffer di immagini e salvarlo :) –

risposta

0

Per convertire un PDF in img, non è possibile utilizzare JS (tranne che per mostrare solo).

È necessario utilizzare una libreria come ImageMagick (PHP) o Ghostscript (riga di comando).

Visita GhostScript

Un po 'difficile da usare ma estremamente potente.

1

È possibile utilizzare l'API PHP ImageMagick a questo scopo. qui ho incluso il codice di esempio per il vostro riferimento.

<?php 
    $location = "/usr/local/bin/convert"; // Binaries Location 
    $name  = "myfile.pdf"; //Source PDF File 
    $nameto  = "myfile.jpg"; // Output File 
    $convert = $location . " " . $name . " ".$nameto; // Command creating 
    exec ($convert); // Execution of complete command. 

    echo "PDF converted to JPEG!!"; 
    ?> 

Inoltre refer this page, è possibile ottenere maggiori informazioni

0

uso

<script src="@Url.Content("~/Scripts/pdf.js")" type="text/javascript"></script> 
 
<script src="@Url.Content("~/Scripts/pdf.worker.js")" type="text/javascript"></script> 
 
<script src="@(Url.Content("~/Scripts/common.js"))"></script> 
 

 

 
PDFJS.disableWorker = true; 
 
        if (filesName[i].name.trim().substring(filesName[i].name.trim().lastIndexOf('.')).toLowerCase()==".pdf") { 
 
         PDFJS.getDocument(fileVal[i]).then(function getPdfHelloWorld(pdf) { 
 
          debugger; 
 
          pdf.getPage(pageNoForConversion).then(function getPageHelloWorld(page) { 
 
           debugger; 
 
           try { 
 
            var scale = 1.5; 
 
            var viewport = page.getViewport(scale); 
 
            var canvas = document.getElementById('the-canvas'); 
 
            var context = canvas.getContext('2d'); 
 
            canvas.height = viewport.height; 
 
            canvas.width = viewport.width; 
 
            page.render({ canvasContext: context, viewport: viewport }).then(function() { 
 
             passDataToGenerateGrid(i); 
 
             //setTimeout(passDataToGenerateGrid(i), 50000); 
 
            }); 
 
           } catch (e) { 
 

 
           } 
 
          }).then(function() { 
 

 
          });