Mensajes: 2565
Martes, 07 Abril 2020, 23:27
Ok, encontré una forma, no gambosa, de hacerlo. Para ello uso el programa de la Shell
sed
Pero el archivo debe estar "descomprimido" y para ello hay que usar otro programa Shell llamado
qpdf
Dejo las dos funciones aquí
Para reemplazar el texto
[code linenumbers=false syntax=
gambas]
'' Esta función trabaja con el programa de terminal sed y lo que hace es reempl
'' azar, en un archivo el texto buscado por su reemplazo.
'' Luego devuelve la ruta del archivo alterado.
'' Nota: El archivo PDF debe estar sin comprimir.
Paso 1 Desencriptar
'' Funcion que utiliza el programa gostscript de la terminal shell.
'' Desencripta el PDF que del que se pasa su rura como parámetro y luego si tod
'' do fu e correcto, devuelve la ruta del nuevo archivo desencriptado.
Public Function PDFDecrypt(strPath As String) As String
Dim strName As String
Dim strCommand As String
Dim prsCommand As Process
strName = File.Dir(strPath) &/ File.BaseName(strPath) & "-dcr.pdf"
strCommand = "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile='"
strCommand &= strName & "' -c .setpdfwrite -f '" & strPath & "'"
prsCommand = Shell strCommand
While prsCommand.State = prsCommand.Running
Wait 0.05
Wend
If Exist(strName) Then
If Stat(strName).Type = gb.File Then
Return strName
Else
Return "0"
Endif
Endif
End
Paso 2 - Descomprimir
Paso 3 - Reemplazar el texto
Saludos.