Java Html2Pdf转换器禁用文本选择

Java Html2Pdf转换器禁用文本选择,java,file,itext7,pdf-conversion,pdfhtml,Java,File,Itext7,Pdf Conversion,Pdfhtml,我正在使用html2pdf库,用于从html创建pdf文件。 我正试图禁止用户复制pdf的内容 ConverterProperties converterProperties = new ConverterProperties(); try { HtmlConverter.convertToPdf(html, new FileOutputStream(fileName), converterProperties); } catch (IOException e) { e.prin

我正在使用html2pdf库,用于从html创建pdf文件。 我正试图禁止用户复制pdf的内容

ConverterProperties converterProperties = new ConverterProperties();
try {
    HtmlConverter.convertToPdf(html, new FileOutputStream(fileName), converterProperties);
} catch (IOException e) {
    e.printStackTrace();
} 
其中html是一个html模板。在此之后,我将进入项目PDF文件的根目录。但我需要禁用此PDF的文本选择(就像它是从图像创建的)
如何禁用pdf中的文本,例如在pdf文件的第二层中放置不可见文本要禁止查看pdf的用户复制pdf内容,可以使用所有者密码(或不使用用户密码)对pdf进行加密,并设置相应的权限标志,以禁止复制内容。在这种情况下仍然可以选择文本,但缓冲区中不会出现任何内容

PdfWriter pdfWriter = new PdfWriter("C:/out.pdf", new WriterProperties().setStandardEncryption(
        "".getBytes(), "ownerPass".getBytes(), EncryptionConstants.ALLOW_SCREENREADERS, EncryptionConstants.ENCRYPTION_AES_256));
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
HtmlConverter.convertToPdf(new FileInputStream("C:/in.html"), pdfDocument);
pdfDocument.close();
如果您用于解析结果PDF中的文本的工具符合我们之前设置的权限配置,则您可能在默认模式(用户模式)下从该PDF中提取文本时遇到问题。在这种情况下,您可以将之前设置的所有者密码传递给工具,以便它知道您是文档的所有者,并允许您从中提取文本。或者,如果该工具不提供此类功能,您可以在将PDF传递到解析工具之前解密PDF并将其转换为纯PDF,而不受任何限制。以下是解密PDF的代码:

PdfDocument pdfDocument = new PdfDocument(new PdfReader("C:/out.pdf",
        new ReaderProperties().setPassword("ownerPass".getBytes())),
        new PdfWriter("C:/decrypted.pdf"));
pdfDocument.close();

不允许用户复制文本和不能选择文本的最终目标是否只是实现该目标的一种手段?因为您可以配置文档权限标志,以便用户能够选择文本,但不能将其复制到clipboard@AlexeySubach我计划将这个pdf文件传递给一些解析库,并希望添加不可见的文本层,以便更好地解析。若像sovren这样的库解析通过这种方式创建的文件,那个么结果是最好的。我通过从html创建pdf文件,从pdf创建图像,从图像创建pdf。但这是一种不好的方式(结果应该是这样:[docdro.id/qphnw8]是的,我找到了关于它的信息,但这仍然不是我需要的。在评论中,我给出了上传示例的链接。对于我的情况,PDF应该类似于从图像(而不是从html)创建的