2013-03-28 12 views
5

Mamy dokument PDF i musimy pokazać miniaturę dokumentu. Jedynym sposobem na to jest przekonwertowanie dokumentu PDF do pliku obrazu i wyświetlenie obrazu jako miniatury.Konwersja pliku PDF na obraz w javascript/Jquery

Czy ktoś pomoże mi przekonwertować plik PDF na obraz? czy jest dostępna jakaś wtyczka? Dzięki

+0

Zobacz ten post, wykorzystuje PHP, cus nie jest to możliwe z JS: http://stackoverflow.com/questions/467793/how-do-i-convert-a-pdf-document-to-a-preview-image-in-php – Niels

+2

Istnieje plik [PDF.js] (ht tps: //github.com/mozilla/pdf.js), który renderuje pliki PDF w przeglądarce przy użyciu JavaScript. Więc zastosuj skalowanie ... Ale to nie daje obrazu *. –

+2

Po renderowaniu za pomocą pliku PDF.js można użyć interfejsu API Canvas HTML5, aby zrzucić go do bufora obrazu i zapisać go :) –

Odpowiedz

0

Aby przekonwertować plik PDF na plik img, nie można używać JS (z wyjątkiem pokazu).

Musisz użyć biblioteki takiej jak ImageMagick (PHP) lub Ghostscript (wiersz poleceń).

Odwiedź GhostScript

Trochę trudne do wykorzystania, ale wyjątkowo mocny.

1

Do tego celu można użyć PHP API ImageMagick. tutaj zawiera przykładowy kod w celach informacyjnych.

<?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!!"; 
    ?> 

także refer this page, dostaniesz więcej informacji

0

użycie

<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() { 
 

 
          });