파일 열기¶
지원되는 파일 유형¶
PyMuPDF¶
PyMuPDF 는 PDF 외의 파일도 열 수 있습니다.
다음 파일 유형이 지원됩니다:
| PDF XPS EPUB MOBI FB2 CBZ SVG TXT | |
|
JPG/JPEG, PNG, BMP, GIF, TIFF, PNM, PGM, PBM, PPM, PAM, JXR, JPX/JP2, PSD
JPG/JPEG, PNG, PNM, PGM, PBM, PPM, PAM, PSD, PS
|
PyMuPDF Pro¶
PyMuPDF Pro 는 Office 파일을 열 수 있습니다.
다음 파일 유형이 지원됩니다:
파일을 여는 방법¶
파일을 열려면 다음을 수행하세요:
doc = pymupdf.open("a.pdf")
참고
위 코드는 Document 를 생성합니다. doc = pymupdf.Document("a.pdf") 명령도 동일하게 작동합니다. 따라서 open 은 편의를 위한 별칭이며, 해당 장에서 전체 API 문서를 확인할 수 있습니다.
파일 인식기: 잘못된 파일 확장자로 열기¶
파일 유형과 다른 확장자를 가진 문서가 있어도 걱정하지 마세요: 통합된 파일 “콘텐츠 인식기” 덕분에 여전히 올바르게 열립니다.
이 구성 요소는 파일 확장자와 무관하게 여러 휴리스틱을 사용하여 파일의 실제 데이터를 확인합니다. 확장자가 없는 파일 이름에도 마찬가지입니다.
파일 콘텐츠 인식기의 작동 방식에 대한 세부사항은 다음과 같습니다:
파일 이름에서 열 때, 콘텐츠 검사를 통해 파일 형식을 결정할 수 없는 경우
filetype매개변수를 사용하세요. 예를 들어 모든 텍스트 파일(“txt”, “html”, “xml” 또는 소스 파일)이 이에 해당합니다. 파일 확장자가 없거나 잘못되었거나 파일이 메모리에 있는 경우filetype을 사용해야 합니다. 성공적으로 인식할 수 있는 파일 형식은 확장자가 없거나 잘못되어도 열리며,filetype매개변수는 무시됩니다.텍스트 콘텐츠 기반 파일은 명확하게 인식 가능한 내부 구조를 포함하지 않습니다. 소스 파일(Python, C 등)뿐만 아니라 HTML, XML 등도 마찬가지입니다. 이 경우 파일 확장자와
filetype매개변수가 계속 역할을 하며 “Tex” / “HTML” / … 문서를 만드는 데 사용됩니다. 따라서 다른 확장자 또는 확장자가 없는 텍스트 파일은filetype을 사용하여 성공적으로 열 수 있습니다.
원격 파일 열기¶
서버의 원격 파일(즉, 로컬이 아닌 파일)의 경우, 파일 데이터를 PyMuPDF 로 스트리밍 해야 합니다.
예를 들어 requests 라이브러리를 다음과 같이 사용하세요:
import pymupdf
import requests
r = requests.get('https://mupdf.com/docs/mupdf_explored.pdf')
data = r.content
doc = pymupdf.Document(stream=data)
클라우드 서비스에서 파일 열기¶
일반적인 클라우드 서비스에 저장된 파일을 다루는 추가 예제는 Cloud Interactions 코드 스니펫 을 참조하세요.
Django 파일 열기¶
Django는 파일을 저장하기 위해 File Storage API 를 구현합니다. 기본값은 FileSystemStorage 이지만, django-storages 라이브러리는 여러 다른 스토리지 백엔드를 제공합니다.
파일을 열고, 콘텐츠를 메모리로 이동한 다음, 콘텐츠를 스트림으로 PyMuPDF 에 전달할 수 있습니다.
import pymupdf
from django.core.files.storage import default_storage
from .models import MyModel
obj = MyModel.objects.get(id=1)
with default_storage.open(obj.file.name) as f:
data = f.read()
doc = pymupdf.Document(stream=data)
열려는 파일이 큰 경우 메모리가 부족할 수 있습니다.
File Storage API는 다른 환경에서 다른 스토리지 백엔드를 사용하는 경우 잘 작동합니다. FileSystemStorage 만 사용하는 경우, 이전 예제에서와 같이 obj.file.name 을 사용하여 PyMuPDF 로 파일을 직접 열 수 있습니다.
파일을 텍스트로 열기¶
PyMuPDF 는 모든 일반 텍스트 파일을 문서로 열 수 있는 기능이 있습니다. 이를 수행하려면 pymupdf.open 함수의 filetype 매개변수를 "txt" 로 제공해야 합니다.
doc = pymupdf.open("my_program.py", filetype="txt")
이렇게 하면 다양한 파일 유형을 열고 텍스트 검색, 텍스트 추출 및 페이지 렌더링과 같은 일반적인 비PDF 특정 기능을 수행할 수 있습니다. txt 콘텐츠를 렌더링한 후에는 PDF 로 저장하거나 다른 PDF 파일과 병합하는 것도 문제없습니다.
예제¶
C# 파일 열기¶
doc = pymupdf.open("MyClass.cs", filetype="txt")
XML 파일 열기¶
doc = pymupdf.open("my_data.xml", filetype="txt")
JSON 파일 열기¶
doc = pymupdf.open("more_of_my_data.json", filetype="txt")
등등!
상상할 수 있듯이 많은 텍스트 기반 파일 형식은 PyMuPDF 로 매우 간단하게 열고 해석할 수 있습니다. 이를 통해 이전에 사용할 수 없었던 광범위한 파일에 대한 데이터 분석 및 추출이 가능해집니다.
