PDFtk Защита паролем Помощь

Я использую Ubuntu 11.10 и ищу решение для защиты паролем группы PDF-файлов в каталоге в пакетном режиме. Я наткнулся на PDFtk, и похоже, что он может делать то, что мне нужно, но я рассмотрел примеры командной строки PDFtk и не могу понять, есть ли способ сделать это в пакетном режиме, без необходимости индивидуально указывать имя выходного файла для каждого файла. Я надеюсь, что гуру командной строки может взглянуть на синтаксис PDFtk и сказать, есть ли какая-нибудь хитрость / команда, которая позволит мне защитить паролем каталог файлов PDF (например, * .pdf) и перезаписать существующий файлы, использующие одно и то же имя, или последовательно переименовывайте отдельные выходные файлы без необходимости указывать каждое выходное имя по отдельности.

Вот ссылка на страницу примеров командной строки PDFtk: http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

Спасибо за вашу помощь .


Я думаю, что ответил на свой вопрос. Вот скрипт bash, который, кажется, делает свое дело. Я хотел бы помочь оценить, почему закомментированный код не работает ...

#!/bin/bash
# Created by Dave, 2012-02-23
# This script uses PDFtk to password protect every PDF file
# in the directory specified. The script creates a directory named "protected_[DATE]"
# to hold the password protected version of the files.
# 
# I'm using the "user_pw" parameter, 
# which means no one will be able to open or view the file without
# the password.
#
# PDFtk must be installed for this script to work.
#
# Usage: ./protect_with_pdftk.bsh [FILE(S)]
# [FILE(S)] can use wildcard expansion (e.g., *.pdf)

# This part isn't working.... ignore. The goal is to avoid errors if the
# directory to be created already exists by only attempting to create
# it if it doesn't exists
#
#TARGET_DIR="protected_$(date +%F)"
#if [ -d "$TARGET_DIR" ]
#then
    #echo   # echo "$TARGET_DIR directory exists!"
#else
    #echo   # echo "$TARGET_DIR directory does not exist!"
#fi
#

mkdir protected_$(date +%F) 
for i in *pdf ; do pdftk "$i" output "./protected_$(date +%F)/$i" user_pw [PASSWORD]; done 
echo "Complete. Output is in the directory: ./protected_$(date +%F)"
2
задан 23 February 2012 в 22:52

3 ответа

Один из авторов попросил меня опубликовать свой ответ в качестве фактического ответа для потомков. Вот ответ. Спасибо всем за вашу помощь.


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

#!/bin/bash
# Created by Dave, 2012-02-23
# This script uses PDFtk to password protect every PDF file
# in the directory specified. The script creates a directory named     "protected_[DATE]"
# to hold the password protected version of the files.
# 
# I'm using the "user_pw" parameter, 
# which means no one will be able to open or view the file without
# the password.
#
# PDFtk must be installed for this script to work.
#
# Usage: ./protect_with_pdftk.bsh [FILE(S)]
# [FILE(S)] can use wildcard expansion (e.g., *.pdf)

# This part isn't working.... ignore. The goal is to avoid errors if the
# directory to be created already exists by only attempting to create
# it if it doesn't exists
#
#TARGET_DIR="protected_$(date +%F)"
#if [ -d "$TARGET_DIR" ]
#then
#echo   # echo "$TARGET_DIR directory exists!"
#else
#echo   # echo "$TARGET_DIR directory does not exist!"
#fi
#

mkdir protected_$(date +%F) 
for i in *pdf ; do pdftk "$i" output "./protected_$(date +%F)/$i" user_pw    [PASSWORD]; done 
echo "Complete. Output is in the directory: ./protected_$(date +%F)"
0
ответ дан 23 February 2012 в 22:52

Я протестировал ту часть, которую вы закомментировали (и немного изменил, чтобы продемонстрировать, что она работает):

#!/bin/bash

TARGET_DIR="protected_$(date +%F)"
if [ -d "$TARGET_DIR" ]
then
    echo "$TARGET_DIR directory exists!"
else
    echo "$TARGET_DIR directory does not exist!"
    mkdir "$TARGET_DIR"
fi

Это вывод после первого запуска:

[ 111]

Это вывод после второго запуска:

protected_2012-02-23 directory exists!

Таким образом, он успешно создает $TARGET_DIR в ветви else. С какой ошибкой вы столкнулись, комментируя этот раздел?

0
ответ дан 23 February 2012 в 22:52

Существует графический инструмент под названием pdfsam . Вы можете установить его по умолчанию в репозитории Ubuntu следующим образом:

sudo apt-get install pdfsam

или выполнить поиск по его имени в Ubuntu Software Center.

Он сделан на Java, и его пользовательский интерфейс кажется старым и немного хитрым, но может отлично справиться с работой.

0
ответ дан 23 February 2012 в 22:52

Другие вопросы по тегам:

Похожие вопросы: