오픈 소스 Python PDF 주석 라이브러리
PDF 문서에서 주석을 추가하고 추출하려면 이 무료 및 오픈 소스 Python 라이브러리를 사용해 보세요.
pypdf란 무엇입니까?
Pypdf는 Python 환경에서 PDF 문서를 처리하기 위한 다양한 기능 세트로 잘 알려진 무료 오픈 소스 Python 라이브러리입니다. 이 도구는 다양한 PDF 조작에 유용하지만 이번 리뷰에서는 주석 관련 기능에 중점을 둘 것입니다.
주석과 관련된 pypdf의 주목할만한 기능은 다음과 같습니다.
- 도형 주석 추가: PDF 페이지의 특정 영역에 선, 직사각형, 타원, 다각형 등과 같은 도형을 주석으로 그릴 수 있습니다.
- 텍스트 주석 추가: PDF 페이지의 특정 위치에 텍스트 주석을 추가할 수 있습니다.
- 링크 주석 추가: PDF 문서에 링크 주석(예: 하이퍼링크)을 추가할 수도 있습니다.
- 주석 추출: pypdf 라이브러리를 사용하여 PDF 문서의 모든 주석에 대한 정보를 반복하고 추출할 수 있습니다.
pypdf 시작하기
pypdf를 설치하고 사용하려면 Python 버전 3.6.0 이상이 필요합니다. 따라서 먼저 Python을 설치한 다음 아래 명령을 사용하여 pip 및 가상 환경.
리눅스
python3 -m venv venv
source venv/bin/activate
pip install pypdf
맥 OS
python -m venv venv
source venv/bin/activate
pip install pypdf
윈도우
python3 -m venv venv
venv\Scripts\activate.bat
pip install pypdf
PDF에 직사각형 주석 추가
pypdf 라이브러리를 사용하여 PDF 문서에 직사각형 주석을 추가할 수 있습니다. pypdf 라이브러리에 있는 pypdf.annotations 모듈의 Rectangle 클래스를 사용하여 직사각형을 정의하겠습니다. 그런 다음 PDFWriter 클래스의 add_annotations 메서드를 사용하여 PDF에 직사각형 주석을 추가합니다.
자세한 내용은 아래 코드 조각을 확인하세요.
산출
아래 스크린샷에서는 오픈 소스 단어에 주석을 추가하기 위해 직사각형이 추가된 것을 볼 수 있습니다.
PDF에 텍스트 주석 추가
pypdf 라이브러리의 pypdf.annotations 모듈에 있는 Text 클래스를 사용하여 텍스트 주석을 만듭니다. 그런 다음 pypdf 라이브러리에 있는 PDFWriter 클래스의 add_annotations 메서드를 사용하여 PDF에 주석을 추가할 수 있습니다. 텍스트 주석은 아이콘을 클릭하면 확장되어 텍스트를 표시하는 아이콘으로 추가됩니다. 자세한 내용은 아래 코드 조각을 확인하세요.
산출
아래 스크린캐스트에서 볼 수 있듯이 위 코드는 아이콘을 클릭할 때 텍스트 주석을 표시하는 지정된 위치에 PDF에 아이콘을 추가합니다.
PDF에 링크 주석 추가
링크 주석은 pypdf.annotations 모듈의 Link 클래스를 사용하여 생성됩니다. 그러나 링크 주석의 문제는 링크를 추가하기만 하고 표시되지 않는다는 것입니다. 이 문제를 해결하기 위해 앞서 설명한 대로 pypdf.annotations 모듈의 Rectangle 클래스를 사용하여 직사각형을 통합합니다. 이를 통해 사용자는 링크 주석이 추가된 위치를 시각적으로 확인할 수 있습니다. 더 나은 이해를 위해 아래 코드 조각을 확인하십시오.
산출
출력에서 볼 수 있듯이 직사각형은 클릭 시 사용자를 지정된 링크로 리디렉션하는 영역 역할을 합니다.
PDF에서 주석 추출
pypdf 라이브러리를 사용하여 PDF에서 주석을 추출할 수 있습니다. PDF 페이지의 모든 주석을 반복한 다음 get_object 메서드를 사용하여 주석 개체를 가져옵니다. 그런 다음 객체에서 관련 정보를 추출합니다. 자세한 내용은 아래 코드 조각을 확인하세요.
산출
아래 스크린샷에서 볼 수 있듯이 프로그램은 주석 유형과 PDF 문서의 주석 좌표를 반환했습니다.
결론
Pypdf는 Python 개발자가 PDF에 다양한 유형의 주석을 추가하고 유형 및 위치와 같은 주석에 대한 필수 정보에 액세스할 수 있도록 지원하므로 주석 추가 및 주석에 대한 데이터 추출이 필요한 작업에 실용적인 선택이 됩니다.