Как создать PDF из JavaDoc (включая обзор и резюме пакетов)

Я написал обширную документацию по 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 из исходного кода или сгенерированного JavaDoc HTML?

Спасибо!

4 ответа

Решение

Успешно справился. Попробовав все возможные инструменты для генерации прямо из источника, я вернулся в 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's find (мои дни в оболочке DOS/cmd давно закончились), но вы можете делать все, что захотите, если получите список файлов. В моем случае find . | grep html$ | sort -r > files.txt сделал трюк; Для пользователей Windows, dir /s/b *.html > files.txt следует сделать то же самое (но имейте в виду, что вам, возможно, придется заменить \с /s, если они выглядят так на следующем шаге).

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам