restringindo impressão, edição e conversão de documentos pdf convertidos pela ferramenta de linha de comando libreoffice

0

Eu estou tentando converter arquivos para pdf usando a ferramenta de linha de comando libreoffice como esta -

libreoffice --headless --convert-to pdf filename

Agora eu quero restringir a impressão, edição e conversão do arquivo convertido, como faço para conseguir isso na linha de comando.

    
por deadman 07.07.2014 / 08:36

1 resposta

1

Basta usar uma ferramenta de linha de comando como pdftk ou a biblioteca Java do PDFbox para pós-processar o pdf.

Veja um exemplo para criptografar o arquivo 1.pdf usando pdftk , permitindo que o usuário imprima o arquivo (dos exemplos do pdftk Server ):

pdftk 1.pdf output 1.128.pdf owner_pw foo user_pw baz allow printing

A biblioteca Apache PDFBox vem com algumas ferramentas de linha de comando. Veja um exemplo de como criptografar um arquivo usando o PDFBox na linha de comando :

java -jar pdfbox-app-x.y.z.jar Encrypt [OPTIONS] <password> <inputfile>

onde OPTIONS pode ser:

-O                           The owner password to the PDF, ignored if -certFile is specified.
-U                           The user password to the PDF, ignored if -certFile is specified.
-certFile                    Path to X.509 cert file.
-canAssemble                 true   Set the assemble permission.
-canExtractContent           true   Set the extraction permission.
-canExtractForAccessibility  true   Set the extraction permission.
-canFillInForm               true   Set the fill in form permission.
-canModify                   true   Set the modify permission.
-canModifyAnnotations        true   Set the modify annots permission.
-canPrint                    true   Set the print permission.
-canPrintDegraded            true   Set the print degraded permission.
-keyLength                   40     The number of bits for the encryption key.
inputfile                    The PDF file to encrypt.   
outputfile                   The file to save the encrypted document to. If left blank then it will be the same as the input file.

NB: um comprimento chave de 40 bits seria IMHO muito curto - usando uma chave mais longa é recomendável.

    
por 07.07.2014 / 10:02