2010-01-21 2 views
2

Мы работаем с программным обеспечением, в котором есть апплет, который в цифровой форме подписывает документы PDF. Этот апплет использует Itext для этого.Какую небольшую библиотеку java следует использовать для подписи файлов PDF в апплете?

Тем не менее, контейнер IText является довольно большим (1.5Mb), и многие из наших пользователей не имеют хорошего соединения. Из-за этого, загрузка апплета занимает очень много времени, и иногда ее нужно выполнять.

Так что мой вопрос: какие альтернативы, кроме IText, можно использовать для цифровой подписи файла PDF в апплете? Весь апплет должен сделать, это подписать PDF-файл, поэтому никаких других функций для файла PDF не требуется.

Заранее благодарен!

+1

itext-2.1.7.jar - 1,1 МБ, и я думаю, что это не должно быть проблемой. Я также использую его для подписи pdf-файлов и не сталкивался с проблемами. – Bozho

ответ

0

Я считаю, что IText использует стороннюю библиотеку с открытым исходным кодом для шифрования как часть процесса подписания PDF-документов. Эта библиотека называется Bouncy Castle и состоит из нескольких файлов jar, которые составляют около 3 Мб. Эти файлы также должны быть загружены в дополнение к 1,5 Мб IText-банку, что делает его не менее значимым. Возможно, будет сложно найти другие более мелкие библиотеки, которые будут делать это с менее чем 1,5 Мб. У нас также есть библиотека для подписи документов в формате PDF, и она примерно такого же размера, как IText, она называется jPDFSecure, и она составляет около 1,5 Мб. Вы подписываете существующее поле или добавляете новую подпись? Возможно, если вы хотите добавить только новые цифровые подписи вместо подписи существующей цифровой подписи, код может быть «тонким», но в любом случае было бы трудно сделать его значительно меньшим.

+0

Действительно, IText использует BouncyCastle. Несмотря на то, что на самом деле нет необходимости добавлять все свои баннеры в апплет (достаточно только bcprov-xxx.jar), он все равно добавляет еще 1,5 Мб, который я забыл проверить, когда написал свой начальный вопрос ... Я получил немного запутался в вашем вопросе: нам нужно подписать существующий документ, но для этого мы должны добавить новую подпись в документ, не так ли? Я не понял, что вы имели в виду подписать существующее поле. О jPDFSecure, я загрузил его на прошлой неделе, но все еще не так много времени, чтобы проверить это. Если это сработает, мы можем это рассмотреть! – Charles

0

Вы запросили в списке рассылки Itext, если вы можете оставить биты для уменьшения размера?

+0

Не совсем. Сделаю! – Charles

1

Вы можете развязать Itext и Bouncy Castle, удалить части libs, которые вы не используете в своем проекте, чтобы уменьшить размер, закрепить его и подписать.