java - 使用 IPdfWriterConfiguration 加密 pdf xDocReport (iText) 不起作用

标签 java pdf itext xdocreport

我正在使用 xDocReport 从 Docx 和 Odt 文件生成 pdf,一切都很好,除了 IPdfWriterConfiguration 似乎在转换发生时没有被识别或调用。

PdfOptions pdfOptions = PdfOptions.create();
pdfOptions.setConfiguration(new IPdfWriterConfiguration() {
    // This is never called
    public void configure(PdfWriter writer) {
        try {
            writer.setEncryption("Hello".getBytes(), "Hello".getBytes(),
                PdfWriter.ALLOW_COPY,
                PdfWriter.STANDARD_ENCRYPTION_128 | PdfWriter.DO_NOT_ENCRYPT_METADATA);
            writer.createXmpMetadata();
        } catch (DocumentException ex) {
            throw new RuntimeException(ex);
        }
    }
});
Options options = Options.getTo(ConverterTypeTo.PDF).subOptions(pdfOptions);
OutputStream out = new FileOutputStream(tempPdfFile);
try {
    report.convert(context, options, out);
} finally {
    out.close();
}

最佳答案

添加此 Maven 依赖项为我解决了这个问题

    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15</artifactId>
        <version>1.44</version>
    </dependency>

关于java - 使用 IPdfWriterConfiguration 加密 pdf xDocReport (iText) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31200465/

相关文章:

java - 当我们不传递任何命令行参数时,为什么不会出现错误?

java - 缺少 Maven 编译器插件 Jar 的 POM

java - 在java代码中使用EST时区时的DST

android - 从 Android 应用程序中读取 PDF

javascript - 如何从pdf.js获取原始数据

iText7 - 如果/DA 使用十进制字体大小,PdfFormField.setValue() 会失败

java - @Transactional 大大减慢了 Rest API

html - 链接到带有 iFrame 的页面以加载不同的 PDF 文件

c# - 将矩形添加到pdfpcell itextsharp中

java - 如何旋转页面而不是 iText 中的文本?