Anotações em PDF Documentos do Word

Como adicionar anotações a um PDF usando C# .NET

Na era digital de hoje, PDFs se tornaram um formato popular para compartilhar informações, documentos e relatórios. No entanto, a simples visualização de um PDF pode não ser suficiente para muitos usuários. Às vezes, os usuários podem querer destacar ou adicionar notas a partes específicas do PDF para fornecer contexto ou feedback adicional. Felizmente, existem vários anotadores de PDF gratuitos disponíveis que permitem aos usuários adicionar comentários facilmente, realçar texto e muito mais. No entanto, neste artigo, exploraremos como usar a API REST para oferecer suporte a anotações em PDF e mostraremos como realçar, comentar e adicionar notas aos seus documentos PDF.

API REST para anotação de PDF

Aspose.PDF Cloud fornece uma solução fácil de usar e abrangente para adicionar anotações a documentos PDF programaticamente. Com Aspose.PDF Cloud, você pode adicionar vários tipos de anotações a documentos PDF, incluindo texto, imagem, carimbo e várias anotações de marcação. Você também pode modificar as anotações existentes, como alterar a posição, tamanho, cor ou qualquer outra propriedade.

As anotações suportadas incluem Texto, Círculo, Polígono, PoliLinha, Linha, Quadrado, Texto Livre, Destaque, Sublinhado, Squiggly, StrikeOut, Caret, Tinta, Link, Popup, FileAttachment, Sound, Movie, Screen, Widget, Watermark, TrapNet, PrinterMark, Redação, Carimbo, RichMedia e PDF3D.

Agora, para adicionar o SDK em seu projeto, pesquise Aspose.PDF-Cloud no gerenciador de pacotes NuGet e clique no botão Adicionar pacote. A próxima etapa importante é registrar uma conta no painel Cloud e obter suas credenciais pessoais de cliente. Por favor, dê uma olhada no guia Início Rápido para mais detalhes.

Adicionar comentários ao PDF usando C#

Vamos dar uma olhada no trecho de código C# .NET que é usado para adicionar anotação a um documento PDF.

// Para exemplos completos e arquivos de dados, acesse 
https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet

// Obtenha as credenciais do cliente em https://dashboard.aspose.cloud/
string clientSecret = "7f098199230fc5f2175d494d48f2077c";
string clientID = "ee170169-ca49-49a4-87b7-0e2ff815ea6e";

// criar um objeto de PdfApi
PdfApi api = new PdfApi(clientSecret, clientID);

// criar objeto List contém FreeTextAnnotations
List<FreeTextAnnotation> annotations = new List<FreeTextAnnotation>
{
new FreeTextAnnotation(
    // especifique a região retangular contendo FreeTextAnnotation
    // também definir detalhes de formatação de texto
    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)
        ))
    {
    // Conteúdo a ser exibido dentro do 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);

Agora, vamos entender o trecho de código com mais detalhes.

PdfApi api = new PdfApi(clientSecret, clientID);

Crie uma instância da classe PdfApi que usa as credenciais do cliente como argumentos em seu construtor.

List<FreeTextAnnotation> annotations = new List<FreeTextAnnotation>

Como a API suporta a capacidade de adicionar uma ou mais anotações de tipo semelhante ao mesmo tempo, precisamos criar um objeto List do tipo 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)
        ))

Crie um objeto de FreeTextAnnotation onde definimos a região retangular para Anotação e detalhes de formatação de texto.

Contents = "Confidential !"

Aqui definimos o conteúdo para FreeTextAnnotation.

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

Chame a API REST para adicionar FreeTextAnnotation na primeira página do documento PDF já disponível no armazenamento em nuvem.

Abaixo estão os possíveis valores que podem ser atribuídos às propriedades usadas no trecho de código acima.

  • AnnotationFlags - Os valores suportados podem ser [Default, Invisible, Hidden, Print, NoZoom, NoRotate, NoView, ReadOnly, Locked, ToggleNoView, LockedContents].
  • Girar - Ângulo de rotação do texto. Os valores possíveis podem ser [None, on90, on180, on270].
  • AnnotationFlags - Um conjunto de sinalizadores especificando várias características da anotação. O valor possível pode ser [Default, Invisible, Hidden, Print, NoZoom, NoRotate, NoView, ReadOnly, Locked, ToggleNoView, LockedContents].
  • FreeTextIntent - Enumera as intenções da anotação de texto livre. Os valores possíveis podem ser [ Undefined, FreeTextCallout, FreeTextTypeWriter].

Adicionar anotação de texto livre a PDF usando comandos cURL

O uso de comandos cURL para chamar a API Aspose.PDF Cloud é uma boa abordagem para atender a esse requisito. Também é bom se você estiver familiarizado com ferramentas de linha de comando ou preferir usá-las. Portanto, com a ferramenta de linha de comando cURL, você pode fazer solicitações HTTP e executar várias operações relacionadas ao processamento de arquivos PDF.

Agora, para adicionar anotações a um documento PDF usando comandos cURL, primeiro precisamos gerar um token de autenticação enviando uma solicitação para o endpoint do token com seu App SID e App Key. Execute o seguinte comando para gerar o 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"

Assim que o accessToken for gerado, execute o seguinte comando que adiciona o FreeTextAnnotation ao documento PDF. O arquivo PDF anotado é atualizado no armazenamento em nuvem.

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      }    }  }]"

Substitua {inputPDF} pelo nome do arquivo PDF de entrada já disponível no armazenamento em nuvem, {accessToken} pelo token de acesso JWT gerado acima.

Visualização de anotação em PDF

Imagem:- Visualização da anotação de texto livre em arquivo PDF.

O documento PDF usado no exemplo acima pode ser baixado de este link.

Conclusão

Em conclusão, adicionar anotações a PDFs pode aumentar muito sua utilidade e funcionalidade. Esteja você procurando destacar um texto importante, adicionar comentários ou fazer anotações diretamente no documento, o Aspose.PDF Cloud é uma escolha incrível para conseguir isso. Também aprendemos que Aspose.PDF Cloud SDK para comandos .NET e cURL oferecem soluções poderosas para anotar PDFs, dando a você a capacidade de criar fluxos de trabalho personalizados e processos de automação. Portanto, com essas ferramentas, você pode adicionar anotações a PDFs de maneira rápida e fácil, economizando tempo e aumentando a produtividade.

Artigos relacionados

É altamente recomendável visitar os seguintes blogs: