Создание файлов ODT и PDF в качестве конечного результата - PullRequest
1 голос
/ 04 мая 2010

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

В идеале я хотел бы динамически создать довольно простой файл ODT / PDF / DOC. Я сосредоточил свои усилия на ODT, потому что он редактируемый и достаточно открытый, поэтому есть несколько инструментов, которые преобразуют его в любой другой формат, который мне нужен.

Проблема в том, что файлы ODT XML НЕ простые, и я не смог найти API хорошего качества (особенно в python). До сих пор у меня был наибольший успех в создании ODT-файла шаблона, а затем при необходимости манипулирования DOM в python. Обычно это нормально, но быстро становится неадекватным и требует слишком много настроек каждый раз, когда мне нужно изменить один из шаблонов.

Требования:

1) Создает простой документ, который будет иметь списки, абзацы и возможность рисовать на странице простую графику (прямоугольники, круги и т. Д.)

2) Возможность указать размер страницы и различные форматы, как правило, должны печатать один и тот же вывод при отправке на принтер

Мои вопросы:

1) Существуют ли другие способы создания файлов ODT / PDF / DOC?

2) Будет ли приемлем LaTeX? Я никогда не использовал его, у кого-нибудь есть опыт конвертации файлов LaTeX в другие форматы?

3) Можно ли использовать HTML? В сети много конвертеров. Технически вы можете указать размеры в мм / см и т. Д., Но я обеспокоен тем, что распечатка будет отличаться в разных браузерах / конвертерах ....

Есть еще идеи?

Ответы [ 4 ]

1 голос
/ 31 октября 2010

Спасибо, Хаби. Я посмотрел на Pandoc, но на его сайте написано, что он не читает DocBook XML, он только пишет. Он может «читать разметку и (подмножество) reStructuredText, HTML и LaTeX».

Теперь я могу попробовать маршрут DocBook-> HTML, а затем HTML-> ODT. Я не знаю, сколько информации будет потеряно таким образом; в любом случае, это стоит попробовать ...

... ладно, я только что попытался использовать их онлайн-конвертер на http://johnmacfarlane.net/pandoc/try с полным текстом HTML рассматриваемой книги, произведяossoss.com/en/proroductionoss.html (обратите внимание, этот HTML создан из DocBook Мастера XML). Для формата dest я выбрал «OpenDocument XML».

500 Внутренняя ошибка сервера Тайм-аут

Хорошо, может быть, это было слишком велико. Позвольте мне попробовать что-то меньшее:

producingoss.com / о / ошибка-tracker.html

... который получил приличный вывод OpenDocument XML, только с основной частью текста, замененной на «TRUNCATED! Пожалуйста, загрузите pandoc, если вы хотите конвертировать большие файлы». Поэтому мне придется скачать и попробовать.

1 голос
/ 04 мая 2010

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

0 голосов
/ 31 октября 2010

Слюда, где был этот конвертер DocBook-> ODT, который вы видели? Мне тоже нужно это сделать. (Похоже, Pandoc не читает XML DocBook Lite.)

0 голосов
/ 04 мая 2010

Я полагаю, чтобы быть успешным, вам нужно определить, как вы хотите ввести все. Почему бы вам просто не использовать openoffice? это сохранит в ODT (дух ...), PDF и HTML (хотя это не чистый HTML, это на самом деле довольно некрасиво).

В моем недавнем опыте я имел успех, переходя от латекса -> xhtml через LaTeXML (мне пришлось компилировать из исходного кода). LaTeX все больше и больше напоминает формат терминала. Это отлично подходит для PDF, но если вам нужна гибкость, это как-то не получается. Я также должен отметить, что в моем рабочем процессе нет латекса -> dvi, поэтому я не могу комментировать такие вещи, как tex4ht, который читает из файла dvi (у меня слишком много графики, которая не работает с DVI, чтобы переключать их сейчас ).

Вскоре я перенесу все в docbook 4.5 - мне нравится пакет docbook-utils, который поддерживает latex, html, и я даже видел конвертер в ODT. Но docbook очень тяжёлый в разметке, что раздражает, но это даст мне гибкость, которая мне нужна в будущем.

Поскольку вы используете Python, вы только что рассматривали возможность использования ReStructured Text?

Мне также очень понравилось публиковать в emacs'е orgmode, который представляет собой суперлегкую разметку, которая входит во множество различных форматов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...