Substituição da fonte de linha de comando do LibreOffice na conversão pptx para pdf

3

Pergunta

Existe alguma maneira de especificar libreoffice , via linha de comando, para usar Cambria para ocorrências de Calibri na geração de PDF sem a necessidade de interação com o usuário?

Contexto

Estou usando este comando:

libreoffice --headless --invisible --convert-to pdf --outdir images/output/ images/Mockups.pptx

ou este aqui:

unoconv -f pdf -o images/output/ images/Mockups.pptx

para converter automaticamente uma PPTX para PDF em uma máquina virtualbox lançada com vagrant executando ubuntu/trusty64 .

Vagrantfile:

config.vm.box = "ubuntu/trusty64"
[...]
config.vm.provision "shell", inline: <<-SHELL
    sudo apt-get update
    sudo apt-get install -y unoconv imagemagick default-jdk ant docbook-xsl fop libxml2-utils xsltproc php5-cli
SHELL

O original pptx é editado por pessoas que usam o Windows e usa a fonte Calibri . Não posso exigir que eles usem configurações ou fontes diferentes.

Como a fonte Calibri não está na distribuição trusty , a conversão PDF feita pelo libreoffice atrapalha o layout.

Eu li Cambria é métrica equivalente a Calibri .

Assim, como dito, a questão é como instruir libreoffice para uma certa substituição de fonte via linha de comando.

    
por Xavi Montero 25.02.2015 / 15:08

2 respostas

2

O formato do arquivo pptx é apenas um arquivo zip com uma extensão diferente, você pode tentar descompactá-lo e fazer uma substituição de texto:

unzip -d tmp Mockups.pptx
find tmp -type f | xargs sed -i 's/Calibri/Cambria/g'
( cd tmp; zip -r ../Mockups2.pptx . )
rm -Rf tmp
    
por krlmlr 25.02.2015 / 15:23
2

Tivemos um problema semelhante com o LibreOffice no Alfresco (que também é executado sem cabeça). A instalação dos pacotes de fontes do ChromeOS para o Carlito (equivalente ao Calibri) e o Caladea (equivalente ao Cambria) o corrigiu, usando uma dica aqui: link . Mudar os mapeamentos dentro do LO não fez nada, nem no headless nem no desktop - apenas instalar os pacotes resolveu-o. (Para completar, nós adicionamos as entradas para os mapeamentos ao LO registrymodifications.xcu e isso não alcançou nada, em nenhuma das plataformas - ao que parece, editar os arquivos em conf.d tem precedência, parece).

Os pacotes instalados foram:

Nota: $ abaixo é o prompt do sistema ...

Linux:

% bl0ck_qu0te%

FreeBSD: (Dica: faça a pesquisa primeiro, pois o nome pode mudar com o tempo)

% bl0ck_qu0te%

Você pode precisar executar:

% bl0ck_qu0te%

Verifique com:

% bl0ck_qu0te%

Funciona perfeitamente agora.

Essas instalações criam os seguintes arquivos que fornecem as substituições de fontes desejadas (dependendo da sua plataforma):

Linux (Ubuntu 14.x):

% bl0ck_qu0te%

Estes são ligados a partir do /etc/fonts/conf.d da seguinte forma:

% bl0ck_qu0te%

FreeBSD (10.x):

% bl0ck_qu0te%

... ligado ala ...

% bl0ck_qu0te%     
por eCloud Business Solutions 26.03.2017 / 05:20