限制打印、编辑和转换由 libreoffice 命令行工具转换的 pdf 文档

限制打印、编辑和转换由 libreoffice 命令行工具转换的 pdf 文档

我正在尝试使用 libreoffice 命令行工具将文件转换为 pdf,如下所示 -

libreoffice --headless --convert-to pdf filename

现在我想限制转换后的文件的打印、编辑和转换,如何在命令行上实现这一点。

答案1

只需使用命令行工具,如 pdftk 或 PDFbox java 库对 pdf 进行后期处理。

1.pdf下面是使用以下方法加密文件的示例pdftk,允许用户打印文件(从pdftk 服务器示例):

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

Apache PDFBox 库附带一些命令行工具。下面是如何使用在命令行上使用 PDFBox 加密文件

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

其中 OPTIONS 可能是:

-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.

注意:我认为 40 位的密钥长度太短 - 建议使用较长的密钥。

相关内容