Hello guys i need help with imagic, i try to convert pdf into png, but i have this result.
https://drive.google.com/open?id=1uCGsS ... bM2nwB6EAJ
i need help
this is my code.<br/>
if($numrows==0){
if($categoria[$count] == "Selecciona")
$categoria[$count] = "GENERAL/";
$query = "INSERT INTO bas_indice (index_path,tag,uid,index_name,book_name) values ('$bookpath','$categoria[$count]','$uid','$directory','$libro');";
$con = pg_connect($conexion) or die ('No se pudo conectar: '.pg_last_error());
$resultado = pg_query($con,$query) or die("Error en la consulta SQL");
$count = $count + 1;
pg_close($con);
for ($i=0; $i < $numberpg; $i++) {
if (!file_exists($bookpath."/".$directory."_".$cliente."_".$i.".png")){
$objImgick->readImage("{$file}[$i]"); //El pdf
$objImgick->setImageFormat('png');//Asigna el formato de la imagen
$objImgick->writeImage($bookpath."/".$directory."_".$cliente."_".$i.'.png');
$objImgick->clear();//Borra la cache de la imagen
$objImgick->destroy();//Destruye el objeto imagen
}
}
this problem occurs in any file that contains text.
my specs
Ubuntu 18.04
php 7.2
apache2
16 gb ram
i5 6ta
P.D.
Sorry for my bad english <E>:lol:</E> and thank you for any help</r>
I need help
-
- Posts: 12159
- Joined: 2010-01-23T23:01:33-07:00
- Authentication code: 1151
- Location: England, UK
Re: I need help
What version of IM do you use? What version of Ghostscript?
If Ghostscript is older than 9.19, or is 9.22, I suggest you upgrade it.
If that doesn't help, please link to your input PDF.
If Ghostscript is older than 9.19, or is 9.22, I suggest you upgrade it.
If that doesn't help, please link to your input PDF.
snibgo's IM pages: im.snibgo.com
- fmw42
- Posts: 25562
- Joined: 2007-07-02T17:14:51-07:00
- Authentication code: 1152
- Location: Sunnyvale, California, USA
Re: I need help
I am no expert, but your code does not look like Imagick code. And I do not see Imagick initialized.
See http://us3.php.net/manual/en/book.imagick.php
See http://us3.php.net/manual/en/book.imagick.php
-
- Posts: 4
- Joined: 2018-08-24T12:20:52-07:00
- Authentication code: 1152
Re: I need help
Thanks for the help, this is IM info.
this is my version:
Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png tiff wmf x xml zlib
-----------------------------------------------
ghostcript version:
sistemas@sistemas01:~$ dpkg -l | grep ghostscript
ii ghostscript 9.22~dfsg+1-0ubuntu1.1 amd64 interpreter for the PostScript language and for PDF
ii ghostscript-x 9.22~dfsg+1-0ubuntu1.1 amd64 interpreter for the PostScript language and for PDF - X11 support
this is my version:
Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png tiff wmf x xml zlib
-----------------------------------------------
ghostcript version:
sistemas@sistemas01:~$ dpkg -l | grep ghostscript
ii ghostscript 9.22~dfsg+1-0ubuntu1.1 amd64 interpreter for the PostScript language and for PDF
ii ghostscript-x 9.22~dfsg+1-0ubuntu1.1 amd64 interpreter for the PostScript language and for PDF - X11 support
-
- Posts: 4
- Joined: 2018-08-24T12:20:52-07:00
- Authentication code: 1152
Re: I need help
this is my full code, sorry, Ijust put the conversion part.fmw42 wrote: ↑2018-08-24T12:56:33-07:00 I am no expert, but your code does not look like Imagick code. And I do not see Imagick initialized.
See http://us3.php.net/manual/en/book.imagick.php
if(isset($_POST["cate"]) && !empty($_POST["cate"])){
if(isset($_POST["uid"]) && !empty($_POST["uid"])){
if(isset($_POST["cliente"]) && !empty($_POST["cliente"])){
if(isset($_POST["createbook"]) && !empty($_POST["createbook"])){
if(isset($_POST["libro"]) && !empty($_POST["libro"])){
//*Interactua: bookviews.js
//*Funcion: getbookselected()
//*Sirve: Convierte el pdf en imagenes para poder utilizarlo como paginas en el libro
//*Regresa: No regresa ningun valor
$categoria = $_POST["cate"];
$uid = $_POST["uid"];
$index = $_POST["createbook"];
$cliente = $_POST["cliente"];
$libro = $_POST["libro"];
$query = "";
$count = 0;
foreach ($index as $data) {
$con = pg_connect($conexion) or die ('No se pudo conectar: '.pg_last_error());
$objImgick = new Imagick(); //Instanciamos la libreria Imagick
$file = $data;
$path_name = pathinfo($file);
$directory = $path_name['filename'];
$bookpath = "paquete/$cliente/book/$directory/";
$objImgick->pingImage($file);
$numberpg = $objImgick->getNumberImages();
$html = "";
//Si no existe el directorio lo crea
if (!file_exists($bookpath)){
mkdir($bookpath, 0777, true);
}
//Verifica que no exista el indice
$valida ="SELECT index_path FROM bas_indice WHERE index_path = '$bookpath' AND uid = '$uid' AND book_name = '$libro' limit 1;";
$existe = pg_query($con,$valida);
$numrows = pg_num_rows($existe);
pg_close($con);
if($numrows==0){
if($categoria[$count] == "Selecciona")
$categoria[$count] = "GENERAL/";
//Hace la insercion en la base de datos
$query = "INSERT INTO bas_indice (index_path,tag,uid,index_name,book_name) values ('$bookpath','$categoria[$count]','$uid','$directory','$libro');";
$con = pg_connect($conexion) or die ('No se pudo conectar: '.pg_last_error());
$resultado = pg_query($con,$query) or die("Error en la consulta SQL");
$count = $count + 1;
pg_close($con);
//Crea las imagenes apartir del pdf
for ($i=0; $i < $numberpg; $i++) {
if (!file_exists($bookpath."/".$directory."_".$cliente."_".$i.".png")){
//$objImgick->setSize(1115,1443); //Resolucion de la imagen
$objImgick->readImage("{$file}[$i]"); //El pdf
$objImgick->setImageFormat('png');//Asigna el formato de la imagen
$objImgick->writeImage($bookpath."/".$directory."_".$cliente."_".$i.'.png');//Crea la imagen en la carpeta, con el nombre del archivo, el cliente y un id
$objImgick->clear();//Borra la cache de la imagen
$objImgick->destroy();//Destruye el objeto imagen
}
}
}
chmod($bookpath, 0777);
}
}
}
}
}
}
- fmw42
- Posts: 25562
- Joined: 2007-07-02T17:14:51-07:00
- Authentication code: 1152
- Location: Sunnyvale, California, USA
Re: I need help
Sorry, I do not know much about Imagick. So you will need help from someone who actually uses it.
Have you tried creating a simple Imagick command to test that it works independent of any database calls. That is usually a good way to test and develop. Get a small part working, then keep adding until it breaks and figure out then what caused the break.
Have you tried creating a simple Imagick command to test that it works independent of any database calls. That is usually a good way to test and develop. Get a small part working, then keep adding until it breaks and figure out then what caused the break.
-
- Posts: 12159
- Joined: 2010-01-23T23:01:33-07:00
- Authentication code: 1151
- Location: England, UK
Re: I need help
I suggest you provide a link to your input PDF, so we can try conversions with different versions of IM and Ghostscript.
snibgo's IM pages: im.snibgo.com
- fmw42
- Posts: 25562
- Joined: 2007-07-02T17:14:51-07:00
- Authentication code: 1152
- Location: Sunnyvale, California, USA
Re: I need help
Following up with what user snibgo has said, do you have Ghostscript installed in your ImageMagick and can PHP Imagick find it. Often with PHP Imagick, it cannot use the same ENV variables as ImageMagick and so cannot find Ghostscript. To solve that, you must add the full path to "gs" within any line for PS, PDF, EPS, that call "gs" in the delegates.xml file.
You should write a simple PHP Imagick call that simply converts a PDF file to say PNG or TIFF or JPG and see if that works. Do not include any database or variables, just write code that does the convert and see if the result looks correct.
You should write a simple PHP Imagick call that simply converts a PDF file to say PNG or TIFF or JPG and see if that works. Do not include any database or variables, just write code that does the convert and see if the result looks correct.
-
- Posts: 4
- Joined: 2018-08-24T12:20:52-07:00
- Authentication code: 1152
Re: I need help
hello good afternoon, we had already tried the ghostscript, the problem is apparently the version of php 7.2, which comes to install on ubuntu 18, we did the installation on a server with ubuntu 16, which has php 7.0 and worked perfectly, I do not know the reason for this error but the solution we could do was to make a downgrade of the operating system.
thanks for the help
thanks for the help