我正在使用 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/