Para usar mi librería en PowerBuilder he usado, como en Posts anteriores, la opción .NET DLL Importer para crear automáticamente el objeto nvo_splitmerge y he creado mi objeto no visual n_cst_pdfservice para utilizarla.
Básicamente para empezar a usar la librería solo debemos conocer estos dos métodos públicos:
public function boolean of_unir (string as_ruta1, string as_ruta2)
public function integer of_dividir (string as_ruta)
Como podréis ver, usarlo es bien sencillo, si abrimos un PDF podremos hacer Split y si abrimos 2 PDF podremos hacer el Join.
Cabe mencionar que en este ejemplo he usado un OLE Control para usar Adobe PDF Reader como visor de los PDF, con lo que se hace necesario tenerlo instalado. En el caso raro de no tenerlo, podéis descargarlo aquí. (14-02-2022: He cambiado el control OLE de Adobe Acrobat por el nuevo WebBrowser Control para visualizar los PDF's.)
También he usado la librería FileService del Post del 20 de enero para manejar los nombres de archivo.
Como contenido adicional, he encontrado una alternativa en la página de TopwizSoftware que usa GhostScript desde PowerBuilder.
En este ejemplo Roland Smith se centra en implementar la capacidad de imprimir dos DataWindow en un único PDF, pero añadiendo unos pocos cambios a su objeto n_cst_ghostscript he conseguido que sirva para unir y dividir PDF.
Lo interesante de esta alternativa es que se puede utilizar con mas facilidad versiones anteriores de PowerBuilder, por contra es algo mas lenta.
He integrado las dos opciones en mi objeto n_cst_pdfservice para que se puedan probar....
Os dejo el enlace de proyecto actual en GitHub:
Muy buen aporte estimado, gracias por la asesoría.
ResponderEliminar