Ширина линии аннотации lnk

Введение

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

Предпосылки

Прежде чем погрузиться в код, давайте убедимся, что у вас все готово для успешного выполнения этого руководства:

  1. Aspose.PDF for .NET: Убедитесь, что у вас установлена библиотека Aspose.PDF for .NET. Вы можете загрузить ее сстраница загрузки или установите его через диспетчер пакетов NuGet в Visual Studio.
  2. Среда разработки: в этом руководстве предполагается, что вы работаете в среде разработки .NET, такой как Visual Studio.
  3. Базовые знания C#: базовые знания C# помогут вам следовать этапам кодирования.
  4. PDF-документ: используйте существующий PDF-документ или создайте новый для этого руководства.

Импорт необходимых пространств имен

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

using System.IO;
using Aspose.Pdf.Annotations;
using Aspose.Pdf;
using Aspose.Pdf.Facades;
using System;
using System.Collections;
using System.Collections.Generic;

Эти пространства имен предоставляют классы и методы, необходимые для управления PDF-документами, работы с аннотациями и обработки графических элементов.

Теперь, когда у нас есть все необходимые условия, давайте разберем процесс настройки ширины линии рукописного ввода на понятные и легко выполнимые шаги.

Шаг 1: Инициализация PDF-документа

Сначала нам нужно создать или открыть PDF-документ. Для этого урока мы создадим новый PDF-документ с нуля.

// Инициализировать PDF-документ
string dataDir = "YOUR DOCUMENT DIRECTORY"; // Укажите каталог вашего документа
Document doc = new Document();
doc.Pages.Add(); // Добавить пустую страницу в документ

Здесь мы инициализируем новыйDocument объект, который представляет наш PDF-файл. Затем мы добавляем пустую страницу в этот документ для работы.

Шаг 2: Создание рукописной аннотации

Далее мы создадим саму рукописную аннотацию. Это включает в себя определение точек, из которых состоят рукописные штрихи.

// Создать рукописную аннотацию
IList<Point[]> inkList = new List<Point[]>();
LineInfo lineInfo = new LineInfo();
lineInfo.VerticeCoordinate = new float[] { 55, 55, 70, 70, 70, 90, 150, 60 };
lineInfo.Visibility = true;
lineInfo.LineColor = Color.Red;
lineInfo.LineWidth = 2;

На этом этапе мы определяемLineInfo объект, который содержит координаты штрихов чернил, их видимость, цвет и начальную толщину линии.VerticeCoordinate Массив содержит координаты X и Y каждой точки штриха.

Шаг 3: Преобразование координат в точки

Теперь нам нужно преобразовать эти координаты в точки, которые можно использовать в рукописной аннотации.

// Преобразовать координаты в точки
int length = lineInfo.VerticeCoordinate.Length / 2;
Aspose.Pdf.Point[] gesture = new Aspose.Pdf.Point[length];
for (int i = 0; i < length; i++)
{
    gesture[i] = new Aspose.Pdf.Point(lineInfo.VerticeCoordinate[2 * i], lineInfo.VerticeCoordinate[2 * i + 1]);
}

inkList.Add(gesture);

Этот цикл обрабатывает массив координат, преобразуя каждую пару координат вPoint объект, который затем добавляется к нашемуinkList.

Шаг 4: Добавьте рукописную аннотацию на страницу PDF-файла

Теперь, когда все пункты готовы, мы можем создать рукописную аннотацию и добавить ее на страницу PDF.

// Добавьте рукописную аннотацию на страницу PDF
InkAnnotation a1 = new InkAnnotation(doc.Pages[1], new Aspose.Pdf.Rectangle(100, 100, 300, 300), inkList);
a1.Subject = "Test";
a1.Title = "Title";
a1.Color = Aspose.Pdf.Color.FromRgb(Color.Green);

На этом этапе мы инициализируемInkAnnotationобъект, указывающий страницу, ограничивающий прямоугольник и наш список точек. Мы также задаем тему, заголовок и цвет аннотации.

Шаг 5: Настройте границу аннотации

Чтобы дополнительно настроить внешний вид нашей аннотации, мы изменим свойства ее границы.

// Настройте границу аннотации
Border border = new Border(a1);
border.Width = 3;
border.Effect = BorderEffect.Cloudy;
border.Dash = new Dash(1, 1);
border.Style = BorderStyle.Solid;
doc.Pages[1].Annotations.Add(a1);

Здесь мы создаемBorder объект для нашей аннотации, устанавливая ее ширину, эффект, шаблон штриха и стиль. Этот шаг гарантирует, что аннотация будет визуально выделяться на странице PDF.

Шаг 6: Сохраните PDF-документ.

Наконец, после внесения всех необходимых изменений, пришло время сохранить документ.

// Сохраните PDF-документ
dataDir = dataDir + "lnkAnnotationLineWidth_out.pdf";
doc.Save(dataDir);
Console.WriteLine("\nInk annotation line width setup successfully.\nFile saved at " + dataDir);

Этот код сохраняет измененный PDF-документ с рукописной аннотацией в указанном каталоге.Console.WriteLine заявление подтверждает успешное выполнение кода.

Заключение

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

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

Могу ли я использовать разные цвета для разных частей рукописной аннотации?

Да, вы можете создать несколькоInkAnnotation объекты разных цветов и добавляйте их на те же или разные страницы вашего PDF-файла.

Как динамически изменить ширину линии?

Вы можете настроитьLineWidth собственностьLineInfo объект перед преобразованием координат в точки.

Можно ли сделать рукописные аннотации прозрачными?

Да, вы можете изменитьOpacity собственностьInkAnnotation объект, чтобы сделать его прозрачным.

Можно ли добавить несколько рукописных аннотаций на одну и ту же страницу?

Конечно! Вы можете добавить столько рукописных аннотаций, сколько захотите, на одну страницу, повторяя процесс.

Как удалить рукописную аннотацию из PDF-файла?

Вы можете удалить аннотацию с помощьюdoc.Pages[1].Annotations.Delete(a1) метод, гдеa1 ваш объект аннотации.