2010-02-23 1 views
19

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

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

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

Спасибо!

ответ

22

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

Здесь идет шаг за шагом описание того, как я сделал это:

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

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

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

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

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

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

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

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

+3

для тех, кто находится в Mac OS, пакет можно загрузить с http://code.google.com/p/ rudix/wiki/htmldoc. У него нет графического интерфейса, поэтому вам придется найти [пример файла .book] (http://sunsite.ualberta.ca/Documentation/Misc/htmldoc-1.8.23/htmldoc.book) и измените его. Затем используйте команду 'htmldoc --batch htmldoc.book' для генерации pdf – emerix

+2

FYI смог найти двоичную версию mac version здесь: http://rudix.org/packages/htmldoc.html обратите внимание, что у нее есть GUI на Yosemite –

+1

, предлагаемая процедура работает довольно хорошо под окнами, но мне пришлось заменить все символы «\» на «/» в сгенерированном списке, который я вставляю в файл .book. – jmd

2

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

+1

С этой страницы я пробовал MIF Doclet (несовместимый с аннотациями), html2ps (почти невозможно сделать работу в Windows, что я застрял за границей прямо сейчас) и HTMLDOC (который требует либо покупки, либо сборка, которая не удалась с моей первой попытки). По-прежнему нужно проверить PDFDoclet, но решил сначала попросить здесь, чтобы быть уверенным (в конце концов, два документа, не выполняющих точно то же самое, могут заметить что-то очевидное, я могу отсутствовать, параметр/настройка). Вы (или кто-либо) использовали его раньше в таких условиях? Благодаря! – chesterbr

+0

К сожалению, нет, у меня нет - в настоящий момент я работаю с небольшой командой, что не так много пользы для печати документов, а код все еще достаточно для того, чтобы печатать docs были бы устаревшими через пару недель. – MCory

+0

Да, я полностью согласен: реальная ценность большинства JavaDocs - их «живая» характеристика. Но это был внешний запрос ...: -/ – chesterbr

2

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

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

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

Смежные вопросы