Ajuda do PDFtk Password Protection

2

Estou usando o Ubuntu 11.10 e estou procurando uma solução para proteger com senha vários arquivos pdf em um diretório em lote. Me deparei com PDFtk e parece que ele pode fazer o que eu preciso, mas eu revi os exemplos PDFtk linha de comando e não consigo descobrir se há uma maneira de fazê-lo em lote sem ter que especificar individualmente o nome do arquivo de saída para cada arquivo. Eu estou esperando que um guru de linha de comando possa dar uma olhada na sintaxe do PDFtk e me dizer se existe algum truque / comando que me permita proteger com senha um diretório de arquivos pdf (por exemplo, * .pdf) e sobrescrever o existente arquivos usando o mesmo nome ou renomeie consistentemente os arquivos de saída individuais sem precisar especificar cada nome de saída individualmente.

Aqui está um link para a página de exemplos de linha de comando do PDFtk: link

Obrigado pela sua ajuda.

Acho que respondi minha própria pergunta. Aqui está um script que parece fazer o truque. Eu gostaria de receber ajuda para avaliar porque o código que eu comentei não funciona ...

#!/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)"
    
por Dave W. 23.02.2012 / 18:02

3 respostas

1

Um pôster acima pediu que eu refizesse minha resposta como uma resposta real para a posteridade. Aqui está a resposta. Obrigado a todos pela vossa ajuda.

Eu respondi minha própria pergunta. Aqui está um script que parece fazer o truque. Eu gostaria de receber ajuda para avaliar porque o código que eu comentei não funciona ...

#!/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)"
    
por Dave W. 06.01.2016 / 15:27
1

Eu testei a parte que você comentou (e modifiquei um pouco para demonstrar que ela funciona):

#!/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

Esta é a saída após a primeira execução:

protected_2012-02-23 directory does not exist!

Esta é a saída após a segunda execução:

protected_2012-02-23 directory exists!

Por isso, cria com sucesso o $TARGET_DIR na ramificação else . Qual bug você teve que te fez comentar essa seção?

    
por lgarzo 23.02.2012 / 20:20
0

Existe uma ferramenta gráfica chamada pdfsam . Você pode instalá-lo pelos repositórios padrão do Ubuntu dessa maneira:

sudo apt-get install pdfsam

ou pesquisando com seu nome no Ubuntu Software Center.

Ele é feito em Java e sua interface parece antiga e um pouco complicada, mas pode funcionar bem.

    
por Leonardo Montenegro 21.03.2012 / 18:16