PDF 高亮注释使用 Python
Contents
 [
      
        Hide
      ]
    文本标记注释在PDF中用于突出显示、下划线、跳过或在文档中添加文本注释。这些注释旨在突出或引起对文本特定部分的注意。这样的注释允许用户以视觉方式标记或修改PDF文件的内容。
高亮注释用于用彩色背景(通常为黄色)标记文本,以指示其重要性或相关性。
下划线注释是在选定文本下方放置的一条线,以表示重要性、强调或建议的编辑。
删除线注释包括对特定文本的删除线或删除线,以表明它已被删除、替换或不再有效。
波浪线用于在文本下划线以指示不同类型的重音,例如拼写错误、潜在问题或建议的更改。
添加文本标记注释
为了向PDF文档添加文本标记注释,我们需要执行以下操作:
- 加载 PDF 文件 - 新的 Document 对象。
- 创建注释:
- HighlightAnnotation 并设置参数(标题,颜色)。
- StrikeOutAnnotation 并设置参数(标题,颜色)。
- SquigglyAnnotation 并设置参数(标题,颜色)。
- UnderlineAnnotation 并设置参数(标题,颜色)。
 
- 然后我们应该将所有注释添加到页面中。
添加高亮注释
    import aspose.pdf as ap
    # 打开文档
    document = ap.Document(input_file)
    # 创建圆形注释
    highlightAnnotation = ap.annotations.HighlightAnnotation(
        document.pages[1], ap.Rectangle(300, 750, 320, 770, True)
    )
    document.pages[1].annotations.append(highlightAnnotation)
    document.save(output_file)
添加删除线注释
    import aspose.pdf as ap
    document = ap.Document(input_file)
    strikeoutAnnotation = ap.annotations.StrikeOutAnnotation(
        document.pages[1], ap.Rectangle(299.988, 713.664, 308.708, 720.769, True)
    )
    strikeoutAnnotation.title = "Aspose 用户"
    strikeoutAnnotation.subject = "插入文本 1"
    strikeoutAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
    strikeoutAnnotation.color = ap.Color.blue
    document.pages[1].annotations.append(strikeoutAnnotation)
    document.save(output_file)
添加波浪线注释
    import aspose.pdf as ap
    document = ap.Document(input_file)
    page = document.pages[1]
    squigglyAnnotation = ap.annotations.SquigglyAnnotation(page, ap.Rectangle(67, 317, 261, 459, True))
    squigglyAnnotation.title = "John Smith"
    squigglyAnnotation.color = ap.Color.blue
    page.annotations.append(squigglyAnnotation)
    document.save(output_file)
添加下划线注释
    import aspose.pdf as ap
    document = ap.Document(input_file)
    underlineAnnotation = ap.annotations.UnderlineAnnotation(
        document.pages[1], ap.Rectangle(299.988, 713.664, 308.708, 720.769, True)
    )
    underlineAnnotation.title = "Aspose 用户"
    underlineAnnotation.subject = "插入下划线 1"
    underlineAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
    underlineAnnotation.color = ap.Color.blue
    document.pages[1].annotations.append(underlineAnnotation)
    document.save(output_file)
获取文本标注
请尝试使用以下代码片段从 PDF 文档中获取文本标注。
获取高亮标注
    import aspose.pdf as ap
    document = ap.Document(input_file)
    highlightAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.HIGHLIGHT)
    ]
    for ha in highlightAnnotations:
        print(ha.rect)
获取删除线标注
    import aspose.pdf as ap
    document = ap.Document(input_file)
    StrikeoutAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.STRIKE_OUT)
    ]
    for pa in StrikeoutAnnotations:
        print(pa.rect)
获取波浪线标注
    import aspose.pdf as ap
    document = ap.Document(input_file)
    squigglyAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.SQUIGGLY)
    ]
    for pa in squigglyAnnotations:
        print(pa.rect)
获取下划线注释
    import aspose.pdf as ap
    document = ap.Document(input_file)
    UnderlineAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.UNDERLINE)
    ]
    for ta in UnderlineAnnotations:
        print(ta.rect)
删除文本标记注释
以下代码片段演示了如何从PDF文件中删除文本标记注释。
删除高亮注释
    import aspose.pdf as ap
    # 加载PDF文件
    document = ap.Document(input_file)
    highlightAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.HIGHLIGHT)
    ]
    for hs in highlightAnnotations:
        document.pages[1].annotations.delete(hs)
    document.save(output_file)
删除删除线注释
    import aspose.pdf as ap
    document = ap.Document(input_file)
    StrikeoutAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.STRIKE_OUT)
    ]
    for pa in StrikeoutAnnotations:
        document.pages[1].annotations.delete(pa)
    document.save(output_file)
删除波浪线注释
    import aspose.pdf as ap
    document = ap.Document(input_file)
    squigglyAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.SQUIGGLY)
    ]
    for pa in squigglyAnnotations:
        document.pages[1].annotations.delete(pa)
    document.save(output_file)
删除下划线注释
    import aspose.pdf as ap
    document = ap.Document(input_file)
    underlineAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.UNDERLINE)
    ]
    for ta in underlineAnnotations:
        document.pages[1].annotations.delete(ta)
    document.save(output_file)