Добавить подсказку к тексту в PDF-файле

Это руководство проведет вас через процесс добавления всплывающих подсказок к тексту в PDF-файле с помощью Aspose.PDF для .NET. Приведенный исходный код C# демонстрирует необходимые шаги.

Требования

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Visual Studio или любой другой компилятор C#, установленный на вашем компьютере.
  • Aspose.PDF для библиотеки .NET. Вы можете скачать его с официального сайта Aspose или использовать для установки менеджер пакетов, например NuGet.

Шаг 1. Настройте проект

  1. Создайте новый проект C# в предпочитаемой вами среде разработки.
  2. Добавьте ссылку на библиотеку Aspose.PDF для .NET.

Шаг 2. Импортируйте необходимые пространства имен.

В файле кода, в котором вы хотите добавить всплывающие подсказки к тексту, добавьте следующие директивы в верхней части файла:

using Aspose.Pdf;
using Aspose.Pdf.Forms;
using Aspose.Pdf.Text;

Шаг 3. Установите каталог документов.

В коде найдите строку с надписьюstring dataDir = "YOUR DOCUMENT DIRECTORY"; и заменить"YOUR DOCUMENT DIRECTORY" с путем к каталогу, в котором хранятся ваши документы.

Шаг 4. Создайте образец документа с текстом

Создать новыйDocument объект и добавлять страницы с фрагментами текста. В предоставленном коде в документ добавляются два текстовых фрагмента с соответствующим текстом подсказки.

Document doc = new Document();
doc.Pages.Add().Paragraphs.Add(new TextFragment("Move the mouse cursor here to display a tooltip"));
doc.Pages[1].Paragraphs.Add(new TextFragment("Move the mouse cursor here to display a very long tooltip"));
doc.Save(outputFile);

Шаг 5: Откройте документ и найдите фрагменты текста.

Загрузите созданный документ с помощьюDocument конструктор и найдите фрагменты текста, которым нужны всплывающие подсказки, с помощьюTextFragmentAbsorber.

Document document = new Document(outputFile);
TextFragmentAbsorber absorber = new TextFragmentAbsorber("Move the mouse cursor here to display a tooltip");
document.Pages.Accept(absorb);
TextFragmentCollection textFragments = absorb.TextFragments;

Шаг 6: Добавьте всплывающие подсказки к текстовым фрагментам

Прокрутите извлеченные фрагменты текста и создайте невидимые кнопки на их местах. Назначьте нужный текст всплывающей подсказкиAlternateName собственностьButtonField. Добавьте поля кнопок в форму документа.

foreach(TextFragment fragment in textFragments)
{
     ButtonField field = new ButtonField(fragment.Page, fragment.Rectangle);
     field. AlternateName = "Tooltip for text.";
     document.Form.Add(field);
}

Шаг 7. Повторите эти действия для дополнительных фрагментов текста с длинными подсказками.

Повторите шаги 5 и 6 для фрагментов текста с длинными подсказками. Измените критерии поиска и текст всплывающей подсказки соответствующим образом.

absorb = new TextFragmentAbsorber("Move the mouse cursor here to display a very long tooltip");
document.Pages.Accept(absorb);
textFragments = absorb.TextFragments;

foreach(TextFragment fragment in textFragments)
{
     ButtonField field = new ButtonField(fragment.Page, fragment.Rectangle);
     field. AlternateName = "Long tooltip text goes here...";
     document.Form.Add(field);
}

Шаг 8. Сохраните измененный документ.

Сохраните измененный PDF-документ, используяSave методDocument объект.

document. Save(outputFile);

Пример исходного кода для добавления всплывающей подсказки в текст с использованием Aspose.PDF для .NET

// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
string outputFile = dataDir + "Tooltip_out.pdf";
// Создать образец документа с текстом
Document doc = new Document();
doc.Pages.Add().Paragraphs.Add(new TextFragment("Move the mouse cursor here to display a tooltip"));
doc.Pages[1].Paragraphs.Add(new TextFragment("Move the mouse cursor here to display a very long tooltip"));
doc.Save(outputFile);
// Открыть документ с текстом
Document document = new Document(outputFile);
// Создайте объект TextAbsorber, чтобы найти все фразы, соответствующие регулярному выражению.
TextFragmentAbsorber absorber = new TextFragmentAbsorber("Move the mouse cursor here to display a tooltip");
// Примите поглотитель для страниц документа
document.Pages.Accept(absorber);
// Получить извлеченные фрагменты текста
TextFragmentCollection textFragments = absorber.TextFragments;
// Перебирать фрагменты
foreach (TextFragment fragment in textFragments)
{
	// Создать невидимую кнопку в позиции фрагмента текста
	ButtonField field = new ButtonField(fragment.Page, fragment.Rectangle);
	// Значение AlternateName будет отображаться во всплывающей подсказке приложением просмотра.
	field.AlternateName = "Tooltip for text.";
	// Добавить поле кнопки в документ
	document.Form.Add(field);
}
// Далее будет образец очень длинной всплывающей подсказки.
absorber = new TextFragmentAbsorber("Move the mouse cursor here to display a very long tooltip");
document.Pages.Accept(absorber);
textFragments = absorber.TextFragments;
foreach (TextFragment fragment in textFragments)
{
	ButtonField field = new ButtonField(fragment.Page, fragment.Rectangle);
	// Установить очень длинный текст
	field.AlternateName = "Lorem ipsum dolor sit amet, consectetur adipiscing elit," +
							" sed do eiusmod tempor incididunt ut labore et dolore magna" +
							" aliqua. Ut enim ad minim veniam, quis nostrud exercitation" +
							" ullamco laboris nisi ut aliquip ex ea commodo consequat." +
							" Duis aute irure dolor in reprehenderit in voluptate velit" +
							" esse cillum dolore eu fugiat nulla pariatur. Excepteur sint" +
							" occaecat cupidatat non proident, sunt in culpa qui officia" +
							" deserunt mollit anim id est laborum.";
	document.Form.Add(field);
}
// Сохранить документ
document.Save(outputFile);

Заключение

Вы успешно добавили всплывающие подсказки в текст PDF-документа с помощью Aspose.PDF для .NET. Полученный PDF-файл теперь можно найти по указанному пути к выходному файлу.

Часто задаваемые вопросы

Вопрос: Чему посвящено это руководство?

О: В этом руководстве основное внимание уделяется добавлению всплывающих подсказок к тексту в файле PDF с использованием библиотеки Aspose.PDF для .NET. Приведенный исходный код C# демонстрирует шаги, необходимые для достижения этой цели.

Вопрос: Какие пространства имен необходимо импортировать для этого руководства?

О: В файле кода, в котором вы хотите добавить всплывающие подсказки к тексту, импортируйте следующие пространства имен в начало файла:

using Aspose.Pdf;
using Aspose.Pdf.Forms;
using Aspose.Pdf.Text;

Вопрос: Как указать каталог документа?

О: В коде найдите строкуstring dataDir = "YOUR DOCUMENT DIRECTORY"; и заменить"YOUR DOCUMENT DIRECTORY" с фактическим путем к каталогу вашего документа.

Вопрос: Как создать образец документа с текстом?

О: На шаге 4 вы создадите новыйDocument объект и добавлять страницы с фрагментами текста. Предоставленный код добавляет два текстовых фрагмента с соответствующим текстом всплывающей подсказки.

Вопрос: Как открыть документ и найти фрагменты текста?

О: На шаге 5 вы загрузите созданный документ, используяDocument конструктор и найдите фрагменты текста, требующие всплывающих подсказок, с помощьюTextFragmentAbsorber.

Вопрос: Как добавить подсказки к фрагментам текста?

О: На шаге 6 вы пройдете по извлеченным фрагментам текста и создадите невидимые кнопки на их позициях. Текст всплывающей подсказки присваиваетсяAlternateName собственностьButtonFieldкоторый добавляется в форму документа.

Вопрос: Как повторить процедуру для дополнительных фрагментов текста с длинными подсказками?

О: Для фрагментов текста с длинными подсказками повторите шаги 5 и 6. Измените критерии поиска и текст подсказки соответствующим образом.

Вопрос: Как сохранить измененный документ?

О: На шаге 8 вы сохраните измененный PDF-документ, используяSave методDocument объект.

Вопрос: Каков основной вывод из этого урока?

О: Следуя этому руководству, вы узнали, как улучшить свой PDF-документ, добавив всплывающие подсказки к тексту с помощью Aspose.PDF для .NET. Это может предоставить читателям ценную дополнительную информацию при взаимодействии с содержимым PDF.