Fachartikel

Anklickbare Hyperlinks mit HotPDF zu PDF-Dateien hinzufügen

· PDF-Software

Dieses HotPDF-Beispiel zeigt, wie anklickbare Hyperlinks in ein erzeugtes PDF-Dokument eingefügt werden. Hyperlinks sind eine kleine Funktion, aber sie zählen in Rechnungen, Berichten, Produktblättern, Dokumentationsexporten und jedem PDF, das den Leser zurück zu Website, Bestellseite, Supportformular oder Online-Handbuch führen soll.

Der wichtige Punkt ist, dass sichtbarer Text und anklickbares Ziel getrennte Dinge sind. Ein PDF kann eine freundliche Beschriftung anzeigen, während die Annotation auf eine vollständige URL zeigt. In einer echten Anwendung sollten beide Teile synchron bleiben, damit Benutzer sehen können, wohin ein Link führt.

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.

Wo dieses Muster passt

Verwenden Sie PDF-Hyperlinks für Verweise, die aktiv bleiben sollen, nachdem das Dokument per E-Mail versendet, archiviert oder aus einem Kundenportal heruntergeladen wurde. Häufige Ziele sind Produktseiten, Online-Handbücher, Release Notes, Issue Tracker, Rechnungen, Lizenzsuche und Dokumentprüf-Endpunkte.

Platzierung und Gestaltung

PDF-Links sind Annotationen, die über einem Seitenbereich liegen. Wenn Sie Schrift, Textposition, Skalierung oder Seitenkoordinatensystem ändern, prüfen Sie, dass das anklickbare Rechteck weiterhin zum sichtbaren Text passt. Ein Link, der optisch um wenige Pixel verschoben ist, kann defekt wirken, auch wenn die URL korrekt ist.

Auch Farbe gehört zur Benutzererfahrung. Blau unterstrichener Text ist weiterhin die klarste Konvention für einen Weblink, aber generierte Berichte benötigen manchmal einen ruhigeren Stil. Wenn Sie eine eigene Farbe verwenden, sollte der umgebende Text deutlich genug bleiben, damit der Leser versteht, dass er anklickbar ist.

Validierungscheckliste

  • Verwenden Sie vollständig qualifizierte HTTPS-URLs für öffentliche Dokumente.
  • Validieren Sie benutzerbereitgestellte URLs, bevor sie in ein PDF geschrieben werden.
  • Testen Sie Links in mehr als einem PDF-Viewer, weil Annotationen je nach Reader unterschiedlich behandelt werden können.
  • Prüfen Sie den anklickbaren Bereich nach Änderungen an Seitengröße, Rändern, Fonts oder Skalierung.
  • Verstecken Sie wichtige Workflow-Aktionen nicht nur hinter Linktext; geben Sie im PDF-Text zusätzlichen Kontext.

Hinweis zu SEO und Dokumentverteilung

Wenn PDFs online veröffentlicht werden, helfen klare Linkbeschriftungen Benutzern und Suchmaschinen, die Beziehung zwischen Dokument und verknüpfter Ressource zu verstehen. Verwenden Sie beschreibenden Text wie Produktdokumentation oder Kundensupportportal statt generischer Beschriftungen wie hier klicken.