Java 禁用com.itextpdf.text.paragration的链接

Java 禁用com.itextpdf.text.paragration的链接,java,jakarta-ee,hyperlink,itext,wildfly,Java,Jakarta Ee,Hyperlink,Itext,Wildfly,问题在于,我有一种创建pdf的方法,但当我添加包含链接的文本并创建pdf文件时,它允许我单击链接,出于安全考虑,它不能有链接 PdfReader reader = new PdfReader(new FileInputStream(new File("D:\\ruta\\\\basepdf.pdf"))); Document document = new Document(reader.getPageSize(1),0,0,0,0); BaseFont base =BaseFont.crea

问题在于,我有一种创建pdf的方法,但当我添加包含链接的文本并创建pdf文件时,它允许我单击链接,出于安全考虑,它不能有链接

PdfReader reader = new PdfReader(new FileInputStream(new File("D:\\ruta\\\\basepdf.pdf"))); 
Document document = new Document(reader.getPageSize(1),0,0,0,0);

BaseFont base =BaseFont.createFont("D:\\ruta\\fuente.ttf", BaseFont.CP1250, BaseFont.EMBEDDED);
Font fonts = new Font(base, Float.parseFloat("40"),Font.BOLD, new BaseColor(255,0,0));

Paragraph parrafo= new Paragraph("https://www.youtube.com/", fonts);
Image imagen = Image.getInstance("D:\\ruta\\usuariosfondo.jpg");  

String base64Data = base64.substring(base64.indexOf(',') + 1);
byte[] decoded = Base64.decodeBase64(base64Data.getBytes());

Image imgQr = Image.getInstance(decoded);    

ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfWriter writer=PdfWriter.getInstance(document, baos);

document.open();
document.newPage();

parrafo.setAlignment(Element.ALIGN_RIGHT);
parrafo.setFont(fonts);

ColumnText ct = new ColumnText(writer.getDirectContent());
ct.setSimpleColumn(0,0,550,780);
ct.setAlignment(Element.ALIGN_RIGHT);
ct.addElement(parrafo); 
ct.go();

Float width = document.getPageSize().getWidth();    
Float height = document.getPageSize().getHeight();
imagen.scaleToFit(width, height);
imagen.setAbsolutePosition(0f, 0f);
imgQr.setAbsolutePosition(149f, 209f);
imgQr.scaleToFit(178.2992f, 178.2992f);
document.add(imagen);
document.add(imgQr);
//document.add(parrafo);    

document.close();   
String p=java.util.Base64.getEncoder().encodeToString(baos.toByteArray());

文本应仅与链接一起显示为未启用启动url的文本

您的代码创建的pdf不包含链接注释。所以你不能让它点击

但是它包含URL!某些pdf查看器,尤其是Adobe Reader,会自动使其识别的任何url都可单击

对于Adobe Reader,您可以在设置中禁用此“功能”


如果您无法控制查看器的设置,请不要将URL放入PDF中。或者防止查看者容易识别它们,例如,将url呈现为位图图像,并使用这些图像而不是相应的url文本

这是一个公共文本,其目的不是要省略任何内容,必须有一种方法来控制。不幸的是,您无法控制查看器设置。因此,您必须以某种方式更改URL。例如,使用上述图像。或者,您可以将URL描述为“http冒号斜杠主机点域”。或者,您可以尝试使用url将文本包装成一种模式。不幸的是,您无法控制Adobe,他们可能会“改进”他们的阅读器,使其开始将您更改的URL识别为URL。此外,更改URL可能会限制屏幕阅读器的兼容性,在公共文本的情况下,这可能是不允许的……是的,这是在不删除数据的情况下进行限制的唯一方法。谢谢,只要我有了变化,我就发布它