PyMuPDF4LLM ialah pustaka yang direka untuk menukar PDF kepada format Markdown. Di sini, saya akan berkongsi pengalaman saya menguji perpustakaan ini.
Mulakan dengan memasang perpustakaan menggunakan arahan berikut:
pip install pymupdf4llm
Penggunaan asas agak mudah, hanya memerlukan tiga baris kod untuk menukar PDF kepada Markdown:
import pymupdf4llm md_text = pymupdf4llm.to_markdown("input.pdf") print(md_text)
Anda boleh menentukan hujah untuk melaraskan cara kandungan diekstrak.
Secara lalai, keseluruhan PDF ditukar kepada satu output teks. Walau bagaimanapun, anda boleh mengekstrak halaman teks demi halaman dengan menyatakan page_chunks=True.
md_text = pymupdf4llm.to_markdown("input.pdf", page_chunks=True)
Untuk mengekstrak imej sebagai fail, gunakan pilihan write_images=True:
md_text = pymupdf4llm.to_markdown("input.pdf", write_images=True)
Ia juga mungkin untuk membenamkan imej secara terus dalam Markdown menggunakan pengekodan base64:
md_text = pymupdf4llm.to_markdown("input.pdf", embed_images=True)
Untuk ujian, pelbagai PDF dengan elemen Markdown berbeza telah digunakan.
Pengepala ditukar dengan betul ke dalam format Markdown. Berikut adalah sebahagian daripada keputusan:
# Sample Markdown Guide This is a sample markdown file that includes various features for quick reference. ## 1. Headers ... ## 3. Lists
Pemformatan tebal dan condong juga ditukar dengan betul:
**Bold: **Bold Text**** _Italic: *Italic Text*_ **_Bold and Italic: ***Bold and Italic***_**
Senarai tertib pada tahap pertama ditukar tanpa isu, tetapi senarai bersarang dan senarai tidak tersusun tidak ditukar dengan tepat.
## 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 pautan diekstrak, tetapi keseluruhan baris yang mengandungi pautan menjadi hiperpautan, menyimpang daripada format asal.
## 4. Links and Images [You can add links using [Link Text](URL).](https://www.example.com/)
Imej tidak diekstrak secara lalai tetapi boleh disimpan secara setempat dengan write_images=True.
md_text = pymupdf4llm.to_markdown("input.pdf", write_images=True)
Imej yang disimpan kemudiannya dirujuk dalam Markdown seperti berikut:
<p>### Image Example</p> <p>![](input.pdf-1-0.png)</p>
Jadual ringkas tanpa sempadan menegak tidak ditukar dengan tepat (kemungkinan kerana sempadan lajur samar menyebabkan jadual dianggap sebagai teks biasa).
<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>
Blok kod ditukar dengan betul, tetapi spesifikasi bahasa (mis., python) tidak dikekalkan. Penukaran kod dalam talian juga mempunyai masalah.
<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>
Untuk teks berbilang baris, pemisah baris dikekalkan seperti yang dipaparkan dalam PDF asal.
<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>
Walaupun menghadapi cabaran dalam menukar senarai dan pautan dengan tepat, PyMuPDF4LLM ialah alat yang berguna untuk menukar PDF kepada Markdown. Ia boleh berfungsi secara tempatan tanpa memerlukan model bahasa luaran, menjadikannya sesuai untuk persekitaran yang tidak tersedia akses internet.
Atas ialah kandungan terperinci Cara Menukar PDF kepada Markdown Menggunakan PyMuPDFM dan Penilaiannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!