LaTeX для генерации PDF в производстве - PullRequest
15 голосов
/ 31 июля 2009

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

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

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

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

  1. Кто-нибудь пробовал? Если да, то что это были за ошибки?
  2. Что вы думаете об идее - плюсы и минусы (меня больше интересуют готачи)?

Все отзывы приветствуются.

Ответы [ 4 ]

7 голосов
/ 31 июля 2009

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

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

Плюсы:

  1. Красиво отформатированные отчеты.
  2. Полный контроль над макетом и внешним видом.
  3. Бесплатно.

Минусы:

  1. Сложно правильно реализовать.
  2. Сложно поддерживать.
  3. Передача знаний может быть обременительной.
  4. Поддержка практически не существует.
0 голосов
/ 01 августа 2009

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

0 голосов
/ 31 июля 2009

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

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

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

0 голосов
/ 31 июля 2009

Я сделал несколько собственных документов «уровня производства» в LaTeX.

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

Cygwin.

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

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

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