Этот пример HotPDF показывает, как размещать кликабельные гиперссылки в сгенерированном PDF-документе. Гиперссылки — небольшая функция, но они важны в счетах, отчетах, product sheets, экспорте документации и любом PDF, который должен вернуть читателя на сайт, страницу заказа, форму поддержки или онлайн-руководство.
Ключевая идея в том, что видимый текст и кликабельная цель — разные вещи. PDF может показывать понятную метку, а annotation будет указывать на полный 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-гиперссылки для ссылок, которые должны оставаться активными после отправки документа по email, архивирования или скачивания с клиентского портала. Обычные цели: страницы продуктов, онлайн-руководства, release notes, issue trackers, счета, страницы проверки лицензий и endpoints проверки документов.
Размещение и стиль
PDF-ссылки — это annotations, размещенные поверх области страницы. Если вы меняете шрифт, позицию текста, масштабирование или систему координат страницы, проверьте, что кликабельный прямоугольник все еще совпадает с текстом, который видит пользователь. Ссылка, визуально сдвинутая на несколько пикселей, может казаться сломанной, даже если сам URL правильный.
Цвет тоже часть user experience. Синий подчеркнутый текст остается самым понятным соглашением для веб-ссылки, но сгенерированным отчетам иногда нужен более спокойный стиль. Если вы используете свой цвет, оставляйте окружающий текст достаточно явным, чтобы читатель понял, что ссылка кликабельна.
Контрольный список проверки
- Используйте полностью квалифицированные HTTPS URL для публичных документов.
- Проверяйте URL, введенные пользователем, перед записью их в PDF.
- Тестируйте ссылки более чем в одном PDF viewer, потому что обработка annotations может различаться между читателями.
- Проверяйте кликабельную область после изменения размера страницы, полей, шрифтов или масштаба.
- Не прячьте важные действия workflow только за текстом ссылки; добавляйте контекст в тело PDF.
SEO и распространение документов
Когда PDF публикуются онлайн, ясные метки ссылок помогают пользователям и поисковым системам понять связь между документом и связанным ресурсом. Предпочитайте описательный текст вроде product documentation или customer support portal вместо общих меток вроде click here.