Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
As Anotações de Marcação de Texto devem aparecer como destaques, sublinhados, tachados ou sublinhados irregulares (“ondulados”) no texto de um documento. Quando abertas, devem exibir uma janela pop-up contendo o texto da nota associada.
As propriedades das anotações de marcação de texto no documento PDF podem ser editadas usando a janela de propriedades fornecida no controle de visualização de PDF. A cor, opacidade, autor e assunto da anotação de marcação de texto podem ser modificados.
É possível obter ou definir as configurações das anotações de destaque usando a propriedade highlightSettings. A propriedade highlightSettings é usada para definir as propriedades de cor, opacidade, autor, assunto, modifiedDate e isLocked das anotações de destaque.
Também é possível obter ou definir as configurações das anotações de tachado usando a propriedade strikethroughSettings. A propriedade strikethroughSettings é usada para definir as propriedades de cor, opacidade, autor, assunto, modifiedDate e isLocked das anotações de tachado.
A próxima funcionalidade é a capacidade de obter ou definir as configurações das anotações de sublinhado usando a propriedade underlineSettings. A propriedade underlineSettings é usada para definir as propriedades de cor, opacidade, autor, assunto, modifiedDate e isLocked das anotações de sublinhado.
O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.
Para adicionar uma Anotação de Marcação de Texto ao documento PDF, precisamos realizar as seguintes ações:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddTextMarkupAnnotations()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample.pdf"))
{
// Create a TextFragmentAbsorber to find the text "PDF"
var tfa = new Aspose.Pdf.Text.TextFragmentAbsorber("PDF");
tfa.Visit(document.Pages[1]);
// Create annotations for the found text fragments
var highlightAnnotation = new Aspose.Pdf.Annotations.HighlightAnnotation(document.Pages[1], tfa.TextFragments[1].Rectangle)
{
Title = "Aspose User",
Color = Aspose.Pdf.Color.LightGreen
};
var strikeOutAnnotation = new Aspose.Pdf.Annotations.StrikeOutAnnotation(document.Pages[1], tfa.TextFragments[2].Rectangle)
{
Title = "Aspose User",
Color = Aspose.Pdf.Color.Blue
};
var squigglyAnnotation = new Aspose.Pdf.Annotations.SquigglyAnnotation(document.Pages[1], tfa.TextFragments[3].Rectangle)
{
Title = "Aspose User",
Color = Aspose.Pdf.Color.Red
};
var underlineAnnotation = new Aspose.Pdf.Annotations.UnderlineAnnotation(document.Pages[1], tfa.TextFragments[4].Rectangle)
{
Title = "Aspose User",
Color = Aspose.Pdf.Color.Violet
};
// Add annotations to the page
document.Pages[1].Annotations.Add(highlightAnnotation);
document.Pages[1].Annotations.Add(squigglyAnnotation);
document.Pages[1].Annotations.Add(strikeOutAnnotation);
document.Pages[1].Annotations.Add(underlineAnnotation);
// Save PDF document
document.Save(dataDir + "AddTextMarkupAnnotations_out.pdf");
}
}
Se você quiser destacar um fragmento de várias linhas, deve usar um exemplo avançado:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddHighlightAnnotationAdvanced()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample_mod.pdf"))
{
var page = document.Pages[1];
var tfa = new TextFragmentAbsorber(@"Adobe\W+Acrobat\W+Reader", new TextSearchOptions(true));
tfa.Visit(page);
foreach (var textFragment in tfa.TextFragments)
{
var highlightAnnotation = HighLightTextFragment(page, textFragment, Color.Yellow);
page.Annotations.Add(highlightAnnotation);
}
// Save PDF document
document.Save(dataDir + "AddHighlightAnnotationAdvanced_out.pdf");
}
}
private static HighlightAnnotation HighLightTextFragment(Page page,
Aspose.Pdf.Text.TextFragment textFragment, Aspose.Pdf.Color color)
{
if (textFragment.Segments.Count == 1)
{
return new Aspose.Pdf.Annotations.HighlightAnnotation(page, textFragment.Segments[1].Rectangle)
{
Title = "Aspose User",
Color = color,
Modified = DateTime.Now,
QuadPoints = new Aspose.Pdf.Point[]
{
new Aspose.Pdf.Point(textFragment.Segments[1].Rectangle.LLX, textFragment.Segments[1].Rectangle.URY),
new Aspose.Pdf.Point(textFragment.Segments[1].Rectangle.URX, textFragment.Segments[1].Rectangle.URY),
new Aspose.Pdf.Point(textFragment.Segments[1].Rectangle.LLX, textFragment.Segments[1].Rectangle.LLY),
new Aspose.Pdf.Point(textFragment.Segments[1].Rectangle.URX, textFragment.Segments[1].Rectangle.LLY)
}
};
}
var offset = 0;
var quadPoints = new Aspose.Pdf.Point[textFragment.Segments.Count * 4];
foreach (Aspose.Pdf.Text.TextSegment segment in textFragment.Segments)
{
quadPoints[offset + 0] = new Aspose.Pdf.Point(segment.Rectangle.LLX, segment.Rectangle.URY);
quadPoints[offset + 1] = new Aspose.Pdf.Point(segment.Rectangle.URX, segment.Rectangle.URY);
quadPoints[offset + 2] = new Aspose.Pdf.Point(segment.Rectangle.LLX, segment.Rectangle.LLY);
quadPoints[offset + 3] = new Aspose.Pdf.Point(segment.Rectangle.URX, segment.Rectangle.LLY);
offset += 4;
}
var llx = quadPoints.Min(pt => pt.X);
var lly = quadPoints.Min(pt => pt.Y);
var urx = quadPoints.Max(pt => pt.X);
var ury = quadPoints.Max(pt => pt.Y);
return new Aspose.Pdf.Annotations.HighlightAnnotation(page, new Aspose.Pdf.Rectangle(llx, lly, urx, ury))
{
Title = "Aspose User",
Color = color,
Modified = DateTime.Now,
QuadPoints = quadPoints
};
}
private static void GetHighlightedText()
{
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample_mod.pdf"))
{
var highlightAnnotations = document.Pages[1].Annotations
.Where(a => a.AnnotationType == Aspose.Pdf.Annotations.AnnotationType.Highlight)
.Cast<Aspose.Pdf.Annotations.HighlightAnnotation>();
foreach (var ta in highlightAnnotations)
{
Console.WriteLine($"[{ta.GetMarkedText()}]");
}
}
}
Por favor, tente usar o seguinte trecho de código para Obter Anotação de Marcação de Texto do documento PDF.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void GetTextMarkupAnnotation()
{
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample_mod.pdf"))
{
var textMarkupAnnotations = document.Pages[1].Annotations
.Where(a => a.AnnotationType == Aspose.Pdf.Annotations.AnnotationType.Highlight
|| a.AnnotationType == Aspose.Pdf.Annotations.AnnotationType.Squiggly)
.Cast<Aspose.Pdf.Annotations.TextMarkupAnnotation>();
foreach (var ta in textMarkupAnnotations)
{
Console.WriteLine($"[{ta.AnnotationType} {ta.Rect}]");
}
}
}
O seguinte trecho de código mostra como Excluir Anotação de Marcação de Texto do arquivo PDF.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void DeleteTextMarkupAnnotation()
{
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample_mod.pdf"))
{
var textMarkupAnnotations = document.Pages[1].Annotations
.Where(a => a.AnnotationType == Aspose.Pdf.Annotations.AnnotationType.Highlight
||a.AnnotationType == Aspose.Pdf.Annotations.AnnotationType.Squiggly)
.Cast<Aspose.Pdf.Annotations.TextMarkupAnnotation>();
foreach (var ta in textMarkupAnnotations)
{
document.Pages[1].Annotations.Delete(ta);
}
// Save PDF document
document.Save(dataDir + "DeleteTextMarkupAnnotation_out.pdf");
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.