PDA

Ver la Versión Completa : Convertir Acrobat PDF a JPG desde delphi


marilinspi
26-07-2012, 15:49:45
hola, habra alguna forma de convertir un archivo Acrobat PDF en un archivo de imagen como JPG?
existen varios programas que los hacen, pero yo necesito hacerlo desde el codigo.
Gracias desde ya.

Neftali [Germán.Estévez]
26-07-2012, 17:09:48
Puedes usar algún programa que funcione desde linea de comandos y llamarlo con los parámetros necesario desde tu programa Delphi. Por ejemplo, ConvertPDFToImge (http://www.softinterface.com/Convert-PDF-to-Image/Command-Line.ASP) o ImageMagick (http://www.imagemagick.org/script/index.php), aunque si buscas en Google encontrarás más.

Otra opción, para hacerlo directamente desde el programa es utilizar la API de Ghostscript; Aquí tienes un artículo (http://www.codeproject.com/Articles/32274/How-To-Convert-PDF-to-Image-Using-Ghostscript-API) que te puede servir de guía.

marilinspi
26-07-2012, 22:34:02
hola, gracias por tu respuesta, sabes como hacer para pasarle al Convert PDF to Image el parametro de entrada y de salida y que automaticamente lo convierta sin necesidad de abrir dicho programa.
gracias desde ya.

Casimiro Notevi
27-07-2012, 00:40:11
hola, gracias por tu respuesta, sabes como hacer para pasarle al Convert PDF to Image el parametro de entrada y de salida y que automaticamente lo convierta sin necesidad de abrir dicho programa.
gracias desde ya.

Se supone que estás preguntando, pero como no pones los signos de interrogación, queda la duda.
Si entras en el enlace que ha puesto Neftali verás que está la documentación online, además de montones y montones de ejemplos, en cuestión de más o menos 10 segundos me he encontrado con esto:
ConvertPDFToImage.exe /S "C:\Input\Coffee.pdf" /C1 /T "C:\Output\Cream.jpg" /1 * /4 75 /5 200 /V
Supongo que el /S será 'Silent', aunque puedes confirmarlo leyendo un poco la documentación.

Casimiro Notevi
27-07-2012, 00:45:00
La /S es 'source', definitivamente tendrás que leer la documentación para encontrar el parámetro.

Convert from PDF to a JPG (Single file)

Here we specify the input (/S) and output files (/T), and the JPG format (/C (http://www.convert-files.com/SII/Convert-PDF-To-Image/English/WebHelp/command_line_manual/rhid_file_type_constants.htm)1) of the output file. We also use the /V switch to give us on-screen confirmation of how the conversion went. Lastly, we convert all pages (/1 *), use 75% Quality (/4 75), use 200 DPI Resolution (/5 200):

ConvertPDFToImage.exe /S "C:\Input\Coffee.pdf" /C1 /T "C:\Output\Cream.jpg" /1 * /4 75 /5 200 /V
To change the target file type simply change the /T{Target File} and /C (http://www.convert-files.com/SII/Convert-PDF-To-Image/English/WebHelp/command_line_manual/rhid_file_type_constants.htm)# switch. The /C (http://www.convert-files.com/SII/Convert-PDF-To-Image/English/WebHelp/command_line_manual/rhid_file_type_constants.htm)# switch is not always needed (see Helpful Hints for Creating a Command Line). Easily change the width and height of the output file using the /6 and /7 switches respectively. To convert only certain pages, say 2-5, specify it using the the /1 switch (i.e. /1 2-5).

Neftali [Germán.Estévez]
27-07-2012, 10:09:41
Pues justo como ha dicho Casimiro, en esa misma página puedes configurar lo que necesitas y te genera los parámetros a utilizar.

marilinspi
27-07-2012, 13:28:33
hola, gracias por sus respuestas, si ya habia visto ese ejemplo pero como intente de todas formas y no lo logre y aun sigo sin lograrlo... por eso preguntaba si sabian como poner los parametros. Igualmente gracias y disculpen las molestias.

Neftali [Germán.Estévez]
27-07-2012, 14:10:32
A mi este me funciona y genera la imagen correctamente:


r:\ConvertPDFtoImage.exe /S "r:\Concurso.pdf" /T "r:\Concurso.jpg" /C1 /1 /L "r:\out.log"


Ten en cuenta que tal como dice ahí, los parámetros son "Case Sensitive"

marilinspi
27-07-2012, 14:22:04
hola gracias por tu tespuesta, pero en delphi lo haces asi... porque hago lo mismo y no lo logro, como declaras las variables /S /T /C1 /1 /L mira como lo hago yo... que estoy haciendo mal?

WinExec(PChar('C:\ConvertPDFtoImage.Admin.EXE' /S 'C:\cp.pdf' /T 'C:\cp.jpg' /C1 /1 /L 'C:\out.log' ),SW_SHOWNORMAL);


nuevamente gracias... no sabes como necesito resolver esto!!!

Neftali [Germán.Estévez]
27-07-2012, 16:35:27
Un edit (edit1) con el nombre del programa: r:\ConvertPDFtoImage.exe
Otro edit (edit2) con los parámetros: /S "r:\Concurso.pdf" /T "r:\Concurso.jpg" /C1 /1 /L "r:\out.log"

Y esl código:


ShellExecute(Handle, 'open', PChar(Edit1.text), PChar(Edit2.Text) , nil, 0);


En el uses añades la unit ShellAPI.

AÑADO: Un saludo.

marilinspi
27-07-2012, 17:09:15
huuu que bien.... muchisimas gracias!!! si ahora si, muchas muchas gracias por tu tiempo dedicado a esto...
saludos y gracias nuevamente.

Rc96
05-10-2017, 16:37:55
una pregunta y se que no es bueno escribir en hilos viejos pero, para esto fue necesario usar un programa externo cierto?

Neftali [Germán.Estévez]
06-10-2017, 12:40:12
Si.
ConvertPDFtoImage.exe

El link está al principio.