Альтернатива латексу / способ набирать красивые документы из Java в PDF - PullRequest
3 голосов
/ 24 апреля 2010

Я работаю над приложением на Java, которое будет поддерживать базу данных текстов песен в виде простого текста и распечатывать некоторые сборники песен / аккорды (то есть создавать PDF-файл из выбранных песен). Я планировал, что приложение Java будет генерировать исходный код для pdflatex, и после компиляции этого исходного кода пользователь получит файл PDF.

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

Так что мне нужна замена. Мне нужно уметь набирать:

  • Аккорды поверх текста, когда текст в переменной ширине символа, поэтому мне нужно иметь возможность измерять ширину текста
  • Аккордовые диаграммы, что означает, что мне придется рисовать довольно сложные картинки
  • Каждая песня на отдельной двойной странице
  • Различные шрифты и т. Д.

Спасибо за все ответы

Ответы [ 5 ]

1 голос
/ 29 сентября 2010

ConTeXt - это другая система TeX, но проще управлять макетом, чем с LaTeX. Для рисования вы можете использовать PGF / TikZ или MetaPost . Поддержка обоих доступна в ConTeXt. С помощью встроенных в Lua скриптов ConTeXt вы можете рисовать аккорды автоматически, при условии, что они хранятся в какой-то структуре данных.

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

Вместо того, чтобы пытаться управлять / вычислять сложности желаемого макета, вы можете попробовать Docmosis . Это позволит вам оформить документ как шаблон, используя форматы doc или odt. Это означает, что если вы можете сделать документ или документ похожим на ваш, вы можете превратить его в шаблон и заставить Docmosis отобразить его в формате PDF. Текст и изображения можно размещать внутри или снаружи таблиц, что делает управление макетом довольно простым.

1 голос
/ 25 апреля 2010

IText - это бесплатная библиотека, которая предлагает множество возможностей для программного создания PDF-файлов.

1 голос
/ 24 апреля 2010

Вот некоторые API с открытым исходным кодом в формате PDF http://java -source.net / open-source / pdf-library

Это часто задавалось, Возможно, вы захотитепосмотреть этот пост

0 голосов
/ 26 апреля 2010

почему бы просто не использовать lilypond с латексом? он предназначен для набора текста музыки.

...