Sto usando una combinazione di rubyzip e nokogiri per modificare un file .docx. Sto usando rubyzip per decomprimere il file .docx e poi usando nokogiri per analizzare e cambiare il corpo del file word/document.xml ma sempre chiuderò rubyzip alla fine corrompe il file e non riesco ad aprirlo o riparalo. Ho decomprimere il file .docx sul desktop e controllare il file word/document.xml e il contenuto è aggiornato a quello che ho modificato, ma tutti gli altri file sono incasinati. Qualcuno potrebbe aiutarmi con questo problema? Qui è il mio codice:Come modificare docx con nokogiri e 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
Ciao Delvin, ho ricevuto lo stesso problema ma non sono in grado di risolverlo come suggeriva Eric. Come posso risolvere questo problema? Grazie – Rubyist