PyMuPDF

 
 

PDF 메타데이터를 관리하는 오픈 소스 Python 라이브러리

PDF 문서의 메타데이터에 액세스하고 수정하려면 무료 및 오픈 소스 Python 라이브러리인 PyMuPDF를 사용해 보세요.

PyMuPDF란 무엇입니까?

Fitz라고도 알려진 PyMuPDF는 PDF 구문 분석, PDF 분할 및 병합 등. 그러나 이 페이지에서는 Python 개발자가 PyMuPDF 라이브러리를 사용하여 다음과 같은 PDF 메타데이터 관련 작업을 처리하는 방법에 대해서만 논의합니다.

  • PDF 메타데이터 읽기: PyMuPDF는 작성자, 제목, 제목, 생성 날짜 등과 같은 정보가 포함된 PDF 문서의 메타데이터에 대한 액세스를 지원합니다.
  • PDF 메타데이터 수정: 라이브러리에서는 PDF 문서의 메타데이터도 수정할 수 있습니다.
  • XML 메타데이터 읽기: PDF 문서에는 작성자, 제목 등과 같은 표준 문서 속성에 국한되지 않고 추가 메타데이터를 포함할 수 있는 XML 메타데이터도 포함되어 있습니다. PyMuPDF를 사용하면 개발자도 읽을 수 있습니다.
  • XML 메타데이터 변경: 개발자는 PyMuPDF 라이브러리를 사용하여 PDF의 XML 메타데이터를 변경할 수도 있습니다.
GitHub

GitHub 통계

이름:
언어:
별:
포크:
특허:
저장소가 마지막으로 업데이트된 시간:

PyMuPDF 시작하기

PyMuPDF를 설치하고 사용하려면 Python 버전 3.8.0 이상이 필요합니다. 따라서 먼저 Python을 설치한 다음 아래 명령을 사용하여 pip가상 환경.

리눅스


python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf

맥 OS


python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf

윈도우


python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf  

PDF 메타데이터 읽기

문서의 전체 메타데이터 콘텐츠가 포함된 PyMuPDF 라이브러리의 metadata 멤버를 사용하여 PDF의 메타데이터를 읽을 수 있습니다. 아래 코드 조각은 메타데이터 멤버로부터 PDF의 메타데이터를 얻는 방법을 보여줍니다.

산출

아래 스크린샷은 PyMuPDF를 사용하여 PDF에서 검색된 메타데이터를 보여줍니다.

PDF 메타데이터 편집

아래 코드 스니펫에 표시된 대로 새 값과 함께 변경하려는 필드가 포함된 사전을 set_metadata 메소드에 전달하여 PyMuPDF 라이브러리를 사용하여 PDF의 메타데이터를 편집할 수 있습니다.

PDF의 XML 메타데이터 읽기

PyMuPDF 라이브러리를 사용하여 PDF의 XML 메타데이터를 검색할 수 있습니다. 아래 코드 조각과 같이 전체 XML 메타데이터를 반환하는 get_xml_metadata 메서드를 사용합니다.

산출

아래 스크린샷은 PyMuPDF를 사용하여 PDF에서 검색된 XML 메타데이터를 보여줍니다.

PDF의 XML 메타데이터 변경

PyMuPDF 라이브러리의 set_xml_metadata 메소드를 사용하여 PDF의 XML 메타데이터를 설정하거나 변경할 수 있습니다. set_xml_metadata는 모든 문자열을 허용하고 전체 XML 메타데이터를 전달된 문자열로 바꾸기 때문에 문서 수준 메타데이터를 바꾸는 것만큼 간단하지 않습니다.

메타데이터 정보가 의도치 않게 삭제되는 것을 방지하기 위해 먼저 get_xml_metadata를 사용하여 전체 XML 메타데이터를 문자열로 가져온 다음 문자열의 replace 메서드를 사용하여 교체합니다. 마지막으로 원하는 정보를 얻으면 변경된 필드가 포함된 전체 XML을 PDF의 전체 XML 메타데이터를 변경하는 set_xml_metadata 메서드에 전달합니다. 자세한 내용은 아래 코드 조각을 확인하세요.

결론

요약하자면, PyMuPDF는 메타데이터 조작과 관련된 작업을 위한 훌륭한 도구입니다. PDF의 메타데이터 정보를 쉽게 검색하고 변경할 수 있습니다. 그러나 주목할 만한 약점은 set_xml_metadata 메서드에 있습니다. 이 방법은 전달된 모든 문자열을 받아들이고 이전 XML을 덮어쓰므로 의도하지 않은 정보 손실이 발생할 수 있습니다. 이 문제를 방지하려면 개발자는 XML 메타데이터의 올바른 수정을 보장하기 위해 논리를 구현해야 합니다.

유사한 제품

 한국인