15 de enero de 2017

Unir archivos PDF (Merge PDFs) mediante Ghostscript

A veces se requiere unir varios archivos PDF en un solo archivo, esto es posible mediante algunos software de manera manual, sin embargo es necesario establecerlo de manera automática para los usuarios. Después de probar varias alternativas quede con las siguientes líneas, lo cual es lo básico, ustedes podrán explotarles más opciones.

La solución de la herramienta Ghostscript es posible. Esta solución está disponible para 32Btis y 64Bits. En este ejemplo utilizaremos la de 64, mediante el archivo gswin64c.exe

folderactual = Sys(5) + Curdir()

* Armanos el BAT que lanzara el Script Merge
TEXT TO cComando TEXTMERGE NOSHOW PRETEXT 15
<<m.folderactual>>bin\gswin64c.exe -dBATCH -dNOPAUSE -dCompatibilityLevel=1.4 -sDEVICE=pdfwrite -sOutputFile="merge.pdf" "pdf1.pdf" "pdf2.pdf" "pdf3.pdf"
ENDTEXT

cArchivo = folderactual + 'Merge.bat'

* Creamos el archivo BAT
Strtofile(cComando, cArchivo)

* Ejecutamos el archivo BAT
oShell = Createobject("WScript.Shell")
oShell.Run(cArchivo,0,.T.)
Messagebox('Proceso de fusión realizado por éxito!',64,"")

* Abrimos el Archivo fusionado
cArchivo = folderactual + 'Merge.pdf'
oShell.Run(cArchivo,0,.T.)

*--- Eliminamos el archivo backup.bat
Delete File folderactual + 'Merge.b

Descarga el proyecto de ejemplo: Merge_PDF.rar

Enlaces:

https://es.wikipedia.org/wiki/Ghostscript
https://ghostscript.com/download/gsdnld.html

Nota: Descargar Ghostscript AGPL Release e instalarlo en la PC usuario

Lic. Allan Raul Acuña
Analista Programador
Managua, Nicaragua

7 comentarios :

  1. excelente eres el mejor saludos desde venezuela

    ResponderBorrar
  2. ¡Muy buena solución!
    Use las librearías Ghostscript que están en el PDF24 y funciono sin problema.

    ResponderBorrar
    Respuestas
    1. Hola Okapi, me podrias decir que libreria usaste exactamente, he probado el prg pero no me corre bien

      Borrar
  3. Si hay alguna mejora o anexo, seria bueno compartirlo. Saludos desde Nicaragua.

    ResponderBorrar
  4. Hola!! hay por aqui que me pueda ayudar? no puedo hacerlo andar

    ResponderBorrar
  5. Gracias por compartirlo, estuve tratando con otros métodos pero no eran lo que buscaba.

    ResponderBorrar

Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.