当前位置: 首页 > 知识库问答 >
问题:

使用pdfbox向pdf文件添加超链接

秋煌
2023-03-14

有什么想法如何添加一个超链接在一个网页上使用这个库?

我发现了这个问题:如何使用pdfbox在内容中设置超链接,但这不起作用。

我只想在pdf文件的第一页添加一个超链接。

File file = new File(filename);
PDDocument doc = PDDocument.load(file);

PDPage page = doc.getPage(0);
...

我更喜欢在页面底部添加以URL为中心的超链接。但目前任何建议都有帮助

共有1个答案

洪涵亮
2023-03-14

首先,您需要创建一个pDanNotationLink,如下所示:

PDAnnotationLink link = new PDAnnotationLink(); 

链接应该有一个操作:

PDActionURI actionURI = new PDActionURI();
actionUri.setURI("http://www.Google.com"); 
link.setAction(action);

最后,您需要在所需的位置定义一个矩形,最后将链接添加到页面的注释中。

PDRectangle pdRectangle = new PDRectangle();

pdRectangle.setLowerLeftX(...);
pdRectangle.setLowerLeftY(...);

pdRectangle.setUpperRightX(...);
pdRectangle.setUpperRightY(...);

link.setRectangle(pdRectangle);

page.getAnnotations().add(link);

如果您想添加一些文本,那么您需要创建一个PDPageContentStream,如下所示:

PDPageContentStream contentStream = new PDPageContentStream(doc,  page);
contentStream.beginText();
contentStream.newLineAtOffset(..., ...);
contentStream.showText(...);
contentStream.endText();
contentStream.close();

newlineatoffset(...,...)方法用于将文本定位到所需的位置。

附注。很抱歉缩进不好,但在手机上很难写。如果你需要任何进一步的帮助,你甚至可以给我写一个罗马尼亚语的私人信息。

 类似资料:
  • 问题内容: 我想在使用创建的PDF中添加超链接,这样我单击一些文本示例,“单击此处”将重定向到URL。我尝试使用和,但是如何添加呢? 问题答案: 要添加使用以下代码

  • 我想问一个问题,如果我想在多页pdf中添加数字签名,每页都有相同的印章,我是否可以在第一页只添加一次数字签名,然后其他页面只需要引用第一个印章的外观。因为使用这种方法可以减少添加邮票的时间。 我使用了mkl给出的代码,但我有一个问题。我用其他代码替换了以下代码。 原件: 现在: 原始代码在加盖印花时有效,但修改后的代码将使印花无效。我使用Adobe Acrobat Pro DC打开已签名的文档。此

  • 代码是来自ASP.NET MVC应用程序的操作方法。

  • 我想使用IText7将图像添加到现有PDF文件中的特定位置。 在使用iTextSharp的另一个项目中,代码非常简单: 但我找不到使用IText7执行此操作的正确方法。 我有PdfReader和PdfWriter,但在IText7中我可以在哪里找到PdfStamper? 或者可能有其他方法可以将图像添加到IText7中现有的PDF文件中? (我不能在当前项目中使用iTextSharp)

  • 我试图使用PDFBox修改PDF文档的内容。我使用了这个例子,但观察到我的PDF文件的文本在字符级别(或更糟)被分割。例如,一个字符串,被分割成: (通过在上述代码中打印进行检查时)。据我所知,文件中只有拉丁字符,编码也是ISO-8859-1。有什么想法吗? 当做 萨利

  • 使用QPDF,您可以简单地从PDF文件中删除限制/加密,如下所示: 我想用Java中的PDFBox做同样的事情: 我已经用尝试过了,但是我不知道所有者密码是什么。QPDF是如何做到这一点的? 示例文档: https://issues.apache.org/jira/secure/attachment/12514714/in.pdf