「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PyMuPDFM を使用して PDF を Markdown に変換する方法とその評価

PyMuPDFM を使用して PDF を Markdown に変換する方法とその評価

2024 年 11 月 7 日に公開
ブラウズ:471

PyMuPDF4LLM は、PDF を Markdown 形式に変換するために設計されたライブラリです。ここでは、このライブラリをテストした私の経験を共有します。

インストール

次のコマンドを使用してライブラリをインストールすることから始めます:


pip install pymupdf4llm


使用法

基本的な使用法は非常に簡単で、PDF を Markdown に変換するのに必要なコードは 3 行だけです。


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


引数を指定して、コンテンツの抽出方法を調整できます。

ページごとのテキストの抽出

デフォルトでは、PDF 全体が 1 つのテキスト出力に変換されます。ただし、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 エンコーディングを使用して画像をマークダウンに直接埋め込むこともできます:


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


変換結果の評価

テストには、さまざまな Markdown 要素を含むさまざまな 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)


保存された画像は、次のようにマークダウンで参照されます:


### Image Example

![](input.pdf-1-0.png)




テーブル変換

垂直方向の境界線のない単純なテーブルは正確に変換されません (列の境界があいまいなため、テーブルがプレーン テキストとして扱われる可能性があります)。

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


## 5. Tables

**Column 1** **Column 2** **Column 3**

Row 1 Data A Data B

Row 2 Data C Data D




コード変換

コード ブロックは正しく変換されますが、言語仕様 (Python など) は保持されません。インラインコード変換にも問題があります。

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


## 6. Code

### Inline Code

Use backticks for inline code: print("Hello, world!")

### Code Block

Use triple backticks for code blocks:

```
def greet(name):
return f"Hello, {name}!"
print(greet("Markdown"))
```




複数行のテキスト

複数行のテキストの場合、改行は元の PDF に表示されるとおりに保持されます。

How to Convert PDFs to Markdown Using PyMuPDFM and Its Evaluation


Markdown is a lightweight and versatile markup language favored by developers, writers, and bloggers alike

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

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

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

ideal choice for projects that require both clarity and flexibility in presentation.




結論

リストやリンクを正確に変換するのは困難ですが、PyMuPDF4LLM は PDF を Markdown に変換するための便利なツールです。外部言語モデルを必要とせずにローカルで動作できるため、インターネット アクセスが利用できない環境に適しています。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/m_sea_bass/how-to-convert-pdfs-to-markdown-using-pymupdf4llm-and-its-evaluation-kg6?1 侵害がある場合は、study_golang にご連絡ください。 @163.com 削除
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3