Как создать 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.
Вот пошаговое описание того, как я это сделал:
Загрузите бесплатную сборку программного обеспечения (официальная версия сайта требует лицензии, но она под лицензией GPL, поэтому вы можете найти бесплатные двоичные файлы, такие как этот, который является простым и функциональным установщиком для Windows);
Создавайте свои традиционные документы HTML по своему усмотрению (Ant, Maven, командная строка Javadoc - ваш выбор);
Графический интерфейс приятен, но добавление всех файлов вручную может быть громоздким, поэтому просто создайте файл.book с типом документа "Web Page", добавьте один из файлов HTML из корневой папки вашего сгенерированного javadoc (например, Overview-summary). HTML, кто-нибудь сделает, это просто для справки на шаге 5). На вкладке "Вывод" выберите формат PDF и задайте для него имя, а также добавьте к своему сердцу другие параметры (логотипы, цвета, множество интересных вещей здесь). Сохранить этот проект (скажем,
myjavadocpdf.book
) и закройте графический интерфейсСоздайте список всех файлов HTML в вашем Javadoc. Я сделал это с помощью команды Cygwin's find (мои дни в оболочке DOS/cmd давно закончились), но вы можете делать все, что захотите, если получите список файлов. В моем случае
find . | grep html$ | sort -r > files.txt
сделал трюк; Для пользователей Windows,dir /s/b *.html > files.txt
следует сделать то же самое (но имейте в виду, что вам, возможно, придется заменить\
с/
s, если они выглядят так на следующем шаге).Откройте файл.book, сгенерированный на шаге 3, в своем любимом текстовом редакторе (как программист, вы должны иметь твердые мнения на этот счет, так что держите мое мнение при себе - НЕ;-)) и добавьте список, сгенерированный на шаге 4, к этому Файл.book (он хранит список файлов в конце, облегчая жизнь). Не забудьте исправить относительные пути, если это необходимо, с помощью глобального поиска / замены (поэтому на шаге 3 вам нужно было добавить хотя бы один файл - чтобы увидеть, какой шаблон пути к файлу ожидает htmldoc);
Теперь вы должны отсортировать файлы в удобном порядке. Сначала я помещаю свой обзор, затем описания пакетов и каждый класс, затем полный индекс и все остальное в конце. Помните, что любой файл, который вы удаляете, станет внешней (а значит и неработающей) ссылкой, поэтому выбирайте мудро;
Сохраните файл.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.
При желании он также может включать в себя печатный исходный код.