Для первой части вашего вопроса прочитайте этот ТАК вопрос
Нормально предоставить jar-файл вместе с вашим приложением и предоставить какой-либо метод установки пути к классам. например, оборачивая команду java в сценарий оболочки.
В качестве альтернативы Oracle предоставил инструкции по созданию автономного пакета приложений .
Вторая часть более сложная. PDFBox довольно сложный, но они приводят некоторые примеры в кулинарной книге PDFBox