Foros del Web » Programando para Internet » PHP »

Reducir PDF con Ghostscript en variables temporales

Estas en el tema de Reducir PDF con Ghostscript en variables temporales en el foro de PHP en Foros del Web. Buenas tardes, espero me puedan apoyar: ¿Alguien sabe si en Ghostscript con PHP se puede reducir el tamaño de un PDF, cuando se tiene solo ...
  #1 (permalink)  
Antiguo 04/01/2016, 14:17
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 2 meses
Puntos: 11
Pregunta Reducir PDF con Ghostscript en variables temporales

Buenas tardes, espero me puedan apoyar:

¿Alguien sabe si en Ghostscript con PHP se puede reducir el tamaño de un PDF, cuando se tiene solo el contenido del PDF en una variable temporal y que el resultado te lo devuelva tambien en una varable temporal?. Normalmente se haría algo así

$output_file='test.pdf';
$file_orig='1234.pdf';
$gs_cmd="gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile='".$output_file." ".$file_orig."' ";
shell_exec($gs_cmd);


Pero mi problema es que en $file_orig no tengo la ruta de origen, solo el contenido del PDF. ¿Como o con que parametros puedo enviarle el contenido a Ghostscript?

Tambien me gustaria que el resultado(PDF reducido) me lo devuelva en una variable temporal $output_file y no usar la ruta de destino. Lo que quiero es no tener que escribir en disco ya que este es reducido y limitado.

¿Alguien sabe si se puede hacer esto en Ghostscript con php, o alguna alternativa para reducir el tamaño de un PDF en PHP sin escribir en disco?

Saludos cordiales
  #2 (permalink)  
Antiguo 04/01/2016, 16:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Reducir PDF con Ghostscript en variables temporales

A ver, el comando que ejecutas es Ghostscript tal cual, no tiene relación alguna con PHP.

O sea que lo que hagas con shell_exec() es igual a si lo hicieras en la consola directamente.

Cita:
¿Como o con que parametros puedo enviarle el contenido a Ghostscript?
Te sugiero leer el manual de Ghostscript.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/01/2016, 17:29
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 2 meses
Puntos: 11
Respuesta: Reducir PDF con Ghostscript en variables temporales

Ya leí el manual y no encontré nada donde se mande al comando una variable con el contenido, solo encontré -dTextFormat que aparentemente devuelve el contenido reducido en una cadena de texto unicode, pero el problema sería mandarle al comando una cadena con el contenido del pdf en vez de la ruta.
Ya se que el comando se ejecuta en el sistema y no en php, pero a veces se pueden hacer combinaciones buenas entre el lenguaje y la consola que te resuelven el problema, por eso pregunte de esa manera.
¿Alguna alternativa que conozcas para reducir el PDF en php sin escribir en disco?¿O alguien más?
  #4 (permalink)  
Antiguo 04/01/2016, 21:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Reducir PDF con Ghostscript en variables temporales

Pues si dicho CLI de Ghostscript requiere una ruta ¿cual es el problema?

Si tuvieras que ingresar el contenido del PDF como un argumento más entonces sería demasiado complejo escribirlo así como asegurar que la sintaxis del mismo no interfiere con el comando en sí o que la codificación del contenido sea la incorrecta, etc.

Tomando eso en cuenta suena razonable por qué no existe un argumento para ello ¿no te parece?

Bajar o no a disco es irrelevante si eso soluciona la cuestión, no entiendo porque perder el tiempo con un detalle de implementación.

Aunque llevando las cosas al extremo podrías usar pipes para conectar el comando desde PHP, nunca lo he hecho, pero en teoría suena posible.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: pdf, reducir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:33.