将PDF文件转换为JPG格式以html格式获取 - PHP/HTML

问题描述:

我想将单个页面的pdf格式转换为jpg文件,以便我可以将其作为图像上传到数据库。我有一些问题Imageick(当我读文件,写它没有任何反应,虽然我没有得到任何错误 这里是HTML表单:将PDF文件转换为JPG格式以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> 

,这里是在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"); 

} 

正如我前面说:我triyng获得通过HTML表单上传的PDF文件,然后将其更改为JPEG文件 精矿Imagick对象上,我知道查询是不正确的什么即时通讯。试图做但现在不是这个问题,我只是想把PDF保存为图像:)。 谢谢你的帮助!

你可以,如果你使用的是Ubuntu的服务器使用的ImageMagick, 你可以通过

sudo apt-get install imagemagick 

安装映像魔术和convert input.pdf output.jpg

运行它,你可以运行PHP时,自我命令通过使用

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

您可以使用先进的图像转换器 https://www.2jpeg.com/

安装后从PHP

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

调用它是Windows –