Hola a todos,
ya estoy de nuevo preguntando,jejejejeje
Esta vez es para procesar ficheros de texto, pero no de texto plano
(.txt) sino archivos de texto como .odt o .rtf o .doc, por lo que son
binarios. El caso es que necesito ir procesando estos ficheros para ir
sustituyendo unas ciertas expresiones (las que yo tengo declaradas) por
datos. No se si me he explicado bien.
Haciendo pruebas con "File.open(‘fichero.odt’, ‘rb’) do |f| … " hago
un bucle para que me pinte cada linea que lee, pero lo que muestra es un
churro de caracteres indescifrables.
Pregunto si alguien ha hecho algo de este estilo o si sabe alguna
posible solución.
Saludos
Carlos
Haciendo pruebas con "File.open(‘fichero.odt’, ‘rb’) do |f| … " hago
un bucle para que me pinte cada linea que lee, pero lo que muestra es un
churro de caracteres indescifrables.
Eso es porque está comprimido. Cambiale el nombre del odt a odt.zip i
podrás
ver que en realidad es un conjunto de documentos xml.
De hecho los dos primeros caracteres del fichero es la firma PK que
corresponde a ficheros comprimidos con ZIP
Eso es porque está comprimido. Cambiale el nombre del odt a odt.zip i
podrás
ver que en realidad es un conjunto de documentos xml.
De hecho los dos primeros caracteres del fichero es la firma PK que
corresponde a ficheros comprimidos con ZIP
Gracias Dani, es verdad.
Cambiando la extensión y procesandolo sólo para ver su contenido me saca
un ‘churro’ aún mayor. Lo que he hecho ha sido esto:
File.open(‘plantilla.odt.zip’, ‘rb’) do |f1|
while linea = f1.gets
puts linea
end
end
este archivo ahora sólamente es de prueba y contiene ‘’, con lo
que debo procesarlo y donde encuentre esta palabra ‘’ poner yo
un dato. Me podrÃas indicar como hacer esto?. Una vez que sepa como
procesar esta ‘palabra reservada’ lo podré hacer para el resto de
palabras que habrá en el documento.
Ahora el fichero a la hora de abrirlo será también de escritura, por lo
que me imagino que haya que poner ‘rxb’.