PDFsharp vs QuestPDF (Comparação detalhada da biblioteca PDF em C#)
Imagine uma anotação como uma folha transparente sobre a página: o comentário da nota adesiva fica no topo enquanto o documento por baixo permanece intocado. IronPDF gerencia essa camada através da coleção Annotations em PdfDocument, adicionando, editando e removendo notas que aparecem como pequenos ícones e revelam o comentário completo quando clicados. Como a camada é separada do conteúdo, editar ou remover uma nota deixa todas as outras propriedades do documento intactas, de modo que as anotações se ajustam onde quer que o original deva permanecer intacto.
Revisão e marcação de documentos
O uso mais comum para anotações. Uma ferramenta de revisão anexa feedback a pontos específicos e salva uma cópia comentada para a próxima pessoa, mantendo o conteúdo original inalterado:
using IronPdf;
using IronPdf.Annotations;
var pdf = PdfDocument.FromFile("draft.pdf");
pdf.Annotations.Add(new TextAnnotation(0)
{
Title = "Reviewer",
Contents = "Clarify this clause.",
X = 50,
Y = 700
});
pdf.SaveAs("draft-reviewed.pdf");
using IronPdf;
using IronPdf.Annotations;
var pdf = PdfDocument.FromFile("draft.pdf");
pdf.Annotations.Add(new TextAnnotation(0)
{
Title = "Reviewer",
Contents = "Clarify this clause.",
X = 50,
Y = 700
});
pdf.SaveAs("draft-reviewed.pdf");
Imports IronPdf
Imports IronPdf.Annotations
Dim pdf = PdfDocument.FromFile("draft.pdf")
pdf.Annotations.Add(New TextAnnotation(0) With {
.Title = "Reviewer",
.Contents = "Clarify this clause.",
.X = 50,
.Y = 700
})
pdf.SaveAs("draft-reviewed.pdf")
Colaboração em contrato sem tocar no original
Como a camada de anotações permanece distinta do corpo do contrato, as equipes jurídicas podem deixar notas que nunca alteram o texto vinculativo. Essa separação é importante onde quer que o documento deva permanecer intacto para auditoria ou assinatura.
Sinalização de QA em documentos técnicos
Uma verificação automatizada pode deixar uma nota posicionada onde detectar um problema (uma figura ausente, um valor fora das especificações), dando a uma pessoa um mapa clicável de problemas, não um relatório separado.
Edição através de um ciclo de revisão
Anotações existentes podem ser recuperadas e atualizadas conforme os feedbacks mudam ou as notas precisam ser reposicionadas. Isso apoia cadeias de aprovação, onde um supervisor altera as notas de revisão antes da aprovação:
using System.Linq;
var pdf = PdfDocument.FromFile("draft-reviewed.pdf");
var note = (TextAnnotation)pdf.Annotations.First();
note.Contents = "Resolved in v2.";
note.X = 150;
pdf.SaveAs("draft-updated.pdf");
using System.Linq;
var pdf = PdfDocument.FromFile("draft-reviewed.pdf");
var note = (TextAnnotation)pdf.Annotations.First();
note.Contents = "Resolved in v2.";
note.X = 150;
pdf.SaveAs("draft-updated.pdf");
Imports System.Linq
Dim pdf = PdfDocument.FromFile("draft-reviewed.pdf")
Dim note = CType(pdf.Annotations.First(), TextAnnotation)
note.Contents = "Resolved in v2."
note.X = 150
pdf.SaveAs("draft-updated.pdf")
Limpeza antes da distribuição
A remoção é um caso de uso próprio. Remova comentários internos ou desatualizados antes de um documento ser enviado, para que o feedback nunca vazé para um público externo. Use RemoveAt para uma, RemoveAllAnnotationsForPage para uma página, ou Clear para o documento inteiro. Isso combina naturalmente com a sanitização ou exportação para PDF/A como um passo de finalização.
Duas coisas que vão te morder
As coordenadas PDF começam no canto inferior esquerdo, não no canto superior esquerdo, como a maioria dos frameworks de IU usa, e são medidas em pontos (1/72 polegada); Carta dos EUA é 612 x 792, A4 é 595 x 842. Até você levar isso em conta, as anotações cairão no lugar errado.
A coleção de anotações reindexa após cada remoção. Para excluir várias, trabalhe para trás ou colete-as primeiro e remova na ordem inversa, ou você excluirá as erradas.
Para que são, e para que não são
O tipo documentado é TextAnnotation, a nota adesiva, com propriedades para título, conteúdo, posição, página, assunto, ícone e estado aberto. Não é marcação de destaque, tinta ou carimbo. Correspondam a comentários e revisão, o trabalho que faz bem, não a marcação visual que não reclama fazer.
Perguntas frequentes
Como adiciono uma anotação de texto a um PDF em C# com o IronPDF?
Use o método Annotations.Add em um PdfDocument com um objeto TextAnnotation. Defina o índice da página, posição X/Y (em pontos PDF a partir do canto inferior esquerdo), título e propriedades de conteúdo.
Adicionar ou remover uma anotação altera o conteúdo subjacente do PDF?
Não. A camada de anotações é separada do conteúdo do documento. Editar ou remover anotações mantém todas as outras propriedades do documento, texto e imagens intactos.
Como removo anotações de um PDF antes de distribuí-lo?
Use RemoveAt(index) para deletar uma única anotação, RemoveAllAnnotationsForPage(pageIndex) para limpar uma página ou Annotations.Clear() para remover todas as anotações do documento.
Por que minhas anotações estão aparecendo na posição errada?
As coordenadas PDF começam no canto inferior esquerdo, não no canto superior esquerdo que a maioria dos frameworks de UI usa. As coordenadas são medidas em pontos (1/72 polegada). Carta dos EUA é 612 x 792 pontos; A4 é 595 x 842 pontos. Ajuste seus valores de X e Y de acordo.
Posso atualizar o texto ou posição de uma anotação existente?
Sim. Recupere a anotação da coleção Annotations, faça o casting para TextAnnotation e atualize suas propriedades Contents, X, Y ou outras antes de salvar o documento.

