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

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

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

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

22
задан frogatto 21 November 2019 в 11:10
поделиться

2 ответа

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

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

  1. Загрузите программное обеспечение на странице релизов ;

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

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

  4. Создайте список всех файлов HTML в вашем javadoc. Я сделал это с помощью команды find Cygwin (мои дни работы с оболочкой DOS / cmd давно прошли), но вы можете делать все, что захотите, если у вас есть список файлов. В моем случае находка . | grep html $ | sort -r> файлы.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) ...

РЕДАКТИРОВАТЬ: программное обеспечение теперь свободно от оригинального автора; обновил ссылки, спасибо @mohammed

22
ответ дан 29 November 2019 в 05:26
поделиться

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

2
ответ дан 29 November 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: