技术文章

使用 HotPDF 为 PDF 文件添加可点击超链接

· PDF 软件

这个 HotPDF 示例展示如何在生成的 PDF 文档中放置可点击超链接。超链接看似只是小功能,但在发票、报表、产品资料、文档导出以及需要把读者带回网站、订单页、支持表单或在线手册的 PDF 中非常重要。

关键点是:可见文本和点击目标是两个不同概念。PDF 可以显示友好的标签,而注释目标指向完整 URL。实际应用中应保持两者同步,让用户能看出链接会跳转到哪里。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
unit Main;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, StdCtrls, Forms, Dialogs, HPDFDoc;
 
type
  TForm1 = class(TForm)
    HotPDF: THotPDF;
    HelloWorldButton: TButton;
    edtWeb: TEdit;
    edtProduct: TEdit;
    edtOrder: TEdit;
    edtContact: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure HelloWorldButtonClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.HelloWorldButtonClick(Sender: TObject);
begin
    HotPDF.BeginDoc;
    HotPDF.CurrentPage.SetFont( 'Microsoft Sans Serif', [], 13 );
 
    HotPDF.CurrentPage.TextOut(20,30,0,'Clickable links:');
    HotPDF.CurrentPage.PrintHyperlink(20, 60, 'Company site: ' + edtWeb.Text, edtWeb.Text);
    HotPDF.CurrentPage.PrintHyperlink(20, 80, 'Product page: ' + edtProduct.Text, edtProduct.Text);
    HotPDF.CurrentPage.SetRGBHyperlinkColor(clRed);
    HotPDF.CurrentPage.PrintHyperlink(20, 100, 'Purchase link: ' + edtOrder.Text, edtOrder.Text);
    HotPDF.CurrentPage.SetRGBHyperlinkColor(clBlue);
    HotPDF.CurrentPage.PrintHyperlink(20, 120, 'Contact form: ' + edtContact.Text, edtContact.Text);
 
    HotPDF.EndDoc;
end;
 
end.

适用场景

当链接在文档被邮件发送、归档或从客户门户下载后仍应保持可用时,就适合使用 PDF 超链接。常见目标包括产品页面、在线手册、发布说明、问题跟踪系统、发票、许可证查询页面和文档验证端点。

位置和样式

PDF 链接本质上是放在页面区域上的注释。如果修改字体、文本位置、缩放或页面坐标系统,需要确认可点击矩形仍与用户看到的文本对齐。即使 URL 正确,点击区域偏移几像素也会让用户感觉链接损坏。

颜色也是用户体验的一部分。蓝色带下划线仍然是最清晰的网页链接约定,但生成的报表有时需要更克制的样式。如果使用自定义颜色,周围文本应足够明确,让读者知道它可以点击。

验证清单

  • 公开文档使用完整的 HTTPS URL。
  • 把用户提供的 URL 写入 PDF 前先验证。
  • 在多个 PDF 阅读器中测试链接,因为不同阅读器对注释的处理可能不同。
  • 修改页面大小、页边距、字体或缩放后,重新检查点击区域。
  • 不要只用链接文字承载关键流程动作,应在 PDF 正文中提供上下文。

SEO 和文档分发提示

当 PDF 发布到线上时,清晰的链接标签能帮助用户和搜索引擎理解文档与目标资源的关系。优先使用“产品文档”或“客户支持门户”这类描述性文本,而不是“点击这里”。