Подтвердить что ты не робот

Как сгенерировать 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 recoginze мои файлы, отличные от Java? Или, альтернативно, другой для создания надежного PDF-документа из исходного кода или HTML-кода, генерируемого JavaDoc?

Спасибо!

4b9b3361

Ответ 1

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

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

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

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

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

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

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

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

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

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

ОБНОВЛЕНИЕ: программное обеспечение теперь бесплатно от оригинального автора; обновленные ссылки, спасибо @mohammed

Ответ 2

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

Ответ 3

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

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

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