LaTeX для генерации PDF в производстве

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

Теперь я обсуждаю, должен ли я фактически использовать LaTeX для наших производственных приложений для создания PDF файлов. Я попробовал несколько коммерческих и бесплатных PDF-библиотек (PDFSharp/MigraDoc, iTextSharp, Expert PDF и т.д.), И ни один из них не обеспечивает объем тонкого контроля, который мне нужен, не делая базу кода чрезвычайно сложно поддерживать в долгосрочной перспективе.

Если я решит пойти по этому маршруту, это будет сделано с С#. Поскольку у LaTeX уже есть интерфейс командной строки, я должен сделать это довольно легко с С# в качестве внешнего процесса, выложенного из моей программы.

Но я искал комментарии сообщества.

  • Кто-нибудь попробовал? Если да, то какие были ошибки?
  • Что вы думаете об этой идее - за и против (меня больше интересуют gotachas)?

Вся обратная связь приветствуется.

Ответы

Ответ 1

Я ранее создавал платформу для генерации отчетов, которая использует простой TeX (в частности реализация MiKTeX) для создания отчетов в формате PDF. Платформа используется для создания примерно пятидесяти отчетов в месяц различной природы (содержащих в основном динамически создаваемые таблицы и диаграммы). Система довольно гибкая. Отчеты определяются через XML (по внутренней заданной схеме описания отчета). Платформа позволяет пользователю указывать таблицу исходной базы данных, какие поля извлекать, форматировать поля, мини-язык запросов для фильтрации соответствующих данных, а также различные элементы форматирования (ориентация страницы, размер, заголовки и классификации ( "" Открытый "," Внутренний "," Конфиденциальный" и т.д.).

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

Плюсы:

  • Красиво отформатированные отчеты.
  • Полный контроль над компоновкой и просмотром.
  • Free.

Минусы:

  • Трудно правильно реализовать.
  • Трудно поддерживать.
  • Переход знаний может быть обременительным.
  • Поддержка фактически не существует.

Ответ 2

В LaTeX я сделал несколько внутренних "производственных уровней" документов.

Создание LaTeX-документов в Windows - это, пожалуй, общий ужасный опыт. Я никогда не мог найти решения, кроме Cygwin. После того, как вы создали среду Cygwin и работали, было так же просто, как собрать LaTeX и связанные с ним библиотеки из Cygwin setup.exe.

Я не пробовал запускать LaTeX из среды, отличной от Cygwin, но теоретически вы должны просто запустить C:\Cygwin\usr\bin\latex.exe - тогда есть шанс, что это будет отсутствовать, поскольку вы не находитесь в Bash, и в этом случае вам может потребоваться просто передать каталоги include в последующие программы.

Если вы решили использовать Docbook вместо LaTeX для своей документации (и я бы порекомендовал хотя бы взглянуть на нее, он гораздо более структурирован для технической документации по программному обеспечению), у меня был хороший опыт работы dblatex под Cygwin. Это не в репозиториях Cygwin, но это кусок пирога для установки из исходного кода.

Ответ 3

Я делал различные производственные PDF-реализации с использованием TeX. Я закончил тем, что отказался от LaTeX и пошел с ConTeXt (см. Также Контекст Сад).

Существует очень активный список рассылки, он широко используется для создания документов, и есть небольшой минимальный дистрибутив для разных Unix, Windows и Mac OS X. Нет необходимости в Cygwin для Windows (хотя вам нужен Ruby).

Я нахожу подход ConTeXt к очистителю TeX, чем LaTeX, но это может быть только я.

Ответ 4

Если вам нужно опубликовать сводки данных и график, вы можете посмотреть Sweave. Sweave позволяет смешивать все функции R с TeX. Исходный код отчета состоит из простого файла TeX с некоторым фрагментом кода R-кода, так как вам нужно читать, манипулировать, приводить в таблицу или строить данные. Затем вы компилируете файл Sweave (из командной строки), который возвращает простой файл TeX.