Аннотации PDF Документы Word

Как добавить аннотации в PDF с помощью C# .NET

В сегодняшнюю цифровую эпоху [PDF] (https://docs.fileformat.com/pdf/) стали популярным форматом для обмена информацией, документами и отчетами. Однако для многих пользователей простого просмотра PDF может быть недостаточно. Иногда пользователи могут захотеть выделить или добавить примечания к определенным частям PDF-файла, чтобы обеспечить дополнительный контекст или обратную связь. К счастью, существует несколько бесплатных аннотаторов PDF, которые позволяют пользователям легко добавлять комментарии, выделять текст и т. д. Однако в этой статье мы рассмотрим, как использовать REST API для поддержки аннотаций PDF, и покажем, как выделять, комментировать и добавлять примечания к документам PDF.

REST API для аннотаций PDF

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

Поддерживаемые аннотации включают текст, круг, многоугольник, ломаную линию, линию, квадрат, произвольный текст, выделение, подчеркивание, волнистую форму, зачеркивание, вставку, чернила, ссылку, всплывающее окно, вложение файла, звук, фильм, экран, виджет, водяной знак, TrapNet, PrinterMark, Редакция, Штамп, RichMedia и PDF3D.

Теперь, чтобы добавить SDK в свой проект, выполните поиск Aspose.PDF-Cloud в диспетчере пакетов NuGet и нажмите кнопку «Добавить пакет». Следующим важным шагом является регистрация учетной записи через облачную панель управления и получение личных учетных данных клиента. Дополнительные сведения см. в руководстве Быстрый старт.

Добавление комментариев в PDF с помощью C#

Давайте посмотрим на фрагмент кода C# .NET, который используется для добавления аннотаций в документ PDF.

// Полные примеры и файлы данных см. 
https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet

// Получите учетные данные клиента с https://dashboard.aspose.cloud/
string clientSecret = "7f098199230fc5f2175d494d48f2077c";
string clientID = "ee170169-ca49-49a4-87b7-0e2ff815ea6e";

// создать объект PdfApi
PdfApi api = new PdfApi(clientSecret, clientID);

// создать объект списка, содержащий FreeTextAnnotations
List<FreeTextAnnotation> annotations = new List<FreeTextAnnotation>
{
new FreeTextAnnotation(
    // укажите прямоугольную область, содержащую FreeTextAnnotation
    // также определить детали форматирования текста
    Rect: new Rectangle(100, 800, 350, 830),
    TextStyle:new TextStyle(
        FontSize: 26, Font: "Arial",
        ForegroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0, 0xFF, 0),
        BackgroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0xFF, 0, 0)
        ))
    {
    // Контент, который будет отображаться внутри FreeTextAnnotation
    Contents = "Confidential !",
    Color = new Aspose.Pdf.Cloud.Sdk.Model.Color(0, 0, 0, 0),
    Id = "id1",
    Name = "Test Free Text",                    
    Flags = new List<AnnotationFlags> {AnnotationFlags.Default},
    HorizontalAlignment = HorizontalAlignment.Center,
    Intent = FreeTextIntent.FreeTextTypeWriter,
    RichText = "Rich Text",
    Subject = "Text Box Subj",
    ZIndex = 1,
    Justification = Justification.Center,
    Title = "Title",
    PageIndex = 1                     
    }
};
var response = api. PostPageFreeTextAnnotations("Binder1.pdf", 1, annotations);

Теперь давайте разберем фрагмент кода более подробно.

PdfApi api = new PdfApi(clientSecret, clientID);

Создайте экземпляр класса PdfApi, который принимает учетные данные клиента в качестве аргументов в своем конструкторе.

List<FreeTextAnnotation> annotations = new List<FreeTextAnnotation>

Поскольку API поддерживает возможность одновременного добавления одной или нескольких аннотаций аналогичного типа, нам необходимо создать объект List типа FreeTextAnnnotation.

new FreeTextAnnotation(
    Rect: new Rectangle(100, 800, 350, 830),
    TextStyle:new TextStyle(
        FontSize: 26, Font: "Arial",
        ForegroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0, 0xFF, 0),
        BackgroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0xFF, 0, 0)
        ))

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

Contents = "Confidential !"

Здесь мы определяем содержимое для FreeTextAnnotation.

var response = api. PostPageFreeTextAnnotations("Binder1.pdf", 1, annotations);

Вызовите REST API, чтобы добавить FreeTextAnnotation на первую страницу документа PDF, уже доступного в облачном хранилище.

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

  • AnnotationFlags - Поддерживаемые значения могут быть [Default, Invisible, Hidden, Print, NoZoom, NoRotate, NoView, ReadOnly, Locked, ToggleNoView, LockedContents].
  • Rotate - угол поворота текста. Возможные значения: [Нет, on90, on180, on270].
  • AnnotationFlags - Набор флагов, определяющих различные характеристики аннотации. Возможные значения: [По умолчанию, Невидимый, Скрытый, Печать, NoZoom, NoRotate, NoView, ReadOnly, Locked, ToggleNoView, LockedContents].
  • FreeTextIntent — перечисляет намерения аннотации произвольного текста. Возможные значения могут быть `[ Undefined, FreeTextCallout, FreeTextTypeWriter].

Добавьте аннотацию произвольного текста в PDF с помощью команд cURL

Использование команд cURL для вызова Aspose.PDF Cloud API — хороший способ выполнить это требование. Также хорошо, если вы знакомы с инструментами командной строки или предпочитаете их использовать. Таким образом, с помощью инструмента командной строки cURL вы можете делать HTTP-запросы и выполнять различные операции, связанные с обработкой PDF-файлов.

Теперь, чтобы добавить аннотации к документу PDF с помощью команд cURL, сначала нам нужно сгенерировать токен аутентификации, отправив запрос в конечную точку токена с вашим идентификатором SID и ключом приложения. Пожалуйста, выполните следующую команду, чтобы сгенерировать accessToken.

curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=ee170169-ca49-49a4-87b7-0e2ff815ea6e&client_secret=7f098199230fc5f2175d494d48f2077c" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

После создания accessToken выполните следующую команду, которая добавит FreeTextAnnotation в документ PDF. Затем файл PDF с аннотациями обновляется в облачном хранилище.

curl -v "https://api.aspose.cloud/v3.0/pdf/{inputPDF}/pages/1/annotations/freetext" \
-X POST \
-H  "accept: application/json" \
-H  "authorization: Bearer {accessToken}" \
-H  "Content-Type: application/json" \
-d "[  {        \"Color\": {      \"A\": 0,      \"R\": 0,      \"G\": 0,      \"B\": 0    },    \"Contents\": \"Confidential !\",    \"Modified\": \"01/05/2023 12:00:00.000 PM\",    \"Id\": \"id0\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"comment\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 800,      \"URX\": 350,      \"URY\": 830    },    \"PageIndex\": 0,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"03/05/2023 16:00:00.000 PM\",    \"Subject\": \"Subj.\",    \"Title\": \"Main Heading\",    \"RichText\": \"Hello world...\",    \"Justification\": \"Left\",    \"Intent\": \"FreeTextTypeWriter\",    \"Rotate\": \"None\",    \"TextStyle\": {      \"FontSize\": 26,      \"Font\": \"Arial\",      \"ForegroundColor\": {        \"A\": 10,        \"R\": 10,        \"G\": 100,        \"B\": 120      },      \"BackgroundColor\": {        \"A\": 0,        \"R\": 0,        \"G\": 50,        \"B\": 80      }    }  }]"

Замените {inputPDF} на имя входного PDF-файла, уже доступного в облачном хранилище, {accessToken} на токен доступа JWT, созданный выше.

Предварительный просмотр аннотации PDF

Изображение: - Предварительный просмотр аннотации произвольного текста в файле PDF.

Документ PDF, использованный в приведенном выше примере, можно загрузить с [этой ссылки] (https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet/blob/master/testData/Binder1.pdf).

Заключение

В заключение, добавление аннотаций к PDF-файлам может значительно повысить их полезность и функциональность. Независимо от того, хотите ли вы выделить важный текст, добавить комментарии или сделать заметки прямо в документе, Aspose.PDF Cloud — отличный выбор для достижения этой цели. Мы также узнали, что команды Aspose.PDF Cloud SDK для .NET и cURL предлагают мощные решения для аннотирования PDF-файлов, что дает вам возможность создавать настраиваемые рабочие процессы и процессы автоматизации. Таким образом, с помощью этих инструментов вы можете быстро и легко добавлять аннотации в PDF-файлы, экономя время и повышая производительность.

Полезные ссылки

Статьи по Теме

Мы настоятельно рекомендуем просматривать следующие блоги: