Как создать PDF из JavaDoc (включая обзор и резюме пакетов) - PullRequest
21 голосов
/ 24 февраля 2010

Я написал обширную документацию по JavaDoc для своего приложения и добавил много полезной информации в overview.html и package.html файлах (включая ссылки на первый файл с иллюстрациями в doc-files/). Плагин Maven для Javadoc прекрасно использует стандартный инструмент javadoc для генерации классического набора кадров JavaDoc, но теперь мне нужно сгенерировать PDF со всей документацией.

AurigaDoclet генерирует очень красивые PDF-файлы, и я смог заставить DocFlex работать также. Тем не менее, оба игнорируют мои overview.html и package.html файлы (пробовал как внутри, так и снаружи Maven - PDF будет разовым, так как я бы предпочел иметь HTML в долгосрочной перспективе).

Кто-нибудь знает, как заставить AurigaDoclet распознать мои не-Java файлы? Или, альтернативно, другой, чтобы создать приличный PDF из исходного кода или HTML, сгенерированного JavaDoc?

Спасибо!

Ответы [ 4 ]

22 голосов
/ 24 февраля 2010

прибил его. Попробовав все возможные инструменты для генерации прямо из источника, я вернулся к HTMLDOC . Он не поддерживает JavaDoc, но он настолько хорошо сложен, что достаточно нескольких настроек, чтобы сгенерировать довольно удобный PDF.

Вот пошаговое описание того, как я это сделал:

  1. Загрузите бесплатную сборку программного обеспечения (для официальной версии сайта требуется лицензия, но она распространяется под лицензией GPL, поэтому вы можете найти бесплатные двоичные файлы, например , этот , который является простым и функциональный установщик для Windows);

  2. Создайте ваши традиционные документы HTML по своему усмотрению (Ant, Maven, Javadoc командной строки - ваш выбор);

  3. Графический интерфейс приятен, но добавление всех файлов вручную может быть громоздким, поэтому просто создайте файл .book с типом документа «Web Page», добавьте один из файлов HTML из корневой папки вашего сгенерированного javadoc ( например, Overview-summary.html, кто угодно сделает, это просто для справки на шаге 5). На вкладке «Вывод» выберите формат PDF и задайте имя для него, а также добавьте другие параметры к своему сердцу (логотипы, цвета, много интересных вещей здесь). Сохраните этот проект (скажем, myjavadocpdf.book) и закройте графический интерфейс пользователя

  4. Создайте список всех файлов HTML в вашем javadoc. Я сделал это с помощью команды Cygwin (мои дни в оболочке DOS / cmd давно закончились), но вы можете делать все, что захотите, если получите список файлов. В моем случае find . | grep html$ | sort -r > files.txt сделал свое дело; Для пользователей Windows dir /s/b *.html > files.txt должно сделать то же самое (но имейте в виду, что вам, возможно, придется заменить \ s на / s, если они выглядят так на следующем шаге).

  5. Откройте файл .book, сгенерированный на шаге 3, в своем любимом текстовом редакторе (как программист, вы должны иметь твердые мнения на этот счет, поэтому держите мои мнения при себе - НЕ ; - )) и добавьте список, сгенерированный на шаге 4, к этому файлу .book (он хранит список файлов в конце, облегчая жизнь). Не забудьте исправить относительные пути, если это необходимо, с помощью глобального поиска / замены (поэтому на шаге 3 вам понадобился хотя бы один файл - чтобы увидеть, какой шаблон пути к файлу ожидает htmldoc);

  6. Теперь вы должны отсортировать файлы в удобном порядке. Сначала я помещаю свой обзор, затем описания пакетов и каждый класс, затем полный индекс и все остальное в конце. Помните, что любой файл, который вы удалите, станет внешней (следовательно, неработающей) ссылкой, поэтому выбирайте мудро;

  7. Сохраните файл .book и снова откройте его в HTMLDOC. Вуаля: все файлы добавлены и отсортированы. Нажмите на генерировать. Вот и все!

Возможно, вы захотите поиграть с изображениями (подсказка: используйте ширину / высоту HTML, а не style / css). В конце концов, полученный файл на удивление хорош: красивый и полностью ориентируемый для внутренних и внешних ссылок. Впечатляет, если учесть, что инструмент вообще не поддерживает Java (Doc) ...

2 голосов
/ 30 августа 2011

Если этот вопрос все равно был поднят, я могу использовать его для ссылки на мой ltxdoclet проект.

Это создает из исходной (будучи плагином JavaDoc) документацию в формате LaTeX, которую затем можно передать через PdfLaTeX для создания PDF.

При желании он также может содержать печатный исходный код.

2 голосов
/ 24 февраля 2010

Согласно Sun JavaDoc FAQ, есть несколько вариантов - в основном бесплатных, с одним или двумя коммерческими предложениями. Проверьте это в http://java.sun.com/j2se/javadoc/faq/index.html#print.

1 голос
/ 30 августа 2011

AurigaDoclet не может обработать package.html. Для исправления см. Мой комментарий на https://sourceforge.net/projects/aurigadoclet/forums/forum/339169/topic/1572199/index/page/1

...