Tooltip is a message box that appears when users hover the pointer over the form field, providing users with instructions about the field, for instance, some extra information that users may find helpful in filling in the form field. This article presents how to add a tooltip to PDF form field using Spire.PDF in C# and VB.NET.
Code Snippet
Step 1: Initialize a new object of PdfDcoument class, add a page to it.
PdfDocument doc = new PdfDocument(); PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(0));
Step 2: Add some text and a textbox on the PDF page.
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 12f,PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; float x = 50; float y = 50; float tempX = 0; string text = "E-mail: "; page.Canvas.DrawString(text, font, brush, x, y); tempX = font.MeasureString(text).Width + x+15; PdfTextBoxField textbox = new PdfTextBoxField(page, "TextBox"); textbox.Bounds = new RectangleF(tempX, y, 100, 15); textbox.BorderWidth = 0.75f; textbox.BorderStyle = PdfBorderStyle.Solid; doc.Form.Fields.Add(textbox);
Step 3: The PdfDocument class provides a Fields collection which represents all form fields in the PDF document. You can get the specific field by its index or name, then set the value of ToolTip property to add a tooltip.
doc.Form.Fields["TextBox"].ToolTip = "Please insert a valid email address";
Step 4: Save and launch the file.
doc.SaveToFile("sample.pdf", FileFormat.PDF); System.Diagnostics.Process.Start("sample.pdf");
Output:
Full Code:
[C#]
using Spire.Pdf; using Spire.Pdf.Fields; using Spire.Pdf.Graphics; using System.Drawing; namespace AddTooltip { class Program { static void Main(string []args) { PdfDocument doc = new PdfDocument(); PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(0)); PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 12f, PdfFontStyle.Bold); PdfBrush brush = PdfBrushes.Black; float x = 50; float y = 50; float tempX = 0; string text = "E-mail: "; page.Canvas.DrawString(text, font, brush, x, y); tempX = font.MeasureString(text).Width + x + 15; PdfTextBoxField textbox = new PdfTextBoxField(page, "TextBox"); textbox.Bounds = new RectangleF(tempX, y, 100, 15); textbox.BorderWidth = 0.75f; textbox.BorderStyle = PdfBorderStyle.Solid; doc.Form.Fields.Add(textbox); doc.Form.Fields["TextBox"].ToolTip = "Please insert a valid email address"; doc.SaveToFile("sample.pdf", FileFormat.PDF); System.Diagnostics.Process.Start("sample.pdf"); } } }
[VB.NET]
Imports Spire.Pdf Imports Spire.Pdf.Fields Imports Spire.Pdf.Graphics Imports System.Drawing Namespace AddTooltip Class Program Private Shared Sub Main(args As String()) Dim doc As New PdfDocument() Dim page As PdfPageBase = doc.Pages.Add(PdfPageSize.A4, New PdfMargins(0)) Dim font As New PdfFont(PdfFontFamily.Helvetica, 12F, PdfFontStyle.Bold) Dim brush As PdfBrush = PdfBrushes.Black Dim x As Single = 50 Dim y As Single = 50 Dim tempX As Single = 0 Dim text As String = "E-mail: " page.Canvas.DrawString(text, font, brush, x, y) tempX = font.MeasureString(text).Width + x + 15 Dim textbox As New PdfTextBoxField(page, "TextBox") textbox.Bounds = New RectangleF(tempX, y, 100, 15) textbox.BorderWidth = 0.75F textbox.BorderStyle = PdfBorderStyle.Solid doc.Form.Fields.Add(textbox) doc.Form.Fields("TextBox").ToolTip = "Please insert a valid email address" doc.SaveToFile("sample.pdf", FileFormat.PDF) System.Diagnostics.Process.Start("sample.pdf") End Sub End Class End Namespace