Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
テキストマークアップ注釈は、ドキュメントのテキスト内でハイライト、下線、取り消し線、またはギザギザ(「うねうね」)の下線として表示されます。開くと、関連するノートのテキストを含むポップアップウィンドウが表示されます。
PDFドキュメント内のテキストマークアップ注釈のプロパティは、PDFビューワーコントロールに提供されるプロパティウィンドウを使用して編集できます。テキストマークアップ注釈の色、透明度、著者、および件名を変更できます。
ハイライト注釈の設定を取得または設定するには、highlightSettingsプロパティを使用できます。highlightSettingsプロパティは、ハイライト注釈の色、透明度、著者、件名、modifiedDate、およびisLockedプロパティを設定するために使用されます。
取り消し線注釈の設定を取得または設定することも可能です。strikethroughSettingsプロパティを使用して、取り消し線注釈の色、透明度、著者、件名、modifiedDate、およびisLockedプロパティを設定します。
次の機能は、underlineSettingsプロパティを使用して下線注釈の設定を取得または設定する能力です。underlineSettingsプロパティは、下線注釈の色、透明度、著者、件名、modifiedDate、およびisLockedプロパティを設定するために使用されます。
次のコードスニペットは、Aspose.PDF.Drawingライブラリでも動作します。
PDFドキュメントにテキストマークアップ注釈を追加するには、次のアクションを実行する必要があります。
// 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");
}
}
複数行のフラグメントをハイライトする場合は、次の高度な例を使用してください:
// 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()}]");
}
}
}
次のコードスニペットを使用して、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}]");
}
}
}
次のコードスニペットは、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.