Вопрос или проблема
У меня есть PDF-файл с защитой паролем. Я знаю пароль, но для того, чтобы поделиться файлом, мне нужно удалить пароль из PDF и поделиться незащищенной копией. Как я могу сделать это в Ubuntu с помощью графического интерфейса или без него?
Самый простой способ с графическим интерфейсом (рекомендуется для новичков)
Откройте защищенный файл и используйте ctrl+p или опцию печати, чтобы распечатать файл, теперь сохраните файл как PDF.
Использование командной строки
Вариант 1 – qpdf
qpdf устанавливается автоматически (по крайней мере, в версии 16.04, которую я использую)
Чтобы использовать qpdf для генерации незащищенного PDF, выполните следующую команду.
qpdf --password=<ваш-пароль> --decrypt /путь/к/защищенному.pdf out.pdf
Вариант 2 – pdftk
Если у вас уже установлен pdftk, вы можете пропустить шаг 1.
Шаг 0: Чтобы проверить, установлен ли уже pdftk
sudo apt list | grep pdftk
Если вывод содержит тег ‘[installed]’ с pdftk, то вы можете пропустить шаг 1,
то есть, если вывод выглядит так
pdftk/xenial 2.02-4 amd64 [installed]
Шаг 1: Установите pdftk
sudo apt-get install pdftk
Шаг 2: Выполните следующую команду
pdftk /путь/к/input.pdf input_pw <вашпароль> output out.pdf
Для подробной информации ознакомьтесь с этим учебником HTG
Я попробовал это в ubuntu mate 19.04:
sudo apt-get install qpdf
qpdf --password=ВАШПАРОЛЬ-ТУТ --decrypt input.pdf output.pdf
ИЗМЕНЕНО: Вы также можете сначала открыть файл в chrome и затем сохранить как PDF.
Это старый вопрос, но кажется, что он является ссылкой по этому вопросу, и, удивительно, ни один из ответов не говорит нам, как избежать передачи пароля через командную строку (что может быть источником утечек). Конечно, так как речь идет об удалении защиты паролем из файла, вам, возможно, все равно. Но, возможно, вы получили PDF от компании, которая использовала ваши данные для шифрования файла, и вы бы хотели избежать утечек.
С помощью pdftk
мы можем использовать:
pdftk protected.pdf input_pw output out.pdf do_ask
Пароль затем запрашивается в терминале, и вы можете ввести его.
С помощью qpdf
это немного менее прямо. qpdf
может читать пароль из stdin
, передавая -
в опцию --password-file=
:
qpdf --password-file=- --decrypt protected.pdf out.pdf
Как только вы это введете, qpdf
будет ждать ввода из stdin. Затем вы можете ввести <вашпароль>
, RET и Ctrl+d (Ctrl+d отправляет EOF
в Linux. В Windows, я думаю, это будет Ctrl+z, но я не уверен).
Если у вас старая версия qpdf
(до v10.2.0), --password-file=
не работала так, но все равно можно было прочитать весь аргумент из stdin
с помощью опции @-
. В этом случае вы можете использовать:
qpdf @- --decrypt protected.pdf out.pdf
Затем введите --password=<вашпароль>
, RET и Ctrl+d.
sudo apt-get install pdftk
pdftk input.pdf output output.pdf user_pw ВАШПАРОЛЬ-ТУТ
Это принимает ваш input.pdf
, удаляет пароли и экспортирует его как output.pdf
.
Вам может понадобиться взглянуть здесь, чтобы изучить дополнительные методы.
Используйте эту функцию zsh:
pdf-unencrypt () {
: "Использование: <файл>
Использует ghostscript для перезаписи файла без шифрования."
local in="$1"
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="${in:r}_unencrypted.pdf" -c .setpdfwrite -f "$in"
}
:
это функция no-operations
. $in:r
получает переменную без ее расширения. Вам, очевидно, нужен установленный ghostscript
.
Если у вас нет пароля, вы все равно можете убрать защиту PDF-документа благодаря ghostscript:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=unencrypted.pdf -c .setpdfwrite -f my-protected-pdf-file.pdf
Если вам нужно установить GhostScript:
Как установить более новую версию ghostscript на сервер, чем та, что предоставлена от ubuntu?
Если у вас уже есть пароль, вы можете использовать следующее для его удаления
gs -dNOPAUSE -dBATCH -q -sDEVICE=pdfwrite -sPDFPassword=пароль -sOutputFile=output2.pdf -f input.pdf
Поднимая тему из мертвых немного здесь (но я новый пользователь Linux, так что…);
- Тем не менее, я также использовал файл, для которого я знал пароль. Но я использовал “Master PDF Editor 5” (незарегистрированную, бесплатную версию), чтобы удалить пароль (Файл – Свойства – Безопасность – Без шифрования).
- Однако, поскольку “Master PDF Editor 5” оставляет водяной знак (что лично меня не беспокоит), я снова открыл (теперь разблокированный файл) в LibreOffice Draw и убрал водяной знак.
- Я экспортировал файл в PDF, что дополнительно привело к огромному сжатию без каких-либо потерь. Это был очень простой файл; всего один лист, с текстом в таблице, но вышеуказанный процесс уменьшил размер с 70-ти КБ до 22-х КБ.
Самое простое решение этой проблемы:
- Из вашего любимого файлового проводника: щелкните правой кнопкой мыши, откройте с помощью…
- Откройте PDF файл в LibreOffice Draw
- Введите пароль
- Экспортировать как > Экспортировать как pdf
Это очень дружелюбно для новичков.
Я думаю, что могу также поделиться небольшим скриптом, который я создал для pdftk и gum.
#!/bin/bash
if [[ -z "$1" || ! -f "$1" ]]; then
echo "Выберите файл:"
file="$(gum file)"
echo -e "${file}\n"
else
file="$1"
fi
pdftk "${file}" input_pw output "${file//.pdf/_decrypted.pdf}" do_ask
Вы можете передать файл в качестве первого параметра, и расшифрованный файл будет сохранен с постфиксом _decrypted.pdf
. Если вы не предоставите имя файла в качестве первого параметра, появится выбор файла gum.
Ответ или решение
Как снять пароль с PDF на Ubuntu: Полное руководство
Если у вас есть PDF-файл с установленным паролем, и вы хотите удалить эту защиту для дальнейшего распространения, это можно сделать несколькими способами на системе Ubuntu. Ниже представлены подробные инструкции как с использованием GUI, так и командной строки.
Удаление пароля через GUI
Метод 1: Печать в PDF
Самый простой и интуитивно понятный способ, который подходит даже для новичков:
- Откройте защищенный PDF-файл с помощью любого PDF-ридера, например, Evince.
- Введите пароль для разблокировки документа.
- Нажмите
Ctrl + P
или выберите опцию "Печать" в меню. - В качестве принтера выберите "Сохранить как PDF".
- Сохраните новый файл под удобным для вас именем. Этот файл будет без пароля.
Удаление пароля через командную строку
Если вы предпочитаете более технический подход, воспользуйтесь следующими инструментами:
Метод 2: Использование qpdf
-
Проверьте, установлен ли qpdf:
sudo apt-get install qpdf
-
Для удаления пароля выполните следующую команду:
qpdf --password=<ваш-пароль> --decrypt /путь/к/защищенный.pdf выход.pdf
Для повышения безопасности вы можете также передать пароль через stdin
, что исключает его отображение в командной строке:
qpdf --password-file=- --decrypt protected.pdf output.pdf
После чего вам будет предложено ввести пароль.
Метод 3: Использование pdftk
-
Убедитесь, что pdftk установлен:
sudo apt-get install pdftk
-
Запустите следующую команду для снятия защиты:
pdftk /путь/к/входному.pdf input_pw <ваш-пароль> output выход.pdf
Для большей интерактивности вы можете использовать команду без отображения пароля в строке:
pdftk protected.pdf input_pw output out.pdf do_ask
Альтернативные методы
Метод 4: Использование Ghostscript
Если вы предпочитаете другой метод, вы можете использовать Ghostscript:
-
Установите Ghostscript:
sudo apt-get install ghostscript
-
Используйте следующую команду:
gs -dNOPAUSE -dBATCH -q -sDEVICE=pdfwrite -sPDFPassword=<ваш-пароль> -sOutputFile=output.pdf -f input.pdf
Примечания
- Если у вас нет пароля, с помощью вышеуказанных методов вы не сможете удалить защиту.
- Всегда проверяйте легальность действий, связанных с изменением защищенных документов.
Заключение
Удаление пароля с PDF-файлов в Ubuntu — это процесс, который можно выполнить с легкостью при помощи доступных инструментов. Выберите подходящий для вас метод: через графический интерфейс или командную строку в зависимости от ваших предпочтений и уровня уверенности в работе с компьютером. Убедитесь, что действуете согласно законодательству и соблюдаете авторские права при работе с защищенными документами.