Comentarios |
Re: Reemplazar Un Texto Dentro De Un PDF
|
hasta donde yo se, los PDF estan hechos para que solo se puedan leer...
porque algunos contienen imagenes de texto, no texto, o una combinacion de ambas cosas
o sea, no tengo la mas palida idea de como hacerlo
|
tercoIDE [ Martes, 07 Abril 2020, 21:48 ]
|
|
Re: Reemplazar Un Texto Dentro De Un PDF
|
tercoIDE escribió: hasta donde yo se, los PDF estan hechos para que solo se puedan leer...
porque algunos contienen imagenes de texto, no texto, o una combinacion de ambas cosas
o sea, no tengo la mas palida idea de como hacerlo
Si la idea de los pdf es que sean solo lectura, pero si son PDF "texto" se pueden "hackear"
Saludos.
|
tincho [ Martes, 07 Abril 2020, 23:23 ]
|
|
Re: Reemplazar Un Texto Dentro De Un PDF
|
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.
última edición por tincho el Miercoles, 08 Abril 2020, 11:18; editado 1 vez
|
tincho [ Martes, 07 Abril 2020, 23:27 ]
|
|
Re: Reemplazar Un Texto Dentro De Un PDF [SOLUCIONADO]
|
Me parece que a mi no funciona.
|
vuott [ Miercoles, 08 Abril 2020, 07:55 ]
|
|
Re: Reemplazar Un Texto Dentro De Un PDF [SOLUCIONADO]
|
vuott escribió: Me parece que a mi no funciona.
Vuott, agregue una nueva función al principio, que es para desencriptar PDF y ordene los pasos en el mismo sentido que lo use yo (funciono en mi caso).
Nota: El PDF debe ser "texto" no imagen.
Si sigue sin funcionar seguimos depurando ya que no he encontrado todavía un caso en que no funcione.
Saludos.
|
tincho [ Miercoles, 08 Abril 2020, 11:21 ]
|
|
Re: Reemplazar Un Texto Dentro De Un PDF [SOLUCIONADO]
|
Yo he probado con el siguiente PDF - Introducing-Go.pdf
Si sigue sin funcionar y es posible transmitan el link del pdf que no lo hace o una descripción del método de generación de dicho documento, es decir si proviene de libreoffice u otro programa.
Saludos.
|
tincho [ Miercoles, 08 Abril 2020, 11:28 ]
|
|
Re: Reemplazar Un Texto Dentro De Un PDF [SOLUCIONADO]
|
Tincho:
No lo consigo que funcione...
Te adjunto un fichero .pdf generado con el programa PRESTO.
Si este .pdf lo abro con LibreOffice y lo guardo como .pdf, tampoco funciona.
Nota:
Por ejemplo, lo que intento cambiar es la fecha, donde ponga "12 de abril" que ponga "13 de mayol"
Descripción: |
|
Descargar |
Nombre del archivo: |
Ejemplo.pdf |
Tamaño: |
216.49 KB |
Descargado: |
95 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
Ejemplo.pdf |
Tamaño: |
216.49 KB |
Descargado: |
95 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
Ejemplo.pdf |
Tamaño: |
216.49 KB |
Descargado: |
95 veces |
|
jsbsan [ Lunes, 13 Abril 2020, 13:40 ]
|
|
Re: Reemplazar Un Texto Dentro De Un PDF [SOLUCIONADO]
|
jsbsan escribió: Tincho:
No lo consigo que funcione...
Te adjunto un fichero .pdf generado con el programa PRESTO.
Si este .pdf lo abro con LibreOffice y lo guardo como .pdf, tampoco funciona.
Nota:
Por ejemplo, lo que intento cambiar es la fecha, donde ponga "12 de abril" que ponga "13 de mayol"
ok, lo pruebo y te comento.
Saludos.
|
tincho [ Lunes, 13 Abril 2020, 17:42 ]
|
|
Re: Reemplazar Un Texto Dentro De Un PDF [SOLUCIONADO]
|
A mi la solución de tincho de todos modos sigue no funcionando.
|
vuott [ Lunes, 13 Abril 2020, 18:11 ]
|
|
|