我正在尝试将带有单个页面的pdf转换为jpg文件,以便我可以将其作为图像上传到数据库。我在使用Imagemagick时遇到了一些问题(当我读取文件并写入文件时没有任何反应,尽管我没有收到任何错误)。
以下是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");
}
正如我先前所说:我很想通过html表单上传PDF文件,然后将其更改为JPEG文件。 专注于Imagick对象,我知道查询对于我想要做的事情是不正确的,但现在这不是问题。我只是想将pdf保存为图像:)。 谢谢你的帮助!
答案 0 :(得分:0)
你可以使用ImageMagick, 如果您使用的是Ubuntu服务器,则可以通过
安装图像魔术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');