Não é possível recriar o documento DOCX do Word depois de hackear manualmente parte de seu conteúdo XML

0

Eu tenho um documento do Word DOCX (não sei com qual versão do Word ele foi criado). Estou com problemas para imprimi-lo em uma impressora local ou em PDF. No último caso, ele reclama de uma das fontes ( Cambria , que eu acho que é usada para equações matemáticas no documento). Como o DOCX é apenas um arquivo ZIP, decido hackear o documento substituindo manualmente as menções da fonte por outro nome de fonte em um dos arquivos XML que compõem o DOCX. No entanto, uma vez que eu fechei a pasta em um novo documento DOCX, ele não pôde ser carregado no Word. Primeiro tentei com 7zip da seguinte forma:

7z a new_document.docx new_document

em que new_document é a pasta que contém todas as partes incluídas no arquivo XML modificado manualmente. Eu tenho MS Office can't open this file because the zip archive file is an unsupported version . Então eu tentei

zip -r new_document.docx new_document

e obtivemos MS Office can't open this file because some parts are missing or invalid .

Mesmo que minhas alterações tenham sido mínimas, é possível que eu estraguei alguma coisa. Ainda assim, existe uma maneira "certa" de compactar a pasta do documento de volta para um DOCX válido?

    
por I Z 07.09.2017 / 22:16

1 resposta

0

A maneira como você chama 7z e zip está um pouco errada. Isso resultará em um arquivo ZIP que possui a pasta new_document no nível raiz. No entanto, você deseja os conteúdos de new_document no nível raiz.

Além disso, acredito que lembre-se de que você não pode usar todos os recursos ZIP com o Office Open XML e que (alguns) arquivos precisam aparecer em uma ordem específica no arquivo. Tome isso com um grão de sal embora.

    
por 08.09.2017 / 08:07