禁用 com.itextpdf.text.Paragraph 的链接

disable links of com.itextpdf.text.Paragraph

问题如下,我有一个创建 pdf 的方法,但是当我添加包含 link 的文本并创建 pdf 文件时,它允许我单击 link , 为了安全起见,它不能有 links.

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());

文本应仅与 link 一起显示,因为文本未启用以启动 url

您的代码创建的 pdf 不包含 link 注释。所以你不要让它可点击。

但它包含网址!某些 pdf 查看器,尤其是 Adob​​e Reader,会自动将他们识别的任何 url 设置为可点击。

如果是 Adob​​e Reader,您可以在设置中禁用此 "feature"。

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