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가 사용되었습니다.
헤더가 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***_**
첫 번째 수준의 정렬된 목록은 문제 없이 변환되지만 중첩된 목록과 정렬되지 않은 목록은 정확하게 변환되지 않습니다.
## 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은 추출되지만 해당 링크가 포함된 줄 전체가 하이퍼링크가 되어 원래 형식에서 벗어납니다.
## 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>
세로 테두리가 없는 단순한 테이블은 정확하게 변환되지 않습니다(모호한 열 경계로 인해 테이블이 일반 텍스트로 처리되기 때문일 수 있음).
<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)은 유지되지 않습니다. 인라인 코드 변환에도 문제가 있습니다.
<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에 표시된 대로 유지됩니다.
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!