파일 열기

지원되는 파일 유형


PyMuPDF

PyMuPDFPDF 외의 파일도 열 수 있습니다.

다음 파일 유형이 지원됩니다:

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/DOCX

XLS/XLSX

PPT/PPTX

HWP/HWPX

_images/icon-docx.svg _images/icon-xlsx.svg _images/icon-pptx.svg _images/icon-hangul.svg

파일을 여는 방법

파일을 열려면 다음을 수행하세요:

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매우 간단하게 열고 해석할 수 있습니다. 이를 통해 이전에 사용할 수 없었던 광범위한 파일에 대한 데이터 분석 및 추출이 가능해집니다.

This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at artifex.com or contact Artifex Software Inc., 39 Mesa Street, Suite 108A, San Francisco CA 94129, United States for further information.