разблокировать защищенные pdf файлы - PullRequest
8 голосов
/ 06 января 2012

Мне нужно обработать большое количество защищенных PDF-файлов и отредактировать их с помощью Java-программы, но у меня нет паролей для этих файлов.Можно ли как-нибудь разблокировать эти файлы с помощью пакета?

Я бы хотел использовать инструмент, подобный команде Windows, или API Java с открытым исходным кодом.Какое лучшее решение?

Ответы [ 3 ]

17 голосов
/ 06 января 2012

это PDF-файлы с просьбой открыть пароли или защита состоит из ограничений на копирование, печать, изменение, извлечение текста и т. Д.?

если это ваш случай, вы можете попробовать с

qpdf

использование:

qpdf --decrypt file.pdf unlocked.pdf

и может использоваться в пакетной операции массово , таким образом

for f in *.pdf ; do qpdf --decrypt $f ${f%%.pdf}unlocked.pdf; done
1 голос
/ 02 апреля 2012

Для расшифровки вы можете использовать PDFBox , см. Мой ответ здесь: https://stackoverflow.com/a/9976481/535203

Я даю пример кода для расшифровки PDF с учетом его пароля.

Есть также двоичный файл, чтобы сделать это с PDFBox, проверьте использование здесь .

0 голосов
/ 16 февраля 2016

Вы также можете сделать это с помощью библиотеки iText.

Вот пример кода:

        PdfReader.unethicalreading = true;
        PdfReader reader = new PdfReader(inputFile);
        PdfEncryptor.encrypt(reader, new FileOutputStream(outputFile), null,
              null, PdfWriter.ALLOW_ASSEMBLY | PdfWriter.ALLOW_COPY
                  | PdfWriter.ALLOW_DEGRADED_PRINTING | PdfWriter.ALLOW_FILL_IN
                  | PdfWriter.ALLOW_MODIFY_ANNOTATIONS | PdfWriter.ALLOW_MODIFY_CONTENTS
                  | PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_SCREENREADERS, false);

P.S. : используйте unethicalreading флаг на свой страх и риск .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...