2017-08-08 6 views
0

J'essaie de convertir un pdf avec une seule page en fichier jpg afin que je puisse le télécharger en tant qu'image dans une base de données. Je quelques problèmes avec Imageick (rien ne se passe quand je lis le fichier et l'écrire, même si je ne reçois pas d'erreur est ici la forme en html.Conversion d'un fichier PDF au format JPG obtenu sous forme html - PHP/HTML

<form enctype="multipart/form-data" class="generalForm" onsubmit="return validateForm()" action="../includes/connect.php" method="POST"> 
      <label class="headLabel">DODAJ</label> 
      <br> 
      <br> 
      <input class="inputTextSub" id="naziv" name="naziv" placeholder="naziv" onfocus="this.placeholder = ''" onblur="this.placeholder = 'naziv'" type="text"> 
      <br> 
      <br> 
      <input class="inputTextSub" id="opis" name="opis" placeholder="opis" onfocus="this.placeholder = ''" onblur="this.placeholder = 'naziv'" type="text"> 
      <br> 
      <br> 
      <input class="inputTextSub" id="datumz" name="datumz" type="date"> 
      <br> 
      <br> 
      <input class="inputTextSub" id="datumk" name="datumk" type="date"> 
      <br> 
      <br> 
      <label class="inputTextSub">prioriteta</label> 
      <select class="inputSelSub" id="pr" name="pr"> 
       <option value=1>1</option> 
       <option value=2>2</option></select> 
      <br> 
      <br> 
      <label class="inputTextSub">format</label> 
      <select class="inputSelSub" id="format" name="format"> 
       <option value=A3>A3</option> 
       <option value=A4>A4</option></select> 
      <br> 
      <br> 
THIS ---> <input type="file" name="inputfile" id="file" class="inputfile" /> 
      <br> 
      <line id="addWarn" style="font-family: 'Ubuntu'; font-size:1em; -webkit-text-fill-color: white; letter-spacing: 2px;"></line> 
      <br> 
      <br> 
      <input class="button" style="margin-top:2em;" name="save" type="submit" value=" shrani "> 
     </form> 

et est ici le code en php :

if(isset($_POST['save'])){ 
if(!$_POST['naziv']==""&&!$_POST['opis']==""&&!$_POST['datumz']=="" 
&&!$_POST['datumk']==""&&isset($_POST['pr']) 
&&isset($_POST['format'])&&$_FILES['inputfile']['size']>0){ 
    $naziv = $_POST['naziv']; 
    $opis = $_POST['opis']; 
    $datumz = $_POST['datumz']; 
    $datumk = $_POST['datumk']; 
    $pr = $_POST['pr']; 
    $format = $_POST['format']; 
    $file = file_get_contents($_FILES['inputfile']['tmp_name']); 
    $modId = $_SESSION['mod_id']; 

    $img = new Imagick(); 
    $img->readImage($_FILES['inputfile']['tmp_name']); 
    $img->writeImage('tempImg.jpg'); 


    $stmt = $GLOBALS['conn']->prepare(
    "INSERT INTO `deska`(`mod_id`, `naziv`, `opis`, `datumz`, `datumk`, 
    `prioriteta`, `slika`, `tip`, `datumSpremembe`) 
    VALUES (?,?,?,?,?,?,?,?,CURRENT_DATE)" 
    ); 

    $stmt->bind_param('issssibs',$modId,$naziv,$opis,$datumz,$datumk,$pr,$null,$format); 
    $stmt->send_long_data(6,$file); 

    if(!$stmt->execute()){ 
     die(mysqli_error($GLOBALS['conn'])); 
    } 
    $stmt->close(); 

    header("location: ../sub/dodaj.php"); 
    }else{ 
    header("location: ../sub/dodaj.php"); 

} 

Comme je l'ai dit plus tôt: je suis triyng pour obtenir le fichier PDF téléchargé via le formulaire HTML, changez-le dans un fichier JPEG concentré sur l'objet Imagick, je sais que la requête ne correspond pas à ce que im. J'essaie de faire mais ce n'est pas le problème maintenant, j'essaye juste de sauver le pdf comme une image :). Nous vous remercions de votre aide!

Répondre

0

Vous pouvez utiliser ImageMagick, Si vous utilisez un serveur Ubuntu, vous pouvez installer la magie de l'image par

sudo apt-get install imagemagick 

et l'exécuter par convert input.pdf output.jpg

vous pouvez exécuter la commande à partir de PHP, il auto en utilisant

$result = shell_exec('convert input.pdf output.jpg'); 

Vous pouvez utiliser Advanced image Converter https://www.2jpeg.com/

installer après l'appeler de php

$result = shell_exec('2jpeg.exe -src “source” -dst “destination” -oper Rasterize res:300'); 
+0

c'est windows –