Python을 통한 PDF의 텍스트 주석 사용

기존 PDF 파일에 텍스트 주석 추가하는 방법

텍스트 주석은 PDF 문서의 특정 위치에 첨부된 주석입니다. 주석이 닫혀 있을 때는 아이콘으로 표시되고, 열리면 독자가 선택한 글꼴과 크기로 메모 텍스트가 포함된 팝업 창을 표시해야 합니다.

주석은 특정 페이지의 Annotations 컬렉션에 포함되어 있습니다. 이 컬렉션은 해당 개별 페이지에 대한 주석만 포함합니다. 각 페이지에는 고유한 Annotations 컬렉션이 있습니다.

특정 페이지에 주석을 추가하려면, 그 페이지의 Annotations 컬렉션에 add() 메서드를 사용하여 추가합니다.

  1. 먼저, PDF에 추가하려는 주석을 만듭니다.

  2. 그런 다음 입력 PDF를 엽니다.

  3. ‘page’ 객체의 Annotations 컬렉션에 주석을 추가합니다.

다음 코드 스니펫은 PDF 페이지에 주석을 추가하는 방법을 보여줍니다.


    import aspose.pdf as ap

    document = ap.Document(input_file)

    textAnnotation = ap.annotations.TextAnnotation(
        document.pages[1], ap.Rectangle(300, 700.664, 320, 720.769, True)
    )
    textAnnotation.title = "Aspose 사용자"
    textAnnotation.subject = "삽입된 텍스트 1"
    textAnnotation.contents = "qwerty"
    textAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
    textAnnotation.color = ap.Color.blue

    document.pages[1].annotations.append(textAnnotation)
    document.save(output_file)

PDF 파일에서 텍스트 주석 가져오기


    import aspose.pdf as ap

    document = ap.Document(input_file)
    textAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.TEXT)
    ]

    for ta in textAnnotations:
        print(ta.rect)

PDF 파일에서 텍스트 주석 삭제


    import aspose.pdf as ap

    document = ap.Document(input_file)
    textAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.TEXT)
    ]

    for ta in textAnnotations:
        document.pages[1].annotations.delete(ta)

    document.save(output_file)

새로운 자유 텍스트 주석 추가(또는 생성) 방법

자유 텍스트 주석은 페이지에 직접 텍스트를 표시합니다. FreeTextAnnotation 클래스는 이 유형의 주석을 생성할 수 있도록 합니다. 다음 코드 조각에서는 문자열이 처음 발생하는 위치 위에 자유 텍스트 주석을 추가합니다.


    import aspose.pdf as ap

    # PDF 파일 로드
    document = ap.Document(input_file)

    freeTextAnnotation = ap.annotations.FreeTextAnnotation(
        document.pages[1], ap.Rectangle(299, 713, 308, 720, True), ap.annotations.DefaultAppearance()
    )
    freeTextAnnotation.title = "Aspose User"
    freeTextAnnotation.color = ap.Color.light_green

    document.pages[1].annotations.append(freeTextAnnotation)
    document.save(output_file)

PDF 파일에서 자유 텍스트 주석 가져오기


    import aspose.pdf as ap

    document = ap.Document(input_file)
    freeTextAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.FREE_TEXT)
    ]

    for fa in freeTextAnnotations:
        print(fa.rect)

PDF 파일에서 자유 텍스트 주석 삭제하기


    import aspose.pdf as ap

    # PDF 파일 불러오기
    document = ap.Document(input_file)
    freeTextAnnotations = [
        a
        for a in document.pages[1].annotations
        if (a.annotation_type == ap.annotations.AnnotationType.FREE_TEXT)
    ]

    for fa in freeTextAnnotations:
        document.pages[1].annotations.delete(fa)

    document.save(output_file)

StrikeOutAnnotation을 사용하여 단어를 취소선으로 표시하기

Aspose.PDF for Python을 사용하면 PDF 문서에서 주석을 추가, 삭제 및 업데이트할 수 있습니다. 클래스 중 하나는 주석을 취소선으로 표시할 수도 있습니다. StrikeOutAnnotation이 PDF에 적용되면 지정된 텍스트에 선이 그어지며, 이는 제거되거나 무시되어야 함을 나타냅니다.

다음 코드 스니펫은 PDF에 StrikeOutAnnotation을 추가하는 방법을 보여줍니다.


    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 User"
    strikeoutAnnotation.subject = "삽입된 텍스트 1"
    strikeoutAnnotation.flags = ap.annotations.AnnotationFlags.PRINT
    strikeoutAnnotation.color = ap.Color.blue

    document.pages[1].annotations.append(strikeoutAnnotation)
    document.save(output_file)

PDF에서 StrikeOutAnnotation 가져오기


    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)

PDF에서 StrikeOutAnnotation 삭제


    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)