Substituição de fontes do documento (LibreOffice, MS Office)

2

No meu escritório, estamos tendo este pequeno problema delicado que um grupo de imagens da marca decidiu algumas alterações em nosso perfil gráfico. Uma coisa que isso leva é a alteração das fontes do documento de "Times New Roman" para "Georgia".

Isso significa que temos centenas de documentos dos quais precisaremos alterar as fontes.

Agora existe um caminho a partir da linha ou por um script que faz a substituição de fontes no Linux / Libreoffice ou no Windows / MS Office?

Talvez algo como:

for i in *.doc; do
  libreoffice --font-substitution input-font="Times New Roman" output-font="Georgia" newfiles/$i $i;
done

Espero que você veja a foto. Uma maneira de substituir fontes "em massa": -)

Obrigado pelos seus esforços!

/ Paul

    
por Paul Bergström 25.05.2016 / 08:35

3 respostas

1

Obrigado ngulam!

A sua resposta levou-me a procurar soluções de linha de comando e agora consegui!

Coloque um monte de Officefiles (novos compactados como DOCX, PPTX, ODT) em um diretório. Use cópias. Não execute isso em originais. Em seguida, crie e execute o seguinte script Bash.

#!/bin/bash

for i in *.*; do

unzip -d tmp $i
find tmp -type f | xargs sed -i 's/"Times New Roman"/Georgia/g'
# find tmp -type f | xargs sed -i 's/"'Times New Roman'"/"Georgia"/g'
cd tmp; zip -r ../$i .
rm -Rf tmp

done

exit0

Quando o script for concluído, a fonte "Times New Roman" será substituída por "Georgia" em todos os arquivos do diretório.

/ Paul

PS! A segunda linha de código que começa com "find" foi necessária quando substituímos "Times New Roman" por "Georgia", mas não quando substituímos por exemplo "Arial" para Georgia ". Provavelmente depende dos espaços dentro de" Times New Roman ". / p>     

por 07.06.2016 / 17:09
0

Algumas coisas a se preocupar antes mesmo de pensar em começar isso: O Word usa estilos para o formato de texto. Quando você copia em algum texto de um outro redator de cópia, você copiará os estilos quando usar apenas CTRL V. Olhando para você folha de estilo vai mostrar que cargas de estilos.

Se este for o seu caso, seu truque para mudar tudo de uma só vez NÃO funcionará

Para que isso funcione, TODOS os seus estilos devem ser baseados no estilo normal. Então todos os seus textos devem usar estilos, seja qual for a formatação que você faça. Apenas uma única mão feita mudança de fonte fará com que isso falhar. Pode até tornar esse doc corrupto.

Outra questão é que alguns estilos são baseados em "Nenhum", colocando-os no mesmo nível do estilo normal. Cada um desses estilos precisa ser alterado. Você poderia fazer isso no VBA perguntando cada estilo no formato e alterá-lo de acordo.

Para mim. Eu não faria isso. Pegue um documento por vez. Converse com vendas e gerenciamento de produtos sobre quais são os mais usados e comece com eles

    
por 25.05.2016 / 10:53
0

Minha versão do LibreOffice tem a opção de substituir uma fonte por outra, veja: Tools>Options...>LibreOffice>Fonts

    
por 05.06.2016 / 18:13