rst2odt не показывает третье изображение

Я пытаюсь преобразовать первый документ с изображениями в odt, но rst2odt, похоже, не может получить изображения из третьего.

Это работало год назад, и я думаю, должно быть какое-то обновление, которое изменило прежнее поведение.

Простой документ, который воспроизводит мою проблему:

######
Report
######

First try

.. image:: image.png

Second try

.. image:: image.png

Last try

.. image:: image.png

The last one is missing in odt!

Я обрабатываю это с помощью:

$ rst2odt test.rst test.odt

И я получаю odt всего с двумя изображениями. Третьего не хватает. При использовании параметра --verbose я не получаю никаких жалоб.

Кстати, версия rst2odt есть (Docutils 0.12 [выпуск], Python 2.7.9, на linux2)

Пробуя разные советы, я безуспешно переустанавливал пакет python-imaging и обновлял подушку.

Как ни странно, rst2pdf умеет правильно размещать три изображения.

Любая помощь будет высоко оценена, так как у меня есть значительное количество первых изображений с кучей изображений, которые нужно перевести на odt.

EDITED: я удалил docutils из своей системы (Debian Jessie), а затем переустановил без улучшения.


person Moisès    schedule 21.04.2016    source источник
comment
У меня такая же проблема... надеюсь, кто-нибудь когда-нибудь заглянет сюда...   -  person marshall.ward    schedule 28.08.2016


Ответы (2)


Может быть, слишком поздно, но...

Я предполагаю, что это связано с тем, что атрибуты draw:name в выходных данных ODT (content.xml), сгенерированных rst2odt, установлены на фиксированные строки («graphics2» и т. д.), и мой экспериментальный патч изменяет это поведение, насколько я тестировал.

person Satoru SATOH    schedule 07.02.2017
comment
Это работает как шарм! Извините за marshall.ward, но я думаю, что ваш ответ на мой вопрос окончательно. - person Moisès; 13.03.2017
comment
Конечно, исправить rst2odt — лучший из всех результатов! Большое спасибо Сато :) - person marshall.ward; 06.08.2018

Я не думаю, что это обязательно тот ответ, который вам нужен, но pandoc, похоже, здесь хорошо справляется:

pandoc -f rst -t odt in.rst -o out.odt

Я думаю, что это действительно выдающаяся ошибка в rst2odt, и не единственная (см. ошибку кодирования python 3 latin-1 в utf-8), и не похоже, что docutils так хорошо поддерживается, как раньше .

person marshall.ward    schedule 29.08.2016
comment
Я проверил, и pandoc хорошо конвертирует мои файлы. Кажется, это ошибка в docutils, поэтому ваш ответ для меня ответ. - person Moisès; 29.08.2016