Estoy usando una combinación de rubyzip y nokogiri para editar un archivo .docx. Estoy usando rubyzip para descomprimir el archivo .docx y luego usar nokogiri para analizar y cambiar el cuerpo del archivo word/document.xml pero cada vez que cierro rubyzip al final daña el archivo y no puedo abrirlo o repararlo Descomprimo el archivo .docx en el escritorio y verifico el archivo word/document.xml y el contenido se actualiza a lo que lo cambié pero todos los otros archivos están en mal estado. ¿Podría alguien ayudarme con este problema? Aquí está mi código:Cómo editar docx con nokogiri y rubyzip
require 'rubygems'
require 'zip/zip'
require 'nokogiri'
zip = Zip::ZipFile.open("test.docx")
doc = zip.find_entry("word/document.xml")
xml = Nokogiri::XML.parse(doc.get_input_stream)
wt = xml.root.xpath("//w:t", {"w" => "http://schemas.openxmlformats.org/wordprocessingml/2006/main"}).first
wt.content = "New Text"
zip.get_output_stream("word/document.xml") {|f| f << xml.to_s}
zip.close
Hola Delvin, tengo el mismo problema pero no puedo resolverlo como sugirió Eric. Cómo puedo resolver este problema ? Gracias – Rubyist