使用此代码将我的pdf转换为jpg时收到错误代码。我之前没有使用imagemagick
,所以我不确定我做错了什么。
我正在使用的代码:
$im = new Imagick();
$im->setResolution(300,300);
$im->readimage('artwork/$file_name');
$im->setImageFormat('jpeg');
$im->writeImage('artwork/jpeg/$file_name');
$im->clear();
$im->destroy();
我得到的错误:
致命错误:带有消息的未捕获异常'ImagickException' '无法打开图像`@ artwork / $ file_name':没有这样的文件或目录 @ blob.c / OpenBlob / 2480'中 /www/xx/xxxxx/xxxx/xxxx/xx/upload_artwork2.php:58堆栈跟踪:#0 /www/xx/xxxxx/xxxx/xxxx/xx/upload_artwork2.php(58): Imagick-> readimage('@ artwork / $ file _...')#1 {main}引入 第58行/www/xx/xxxxx/xxxx/xxxx/xx/upload_artwork2.php
这是最好的方法吗,还有另一种方式吗?
答案 0 :(得分:1)
我将我正在使用的代码更改为此并且工作正常。 唯一的问题是你需要在上传到数据库时添加.jpg或.pdf,否则可以正常工作。
$file_name = basename($file_name, '.pdf');
// Convert this document
// Each page to single image
$img = new imagick('artwork/'.$file_name.'.pdf');
// Set background color and flatten
// Prevents black background on objects with transparency
$img->setImageBackgroundColor('white');
$img = $img->flattenImages();
// Set image resolution
// Determine num of pages
$img->setResolution(300,300);
$num_pages = $img->getNumberImages();
// Compress Image Quality
$img->setImageCompressionQuality(100);
// Convert PDF pages to images
for($i = 0;$i < $num_pages; $i++) {
// Set iterator postion
$img->setIteratorIndex($i);
// Set image format
$img->setImageFormat('jpeg');
// Write Images to temp 'upload' folder
$img->writeImage('artwork/'.$file_name.'-'.$i.'.jpg');
答案 1 :(得分:0)
请验证您的路径是否正常 - 错误明确指出输入文件$('.btnApplIdnDtls').click(function () {
var rowCount = $('#tblApplIdn tr').length;
var index = rowCount + 1;
var IndentifyType=$('#TypeOfIdentification option:selected').text();//get values
var IdentifyNum=$("#IdentityNumber").val();//get values
var IssueDate=$('#IssueDate').val();//get values
$('#tblApplIdn').append("<tr><td><input type='hidden' name='identitity.Index' value='" + index + "' /><input type='text' name='identitity[" + index + "].TypeOfIdentification'></td><td><input type='text' class='textreq' name='identitity[" + index + "].IdentityNumber'></td><td><input type='text' class='textreq' name='identitity[" + index + "].IssueDate'></td><td><input type='button' name='remove' class='remove' value='Remove' id='" + index + "'/></tr>");//simply append it
var lasttr=$('#tblApplIdn tr:last'); //get the last tr
lasttr.find('td:first input[type="text"]').val(IndentifyType); give its input a value
lasttr.find('td:nth-child(2) input').val(IdentifyNum);
lasttr.find('td:nth-child(3) input').val(IssueDate);
});
不存在(至少在指定位置)。