Замена шрифтов командной строки LibreOffice в pptx к преобразованию PDF

Вопрос

Есть ли любой способ указать к libreoffice, через командную строку, для использования Cambria для происшествий Calibri в поколении PDF без потребности какого-либо взаимодействия с пользователем?

Контекст

Я использую эту команду:

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

или этот:

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

автоматически преобразовать a PPTX кому: PDF в a virtualbox машина, запущенная с vagrant выполнение 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

Оригинал pptx редактируется людьми окна использования и использует Calibri шрифт. Я не могу потребовать, чтобы они использовали различные настройки или шрифты.

Как Calibri шрифт не находится в trusty распределение, PDF преобразование, сделанное libreoffice смешивает расположение.

Я читал Cambria метрически-эквивалентно Calibri.

Так, как указано, вопрос состоит в том, как сообщить libreoffice для определенной замены шрифтов через командную строку.

3
задан 25 February 2015 в 17:08

2 ответа

Формат файла pptx - это просто zip-файл с другим расширением, вы можете попробовать разархивировать его и выполнить замену текста:

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
2
ответ дан 1 December 2019 в 15:58

У нас была похожая проблема с LibreOffice под Alfresco (который также работает без головы). Установка пакетов шрифтов ChromeOS для Carlito (эквивалент Calibri) и Caladea (эквивалент Cambria) исправила это, воспользовавшись подсказкой здесь: https://wiki.debian.org/SubstitutingCalibriAndCambriaFonts . Изменение отображений в LO ничего не сделало ни на головном компьютере, ни на рабочем столе - только установка пакетов решила это. (Для полноты мы добавили записи для отображений в LO registrymodification.xcu, и это ничего не дало на обеих платформах - кажется, редактирование файлов в файле conf.d имеет преимущество).

Установлены следующие пакеты:

Примечание: $ ниже - приглашение системы ...

Linux:

$ sudo apt-get install fonts-crosextra-carlito fonts-crosextra-caladea

FreeBSD: (Подсказка: сначала выполните поиск как имя может со временем меняться)

$ pkg search cros

$ sudo pkg install crosextrafonts-caladea-20130214_1 crosextrafonts-carlito-20130920_2

Вы может потребоваться выполнить:

$ fc-cache -r

Проверить с помощью:

$ fc-match Calibri

Carlito-Regular.ttf: "Carlito" "Regular"

$ fc-match Cambria

Caladea-Regular.ttf: "Caladea" "Regular"

Отлично работает сейчас.

Эти установки создают следующие файлы, которые дают желаемые замены шрифтов (в зависимости от вашей платформы):

Linux (Ubuntu 14.x):

/ etc / fonts / conf.avail / 30-0-google-crosextra-caladea-fontconfig.conf

/etc/fonts/conf.avail/30-0-google-crosextra-carlito-fontconfig.conf

Они связаны с /etc/fonts/conf.d следующим образом:

30-0-google-crosextra-caladea-fontconfig.conf -> ../conf.avail /30-0-google-crosextra-caladea-fontconfig.conf

30-0-google-crosextra-carlito-fontconfig.conf -> ../conf.avail/30-0-google-crosextra- carlito-fontconfig.conf

FreeBSD (10.x):

/usr/local/etc/fonts/conf.avail/30-metric-aliases. conf

... связанный раздел ...

/usr/local/etc/fonts/conf.d/30-metric-aliases.conf@ -> /usr/local/etc/fonts/conf.avail/30-metric-aliases.conf [ 1127]

2
ответ дан 1 December 2019 в 15:58

Другие вопросы по тегам:

Похожие вопросы: