> 백엔드 개발 > 파이썬 튜토리얼 > PyMuPDFM 및 평가를 사용하여 PDF를 마크다운으로 변환하는 방법

PyMuPDFM 및 평가를 사용하여 PDF를 마크다운으로 변환하는 방법

Linda Hamilton
풀어 주다: 2024-10-07 18:12:31
원래의
314명이 탐색했습니다.

PyMuPDF4LLM은 PDF를 마크다운 형식으로 변환하도록 설계된 라이브러리입니다. 여기에서는 이 라이브러리를 테스트한 경험을 공유하겠습니다.

설치

다음 명령을 사용하여 라이브러리 설치를 시작하세요.


pip install pymupdf4llm


로그인 후 복사

용법

기본 사용법은 매우 간단하여 PDF를 Markdown으로 변환하는 데 단 세 줄의 코드만 필요합니다.


import pymupdf4llm
md_text = pymupdf4llm.to_markdown("input.pdf")
print(md_text)


로그인 후 복사

인수를 지정하여 콘텐츠 추출 방법을 조정할 수 있습니다.

페이지별 텍스트 추출

기본적으로 전체 PDF는 단일 텍스트 출력으로 변환됩니다. 그러나 page_chunks=True를 지정하면 페이지 단위로 텍스트를 추출할 수 있습니다.


md_text = pymupdf4llm.to_markdown("input.pdf", page_chunks=True)


로그인 후 복사

이미지 추출

이미지를 파일로 추출하려면 write_images=True 옵션을 사용하세요.


md_text = pymupdf4llm.to_markdown("input.pdf", write_images=True)


로그인 후 복사
로그인 후 복사

base64 인코딩을 사용하여 Markdown에 이미지를 직접 삽입할 수도 있습니다.


md_text = pymupdf4llm.to_markdown("input.pdf", embed_images=True)


로그인 후 복사

변환 결과 평가

테스트에는 다양한 마크다운 요소가 포함된 다양한 PDF가 사용되었습니다.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation

헤더 변환

헤더가 Markdown 형식으로 올바르게 변환됩니다. 결과의 일부는 다음과 같습니다.


# Sample Markdown Guide

This is a sample markdown file that includes various features for quick reference.

## 1. Headers

...

## 3. Lists


로그인 후 복사

볼드체 및 이탤릭체 텍스트

굵게 및 기울임꼴 형식도 올바르게 변환됩니다.


**Bold: **Bold Text****

_Italic: *Italic Text*_

**_Bold and Italic: ***Bold and Italic***_**


로그인 후 복사

목록 변환

첫 번째 수준의 정렬된 목록은 문제 없이 변환되지만 중첩된 목록과 정렬되지 않은 목록은 정확하게 변환되지 않습니다.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


## 3. Lists

### Unordered List

Item 1

Item 2

Sub-item 1

Sub-item 2

### Ordered List

1. First item

2. Second item

1. Sub-item A

2. Sub-item B


로그인 후 복사

링크 변환

링크의 URL은 추출되지만 해당 링크가 포함된 줄 전체가 하이퍼링크가 되어 원래 형식에서 벗어납니다.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


## 4. Links and Images

[You can add links using [Link Text](URL).](https://www.example.com/)


로그인 후 복사

이미지 추출

이미지는 기본적으로 추출되지 않지만 write_images=True를 사용하여 로컬에 저장할 수 있습니다.


md_text = pymupdf4llm.to_markdown("input.pdf", write_images=True)


로그인 후 복사
로그인 후 복사

저장된 이미지는 다음과 같이 Markdown에서 참조됩니다.


<p>### Image Example</p>

<p>![](input.pdf-1-0.png)</p>

로그인 후 복사




테이블 변환

세로 테두리가 없는 단순한 테이블은 정확하게 변환되지 않습니다(모호한 열 경계로 인해 테이블이 일반 텍스트로 처리되기 때문일 수 있음).

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


<p>## 5. Tables</p>

<p>**Column 1** **Column 2** **Column 3**</p>

<p>Row 1 Data A Data B</p>

<p>Row 2 Data C Data D</p>

로그인 후 복사




코드 변환

코드 블록은 올바르게 변환되지만 언어 사양(예: Python)은 유지되지 않습니다. 인라인 코드 변환에도 문제가 있습니다.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


<p>## 6. Code</p>

<p>### Inline Code</p>

<p>Use backticks for inline code: print("Hello, world!")</p>

<p>### Code Block</p>

<p>Use triple backticks for code blocks:</p>

<p>```<br>
def greet(name):<br>
  return f"Hello, {name}!"<br>
print(greet("Markdown"))<br>
```</p>

로그인 후 복사




여러 줄 텍스트

여러 줄의 텍스트의 경우 줄 바꿈은 원본 PDF에 표시된 대로 유지됩니다.

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


<p>Markdown is a lightweight and versatile markup language favored by developers, writers, and bloggers alike</p>

<p>due to its simplicity in formatting text, enabling users to create readable and well-structured documents—</p>

<p>whether for documentation, blog posts, or articles—without the complexity of HTML, while also offering the</p>

<p>ability to convert content seamlessly into other formats like HTML, PDF, and even slideshows, making it an</p>

<p>ideal choice for projects that require both clarity and flexibility in presentation.</p>

로그인 후 복사




결론

목록과 링크를 정확하게 변환하는 데 어려움이 있음에도 불구하고 PyMuPDF4LLM은 PDF를 Markdown으로 변환하는 데 유용한 도구입니다. 외부 언어 모델 없이 로컬에서 작동할 수 있어 인터넷 접속이 불가능한 환경에 적합합니다.

위 내용은 PyMuPDFM 및 평가를 사용하여 PDF를 마크다운으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿