# Cara Menukar Fail PDF dan Word kepada Teks untuk AI: MarkItDown daripada Microsoft

> Ulasan mendalam: Cara menukar fail PDF dan Word kepada teks untuk AI: MarkItDown daripada Microsoft.

Source: https://ailoot.ai/blog/ms/markitdown-pdf-word-to-text/
Canonical: https://ailoot.ai/blog/ms/markitdown-pdf-word-to-text/
Language: ms
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-171
Revision: sha256-7cca700f9031800543dd5b03e5ec31dff082a94399f577ac9a28518fcfdb736f


<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

MarkItDown ialah utiliti percuma daripada Microsoft yang menukar fail Word, Excel, pembentangan dan PDF kepada teks berstruktur untuk AI. Ia menghuraikan fail Office dengan kemas dalam masa yang singkat. Ia menjadikan PDF dengan susun atur kompleks bersepah, dan menghasilkan fail kosong dengan kod keluar sifar untuk dokumen imbasan. Di bawah ialah arahan pemasangan yang berfungsi, ukuran pada dokumen yang mengandungi teks Cyrillic, dan panduan tentang bila perlu menggunakan alat lain.

</div>



Lebih banyak arahan tersedia dalam [dokumentasi Ailoot](https://ailoot.ai/docs/).

## Apakah MarkItDown dan untuk apa ia digunakan?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

MarkItDown ialah utiliti Python daripada Microsoft yang membaca fail dan memulangkan kandungannya sebagai teks berstruktur. Tajuk menjadi tajuk, dan jadual menjadi jadual. Ia berada dalam repositori GitHub terbuka di bawah lesen MIT, boleh dipasang dengan satu arahan, dan melakukan semua pemprosesannya pada komputer anda. Tugasnya satu sahaja: menyediakan dokumen supaya AI dapat melihat bukan sahaja perkataan, tetapi juga strukturnya.

</div>

Anda menghantar kontrak, laporan atau eksport perakaunan kepada AI, lalu mendapat jawapan yang tiada kaitan dengan dokumen itu. Puncanya biasanya bukan model. Fail itu mengandungi format: Word ialah arkib dengan penanda, Excel ialah hamparan dengan pautan antara sel, dan PDF ialah set aksara berserta koordinat pada halaman. Model bekerja dengan teks, dan seseorang perlu mengekstrak teks itu.

Itulah yang dilakukan oleh MarkItDown. Repositorinya berada di [github.com/microsoft/markitdown](https://github.com/microsoft/markitdown), di bawah lesen MIT, jadi anda boleh menggunakannya tanpa sekatan. Setakat 18 Ogos 2026, ia mempunyai 174,412 bintang dan 12,756 fork; keluaran terbaharu, 0.1.7, diterbitkan pada 29 Julai. Projek ini aktif, tetapi tumpuannya beralih daripada pembangunan kepada penyelenggaraan: terdapat 481 permintaan tarik terbuka, berbanding 183 yang digabungkan sepanjang sejarahnya.

Pembangun menerangkan tujuannya begini:

<figure>
<blockquote>
<p>MarkItDown ialah utiliti Python ringan untuk menukar fail daripada pelbagai format kepada Markdown supaya boleh digunakan dengan model bahasa besar dan saluran kerja analisis teks yang berkaitan.</p>
</blockquote>
<figcaption>— Microsoft, penerangan projek (diterjemahkan), https://github.com/microsoft/markitdown</figcaption>
</figure>

Ayat seterusnya dalam penerangan itu menjelaskan separuh daripada aduan orang ramai tentang alat ini:

<figure>
<blockquote>
<p>Walaupun hasilnya selalunya kelihatan agak baik dan mesra pembaca, ia bertujuan untuk digunakan oleh alat analisis teks dan mungkin bukan pilihan terbaik untuk penukaran berketepatan tinggi bagi dokumen yang hendak dibaca oleh manusia.</p>
</blockquote>
<figcaption>— Microsoft, penerangan projek (diterjemahkan), https://github.com/microsoft/markitdown</figcaption>
</figure>

Hasilnya ialah bahan mentah untuk model. Ia bukan dokumen yang cantik, dan projek itu menyatakannya dengan jelas, betul-betul dalam bahagian pertama.

Penerangan itu menjawab secara terus sebab Markdown digunakan: model terkemuka sudah “bertutur” dalam penanda ini dan memasukkannya dalam jawapan tanpa diminta, kerana mereka melihat jumlah yang sangat besar semasa latihan. Penanda ini juga ringkas: tiga tanda pagar untuk tajuk, bukannya berbelas-belas baris metadata.

## Apakah perbezaan MarkItDown dengan penukar biasa?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

Penukar seperti pandoc menukar satu bahasa penanda kepada bahasa lain dan mengekalkan susun atur untuk manusia. pandoc langsung tidak menerima PDF sebagai input. MarkItDown menyelesaikan masalah yang bertentangan: mengekstrak kandungan daripada fail Office dan menyusunnya supaya model dapat memahaminya serta-merta tanpa membazirkan token. Mengekalkan susun atur visual bukan matlamatnya, dan itulah keseluruhan perbezaannya.

</div>

Perbezaannya jelas melalui satu contoh. Ambil folder yang mengandungi dua puluh PDF dan cuba proses semuanya dengan pandoc. Ia tidak akan berjaya: [pandoc](https://pandoc.org/) boleh menghasilkan PDF sebagai output, tetapi tidak boleh membacanya sebagai input. Dan situasi “saya ada sekumpulan dokumen; berikan semuanya kepada model” ialah situasi yang paling lazim.

Pengarang MarkItDown membandingkannya dengan textract, sebuah pustaka yang hanya mengekstrak teks dari mana-mana sumber. Bezanya, MarkItDown cuba mengekalkan struktur: tajuk, senarai, jadual dan pautan.

| Ciri | pandoc | MarkItDown |
|----|----|----|
| Membaca PDF | tidak | ya, dengan batasan |
| Membaca Word, Excel, pembentangan | sebahagiannya | ya |
| Sasaran pembaca output | manusia | model |
| Nilai utama | ketepatan susun atur | struktur dan bilangan aksara yang rendah |
| Pemasangan | program kendiri | satu arahan Python |

Kesimpulan praktikalnya mudah. Jika anda perlu menukar artikel menjadi susun atur untuk penerbitan, gunakan pandoc. Jika anda mahu AI memahami dua puluh kontrak, gunakan MarkItDown.

## Bagaimanakah cara memasang MarkItDown tanpa mendapat keluaran pertama?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

Dengan keluaran 0.1.8, arahan dalam penerangan projek memasang versi terkini pada Python 3.14 dan 3.12; perkara ini telah diuji semula dalam lapan persekitaran bersih. Penurunan versi secara senyap kepada 0.0.2, keluaran kedua dalam sejarah projek, masih berlaku pada Python 3.15, pada Mac Intel yang menjalankan 3.14, dan pada Mac dengan versi macOS lebih lama yang menjalankan 3.13 dan 3.14. Dalam kes ini, pemasang melaporkan kejayaan. Jadi gunakan Python 3.12, senaraikan format yang diperlukan mengikut nama, dan semak nombor versi dengan segera.

</div>

Mula-mula, arahan yang betul; kemudian, sebab arahan itu betul.

1.  ### Semak versi Python

    Python 3.12 paling boleh diharap: MarkItDown terkini berjaya dipasang dalam setiap persekitaran yang diuji dengannya. Arahan `python3 --version` menunjukkan versi yang anda ada. Pada Mac Intel atau Mac yang menjalankan versi macOS lebih lama, Python 3.13 dan 3.14 boleh menurunkan versi secara senyap; Python 3.15 belum disokong, seperti yang dijelaskan di bawah.

2.  ### Pasang dengan menyenaraikan format

    Jalankan `pip install 'markitdown[pdf,docx,xlsx,pptx]'`. Tanda petik diperlukan, jika tidak shell akan mentafsir kurungan siku itu. Pada Mac Intel, tambah bendera `--prefer-binary` selepas `install`.

3.  ### Semak pemasangan dengan segera

    Jalankan `markitdown --version`. Responsnya sepatutnya `markitdown 0.1.8` atau lebih baharu. Nombor yang lebih rendah bermakna pemasangan menurunkan versi; bahagian ini menjelaskan sebabnya.

```bash
pip install 'markitdown[pdf,docx,xlsx,pptx]'
markitdown --version
```

Penerangan projek menyenaraikan `pip install 'markitdown[all]'` sebagai arahan utama—untuk memasang semuanya sekali gus. Pada 28 September 2026, seminggu selepas 0.1.8 diterbitkan, empat variasi diuji dalam persekitaran bersih pada Mac Apple Silicon dengan Python 3.14.6 dan 3.12.12:

| Arahan | Dipasang pada Python 3.14 | Dipasang pada Python 3.12 |
|----|----|----|
| `pip install markitdown` | 0.1.8 | 0.1.8 |
| `pip install 'markitdown[pdf,docx,xlsx,pptx]'` | 0.1.8 | 0.1.8 |
| `pip install 'markitdown[all]'` | 0.1.8 | 0.1.8 |
| `pip install 'markitdown[all]==0.1.8'` | 0.1.8 | 0.1.8 |

Kesemua lapan pemasangan berakhir dengan “Successfully installed”, dan `markitdown --version` memulangkan 0.1.8 dalam setiap kes. Pada Ogos, ketika 0.1.7 ialah keluaran terkini, arahan ketiga pada Python 3.14 memasang 0.0.2, yang diterbitkan pada 8 Mac 2025—keluaran kedua dalam sejarah projek. Kini terdapat sebelas keluaran stabil, daripada 0.0.1 hingga 0.1.8, dan dua puluh enam jika keluaran pra-pelancaran turut dikira.

Puncanya ialah rantaian kebergantungan. Dalam 0.1.7, tambahan `[all]` menarik pustaka sari kata YouTube daripada siri keluaran tertentu, dan semua keluaran dalam siri itu menyatakan bahawa ia tidak berfungsi pada Python 3.14. Pemasang menolaknya dan, kerana tiada versi dipinkan, berundur melalui versi MarkItDown sehingga menemui versi yang boleh dipasang. Ia menemui 0.0.2 lalu memasangnya, meletakkan keluaran berusia setahun setengah pada komputer anda. Dalam 0.1.8, syarat pustaka sari kata dinaikkan kepada siri yang berfungsi pada 3.14, lalu penurunan versi itu berhenti.

Mekanisme itu masih wujud. Jika pemasang tidak dapat menemui satu komponen yang diperlukan untuk sistem anda, ia berundur secara senyap kepada 0.0.2 dengan cara yang sama. Dalam versi terkini, komponen itu ialah enjin onnxruntime yang digunakan oleh pengesan jenis fail. Pada Mac, enjin ini dibina seperti berikut: untuk Python 3.12, macOS 11 dan lebih baharu; untuk 3.13, macOS 13; untuk 3.14, Apple Silicon sahaja dengan macOS 14 atau lebih baharu. Jika Mac anda tidak memenuhi syarat tersebut, arahan asas `pip install markitdown` pun memasang 0.0.2. Ujian pada Mac Intel yang menjalankan Python 3.14 melalui Rosetta menghasilkan perkara yang sama: “Successfully installed”, tiada amaran, dan 0.0.2 terpasang.

Mac Intel mempunyai satu lagi kerumitan. Sejak Jun 2026, pustaka cryptography yang diperlukan untuk membaca PDF diterbitkan tanpa versi prabina untuk pemproses ini, jadi pemasang cuba membinanya daripada kod sumber. Tambahkan bendera `--prefer-binary` pada arahan, dan pemasang akan menggunakan versi terdahulu yang mempunyai pakej prabina. Dalam ujian pada Python 3.13 untuk Intel, cara ini memasang 0.1.8, dan PDF berjaya dibuka. Bendera itu memasang cryptography 48.0.1, yang mempunyai tiga kelemahan yang diketahui: dalam penyahsulitan PKCS#7 dan pengesahan rantaian sijil. MarkItDown menggunakannya hanya untuk menyahsulit PDF yang disulitkan, dan pembacaan dokumen tidak melibatkan bahagian tersebut.

Dengan Python 3.15, penurunan versi berlaku atas dua sebab. Versi 0.1.8 mengisytiharkan sokongan hanya dari 3.10 hingga 3.14, dan enjin untuk 3.15 belum tersedia. Resolusi pemasang bagi 3.15 mengesahkan perkara ini: kedua-dua arahan asas dan arahan dengan format memasang 0.0.2 yang sama.

Amaran penurunan versi kelihatan begini, satu baris bagi setiap tambahan dalam arahan:

```
WARNING: markitdown 0.0.2 does not provide the extra 'all'
```

Baris itu tenggelam antara berpuluh-puluh baris muat turun, dan tidak menyatakan versi yang menggantikannya. Jika menggunakan arahan asas tanpa tambahan, tiada amaran pun. Laporan akhir ceria: “Successfully installed.”

Memasang tanpa tambahan juga bukan penyelesaian. Pakej asas berjaya dipasang, tetapi tidak dapat membuka PDF:

```
PdfConverter recognized the input as a potential .pdf file, but the
dependencies needed to read .pdf files have not been installed. To resolve
this error, include the optional dependency [pdf] or [all] when installing
MarkItDown. For example:

* pip install 'markitdown[pdf]'
* pip install 'markitdown[all]'
```

Alat itu sendiri mengesyorkan `[all]`, dan dengan 0.1.8, nasihat itu kembali berfungsi pada Python 3.14 dan 3.12. Namun begitu, lebih baik senaraikan format mengikut nama: `[all]` menambah kira-kira lima belas pakej lagi dan sekitar 55 megabait, termasuk pustaka Azure pra-pelancaran dan rantaian kebergantungan YouTube yang pernah mematahkan pemasangan.

Pemasang mengendalikan pra-pelancaran Azure itu sendiri. Biasanya pip melangkau keluaran pra-pelancaran, tetapi dalam kes ini syaratnya menyebut keluaran pra-pelancaran secara jelas, jadi ia memasangnya. Empat versi pip, daripada 23.2 hingga 26.2, diuji pada Python 3.12; semuanya memilih 0.1.8.

<div class="aside" data-semantic="callout" role="note" aria-label="Amaran">

Amaran

Sejurus selepas pemasangan, jalankan `markitdown --version`. Proses ini mengambil masa lima saat, dan inilah satu-satunya cara untuk mengetahui bahawa anda memasang versi yang diminta. Laporan kejayaan tidak bermakna apa-apa dalam kes ini.

</div>

Pada Ogos, pemasangan semula dalam persekitaran bersih yang lain memberikan hasil yang sama: 0.0.2 dan perkataan “Successfully”.

Ada beberapa butiran praktikal yang elok diketahui lebih awal.

Saiznya agak besar: pemasangan asas mengambil 143 megabait; dengan empat format, 303. Komponen paling berat, pada 81 megabait, ialah pengesan jenis fail yang turut dipasang dalam pemasangan asas. Itu tidak penting untuk komputer riba, tetapi penting untuk fungsi awan dengan had saiz.

Jangan bergantung pada cermin sebagai pilihan sandaran. Cermin yang diuji menyediakan indeks, dan fail MarkItDown tersedia, tetapi satu kebergantungan yang diperlukan tiada, lalu pemasangan gagal pada Python 3.14 dan 3.12.

Pemasangan ialah perkara kecil berbanding isu utama. Lebih kerap, AI menghasilkan perkara yang mengarut kerana perkara yang salah, atau perwakilan yang salah tentangnya, dimasukkan ke dalam tetingkap konteksnya. Keupayaan untuk menentukan perkara yang hendak diberikan kepada model sebelum sesuatu tugas dipanggil kejuruteraan konteks, dan penyediaan dokumen ialah sebahagian daripadanya.



## Bagaimanakah cara menukar dokumen pertama anda kepada teks?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

Satu arahan dalam terminal: nama program dan laluan fail. Secara lalai, hasilnya dipaparkan terus dalam tetingkap, jadi anda boleh menyimpannya terus ke fail. Terdapat tiga kaedah: output ke konsol, tulis dengan bendera, atau hantar fail sebagai strim. Untuk menyepadukannya dalam skrip sendiri, terdapat pembalut Python tiga baris yang turut menerima URL.

</div>

Pilihan paling ringkas:

```bash
markitdown dogovor.docx
```

Teks dipaparkan di terminal. Untuk menyimpannya ke fail, terdapat dua cara:

```bash
markitdown dogovor.docx -o dogovor.md
markitdown dogovor.docx > dogovor.md
```

Perbezaannya boleh diabaikan pada Mac dan Linux, tetapi penting pada Windows: pengalihan melalui `>` boleh menyebabkan program ranap apabila output mengandungi teks Cyrillic.

Anda boleh menghantar fail sebagai strim; dalam kes itu, petunjuk sambungan fail berguna:

```bash
cat dogovor.docx | markitdown -x docx
```

Berikut ialah bendera utama daripada bantuan versi 0.1.8:

| Bendera | Fungsinya |
|----|----|
| `-o`, `--output` | menulis hasil ke fail dan bukannya memaparkannya dalam tetingkap |
| `-x`, `--extension` | petunjuk sambungan apabila fail dihantar sebagai strim |
| `-m`, `--mime-type` | petunjuk jenis kandungan |
| `-c`, `--charset` | petunjuk pengekodan aksara |
| `-d`, `--use-docintel` | pemprosesan melalui perkhidmatan awan berbayar Microsoft |
| `-v`, `--version` | memaparkan versi |

Bantuan yang sama menyenaraikan tiga lagi bendera berguna, dan setiap satunya telah diuji: `--list-plugins` memaparkan pemalam yang dipasang, `-p` mengaktifkannya untuk satu larian tertentu, dan `--keep-data-uris` mengekalkan imej yang dibenamkan dalam dokumen dalam output (secara lalai, imej itu dipotong). Selebihnya ialah tetapan untuk perkhidmatan awan Microsoft.

Pembalut Python hanya mengambil tiga baris:

```python
from markitdown import MarkItDown

md = MarkItDown()
print(md.convert("ostatki.xlsx").text_content)
```

Panggilan yang sama menerima URL. Halaman ringkas memulangkan teks bersih sepanjang 167 aksara, termasuk tajuk dan pautan, tanpa menu dan pengaki:

```python
r = md.convert("https://example.com")
```

## Apakah format yang difahami MarkItDown, dan apakah maksudnya dalam amalan?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

Penerangan projek menyenaraikan pelbagai format: fail Office, PDF, imej, audio, arkib, pautan YouTube dan buku elektronik. Tiga perkara tidak berfungsi seperti yang disangka daripada namanya. Versi percuma langsung tidak mempunyai pengecaman teks imej. Pertuturan dihantar kepada enjin berbahasa Inggeris. Fail yang tidak dapat dihuraikan hilang daripada arkib tanpa amaran.

</div>

Jadual ringkasan tentang perkara yang didakwa dan maksudnya dalam amalan.

| Format | Dakwaan | Perkara yang sebenarnya berlaku |
|----|----|----|
| Word, Excel, pembentangan | ya | berfungsi dengan kemas; inilah kekuatannya |
| CSV, JSON, XML, HTML | ya | berfungsi, tetapi CSV mempunyai perangkap pemisah |
| PDF | ya | bergantung pada susun atur: teks satu lajur dicantumkan, dua lajur bersepah |
| Imej | “metadata dan pengecaman” | tiada pengecaman, hanya metadata atau model penglihatan berbayar |
| Audio | “transkripsi pertuturan” | dihantar kepada enjin berbahasa Inggeris Google |
| Arkib ZIP | “menelusuri kandungan” | apa sahaja yang tidak dapat dihuraikan hilang tanpa dikesan |
| Pautan YouTube | ya | hanya pautan penuh dalam bentuk `'<OFFICIAL_URL>'?...` |
| Buku elektronik EPUB | ya | berfungsi |

Tiga perkara dengan lebih terperinci.

Imej. Penerangan itu menyertakan perkataan OCR, jadi orang menjangka program akan membaca teks daripada foto. Ia tidak berbuat demikian. Program membaca metadata menggunakan alat berasingan, exiftool, dan jika anda menyambungkan model penglihatan dengan kunci sendiri, imej boleh dihantar kepadanya untuk mendapatkan penerangan.

Audio. Transkripsi pertuturan tersedia, tetapi bahasa tidak dihantar bersama, dan secara lalai enjin menjangkakan bahasa Inggeris. Ia juga memanggil titik akhir percuma Google yang tidak rasmi, yang dihadkan kepada kira-kira lima puluh permintaan sehari bagi setiap kunci.

Arkib. Program menyahzip fail ZIP dan menelusuri fail di dalamnya, lalu menggabungkan hasilnya. Jika sesuatu fail tidak dapat dihuraikan, ralatnya ditangkap dan disekat. Fail itu tidak akan muncul dalam hasil, dan anda tidak akan mengetahuinya.

## Apakah yang berlaku pada dokumen yang mengandungi teks Cyrillic?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

Tiga fail yang mengandungi teks Cyrillic—kontrak Word, helaian inventori Excel dan pembentangan—diproses menggunakan versi terkini. Teks Cyrillic dan nombornya kekal utuh dalam ketiga-tiganya. Masalah berlaku di tiga tempat: fail CSV yang menggunakan koma bertitik, pemformatan mata wang dalam sel Excel dan output konsol Windows. Ketiga-tiganya mempunyai penyelesaian.

</div>

Fail di bawah dicipta khusus untuk ujian; datanya direka-reka.



Helaian inventori Excel juga keluar dengan kemas, dengan nama helaian dijadikan tajuk:

```markdown
## Stock
| Item | In stock | Reserved | Available |
| --- | --- | --- | --- |
| Coffee beans, kg | 420 | 38 | 382 |
| Loose-leaf tea, kg | 180 | 52 | 128 |
```

Pembentangan bertukar menjadi teks, dengan nombor slaid dipaparkan sebagai anotasi dan tajuk slaid dijadikan tajuk. Teks Cyrillic juga kekal utuh di sini. Dakwaan umum bahawa “MarkItDown tidak memahami Cyrillic” adalah tidak benar.

Sekarang, tiga perkara yang memang bermasalah.

CSV dengan koma bertitik. Dua eksport invois yang serupa diproses untuk perbandingan. Eksport yang menggunakan koma menghasilkan jadual empat lajur yang betul. Dengan koma bertitik, seluruh baris dimasukkan ke dalam satu sel.

Seluruh baris berakhir dalam satu sel. Pengekodan dikenal pasti dengan betul, dan tiada ralat; bendera `-c` tidak membantu. Model akan menerima jadual ini dan tidak akan memahami nilai mana ialah jumlah dan nilai mana ialah status. Eksport semula fail dengan pemisah koma dan pengekodan yang dinyatakan secara jelas, sambil mengekalkan fail asal. Jangan gantikan koma bertitik secara menyeluruh: pemisah dalam teks berpetik dan koma perpuluhan boleh menjadi sebahagian nilai. Jika eksport semula tidak tersedia, huraikan fail asal dengan pemisah sebenarnya dan tulis CSV baharu menggunakan penulis yang memahami CSV serta mengekalkan petikan dan nilai sel. Sebelum analisis, bandingkan bilangan lajur, baris dan jumlah kawalan dengan eksport sumber.

Pemformatan mata wang Excel. Simbol mata wang disimpan dalam tetapan paparan sel dan tidak menjadi sebahagian daripada nilai itu sendiri. Penyelenggara projek telah mengesahkan puncanya. Bagi senarai harga atau invois, hal ini penting: model akan melihat nombor tanpa mengetahui mata wang yang diwakilinya.

Konsol Windows. Pada fail yang mengandungi aksara bukan Latin, program boleh ranap.

Jejak ralat menunjukkan pengekodan `cp1251`, iaitu konsol Windows. Dokumen itu sendiri dihuraikan dengan betul; yang gagal ialah paparan hasil dalam tetingkap terminal. Jadi terdapat dua penyelesaian:

```powershell
markitdown dogovor.docx -o dogovor.md
$env:PYTHONUTF8 = "1"; markitdown dogovor.docx > dogovor.md
```

Cara pertama langsung mengelakkan konsol; cara kedua menjadikan Python menulis dalam UTF-8. Orang ramai telah menghantar pembaikan untuk isu dalam alat itu sendiri sekurang-kurangnya enam kali: beberapa cadangan ditutup tanpa digabungkan, manakala selebihnya masih terbuka. Jadi anda perlu menggunakan penyelesaian sementara.

Gejala keempat muncul dalam PDF: urutan seperti `(cid:1090)` menggantikan huruf. Ini bermakna fail itu mempunyai jadual fon yang tidak standard dan aksaranya tidak dapat dinyahkod. Tiada gunanya memproses dokumen seperti itu dengan MarkItDown; anda memerlukan alat lain.

## Mengapa PDF menghasilkan teks yang bersepah?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

PDF tidak mengandungi struktur, hanya aksara dengan koordinat pada halaman. Teks satu lajur dicantumkan dengan agak baik. Dua lajur menjadi bersepah: baris disambung merentasi lajur, perkataan bercantum, dan susun atur bertukar menjadi jadual yang tiada dalam dokumen asal. Alat ini langsung tidak mengenal pasti tajuk dalam PDF—perkara ini jelas daripada kod sumber dan ukuran bebas.

</div>

Untuk ujian, sebuah kertas saintifik dua lajur berukuran 2.16 megabait diproses. Kod keluarnya sifar; selepas 0.9 saat, output mengandungi 88,000 aksara, hampir semuanya mengarut. Lapan puluh lapan ribu aksara memberi gambaran bahawa semuanya berjaya. Sehinggalah anda membuka fail itu:

```
|     | Hybrid |          | OCR-LLM     |     | Framework  |
| --- | ------ | -------- | ----------- | --- | ---------- |
...
Informationextractionfromcopy-heavydoc-
5202 tcO 11  ]LC.sc[  1v83101.0152:viXra
```

Tiga perkara menjadi masalah serentak. Susun atur dua lajur bertukar menjadi jadual yang tiada dalam kertas itu. Perkataan bercantum tanpa ruang. Baris terakhir ialah lajur sisi menegak pada halaman yang diekstrak secara terbalik.

Kemudian muncul bahagian yang lucu. Rupa-rupanya kertas ujian itu ialah kajian yang mengukur MarkItDown dan membandingkannya dengan alat lain. Alat itu menukar perenggan yang melaporkan ukurannya sendiri menjadi seperti berikut:

```
cues. This name-matching error could be miti-  OCRpreprocessingoverhead(0.056s),whileDo-
gatedthroughpromptengineeringtoprovidemore  clingandMinerUadoptmorecomputationallyin-
explicit matching instructions or fine-tuning the  tensive strategies with OCR latencies of approxi-
```

Lajur kiri dan kanan dicantumkan baris demi baris. Model yang menerima teks ini akan membaca separuh ayat daripada satu perenggan dan separuh lagi daripada perenggan lain.

Puncanya bersifat teknikal dan mudah. Word menyimpan secara jelas “ini tajuk” dan “ini sel jadual”. PDF menyimpan “ini aksara” dan “ini koordinatnya pada halaman”. Membina semula struktur daripada koordinat ialah tugas berasingan yang sukar, dan MarkItDown hampir tidak mencubanya. Kod sumber penghuraian PDF tidak mengandungi pengesanan tajuk: jika halaman tidak dikenal pasti sebagai borang atau jadual, seluruh dokumen melalui pengekstrakan teks asas.

Pengguna kerap melaporkan hal ini dalam repositori projek, termasuk bagi kertas saintifik dan jadual.

Alat ini tidak menemui walau satu tajuk pun dalam PDF, tepat seperti yang ditunjukkan oleh kod sumbernya.

Angka “MarkItDown mencapai ketepatan 82%” tersebar dalam talian tanpa sebarang metodologi. Menjejaknya kembali ke sumber asal tidak membawa ke mana-mana: rantaian pautan berakhir pada halaman yang tidak dapat dimuatkan. Angka itu tidak boleh dianggap sebagai ukuran.

## Apakah yang berlaku kepada kontrak imbasan?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

Tiada apa-apa. Fail diproses, program melaporkan kejayaan, dan output mengandungi sifar aksara. Tiada ralat, tiada amaran. Perkara ini diuji dua kali pada PDF yang dibuat daripada imej, dan secara berasingan pada imej itu sendiri—hasilnya sama. Alat ini mengekstrak teks yang memang sudah disimpan sebagai teks dalam fail; versi percuma tidak mempunyai keupayaan pengecaman.

</div>

Tingkah laku ini lebih berbahaya daripada yang lain kerana ia tidak kelihatan seperti kegagalan.

Untuk ujian, PDF dibuat daripada imej yang mengandungi teks—iaitu, tepat seperti yang anda peroleh apabila kontrak difoto atau diimbas. Larian diulang untuk menolak kemungkinan hasil itu berlaku secara kebetulan:

| Input | Kod keluar | Aksara dalam output | Mesej ralat |
|----|----|----|----|
| PDF daripada imej, larian 1 | 0 | 0 | tiada |
| PDF daripada imej, larian 2 | 0 | 0 | tiada |
| Imej PNG secara langsung | 0 | 1 (pemisah baris) | tiada |

Sifar aksara dan sifar ralat, dua kali berturut-turut. Kod keluar sifar bermaksud “semuanya berjalan lancar”, dan mana-mana skrip yang menyemak kejayaan berdasarkan kod keluar akan mengira dokumen itu sebagai telah diproses. Kemudian output kosong dihantar kepada model, model tidak melihat apa-apa, lalu mula mereka-reka jawapan daripada udara kosong.

<div class="aside" data-semantic="callout" role="note" aria-label="Amaran">

Amaran

Jika anda memproses dokumen secara berkumpulan, semak panjang outputnya. Kod keluar tidak akan memberitahu apa-apa: fail kosong dengan kod keluar sifar ialah rupa hasil imbasan.

</div>

Terdapat dua penyelesaian, dan kedua-duanya berbayar. Yang pertama ialah bendera `-d`, yang menghantar dokumen kepada perkhidmatan pengecaman awan Microsoft; teks bantuan bendera itu menyatakan dengan jelas bahawa titik akhir perkhidmatan yang sah diperlukan. Yang kedua ialah pakej tambahan berasingan yang menghantar halaman kepada model penglihatan menggunakan kunci anda, jadi anda membayar penyedia model untuk setiap halaman. Sejak April 2026, perbincangan terbuka tentang kaedah kedua melaporkan bahawa hanya halaman pertama imbasan berbilang halaman diproses.

Anda juga boleh menjalankan model pengecaman pada komputer sendiri, tetapi itu projek yang berasingan.

Untuk dokumen sekali-sekala, lebih mudah membukanya dan menyalin teks secara manual. Untuk aliran dokumen imbasan yang berterusan, anda memerlukan alat dengan pengecaman terbina dalam.

## Bolehkah anda sekadar memuat naik fail ke penukar dalam talian?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

Dari segi teknikal, ya; terdapat banyak domain dengan nama ini. Tetapi tiada satu pun berafiliasi dengan Microsoft. Dakwaan “fail tidak pernah meninggalkan pelayar anda” boleh disemak dengan satu klik, dan tidak semestinya benar. Sebelum memuat naik kontrak atau eksport yang mengandungi nama orang, periksa sendiri ke mana fail itu dihantar.

</div>

“MarkItDown dalam talian” ialah salah satu cadangan carian yang paling lazim, dan terdapat laman web yang menawarkannya. Alat asal Microsoft langsung tidak mempunyai laman web; ia hanya tersedia sebagai program yang anda pasang sendiri. Apa-apa sahaja dengan nama yang serupa dan dibuka dalam pelayar dibuat oleh pihak lain.

Anda boleh menyemak perkhidmatan sedemikian dalam masa seminit: buka alat pembangun pada tab permintaan rangkaian, muat naik mana-mana fail yang tidak berbahaya, dan lihat sama ada fail itu dihantar ke pelayan. Jika ya, dakwaan bahawa pemprosesan berlaku dalam pelayar adalah palsu, walau seyakinnya dakwaan itu dipaparkan dalam FAQ.

<div class="aside" data-semantic="callout" role="note" aria-label="Amaran">

Amaran

Kontrak, invois atau eksport yang mengandungi nama pekerja termasuk data peribadi. Jika anda menghantar fail sedemikian ke laman web pihak ketiga, andalah yang menghantarnya. Utiliti setempat mengelakkan masalah itu: fail tidak meninggalkan komputer anda.

</div>

Itulah sebabnya MarkItDown dihargai apabila dokumen tidak boleh dihantar ke luar organisasi. Dalam satu perbincangan, seseorang menerangkan situasinya: program sewenang-wenangnya dilarang pada komputer kerja mereka, tetapi pustaka Python dibenarkan, dan utiliti setempat itu akhirnya menjadi satu-satunya pilihan yang ada.

## Berapa banyak sebenarnya yang dijimatkan oleh MarkItDown?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

Faedah utamanya ialah model dapat memahami dokumen itu sama sekali. Terdapat juga perbezaan saiz: perbandingan antara saiz penanda di dalam fail Office dengan saiz teks yang diekstrak menunjukkan pengurangan lima hingga tujuh kali ganda. Alat ini turut membuang semua yang tidak perlu dibaca oleh model: penerangan tentang fon, jidar dan warna sel.

</div>

Fail Office disusun sebagai arkib yang mengandungi penanda. Jika anda membongkar tiga fail ujian dan membandingkan saiz bahagian yang mengandungi kandungan dengan saiz output, hasilnya begini:

| Fail | Penanda di dalam | Teks diekstrak | Kali lebih kecil |
|-----------------|-----------------|---------------|-----------------------|
| Kontrak Word | 3,701 bait | 711 bait | 5.2 |
| Hamparan Excel | 1,561 bait | 262 bait | 6.0 |
| Pembentangan | 2,203 bait | 296 bait | 7.4 |

Fail-fail ini kecil; perkadarannya akan berbeza untuk fail yang lebih besar, dan tiada satu angka penjimatan yang terpakai untuk semua. Apabila angka bulat muncul dalam artikel perbandingan, tanyakan tentang metodologinya.

Pembangun sendiri juga menyebut penjimatan: penerangan projek menyatakan secara khusus bahawa konvensyen Markdown sangat menjimatkan dari segi aksara. Itu benar, tetapi tidak sepatutnya menjadi tarikan utama. Perbezaan antara “model menerima tiga ribu aksara dan bukannya lima belas ribu” dengan “model menerima struktur yang jelas dan bukannya campur aduk” datang daripada perkara yang berlainan. Yang pertama menjimatkan wang; yang kedua menentukan sama ada jawapannya masuk akal.

Jika penggunaan konteks menjadi kebimbangan anda, perkara itu diterangkan secara berasingan: [Ke mana perginya token dalam Claude](https://ailoot.ai/blog/ms/where-claude-code-tokens-go/) dan [berapa banyak token disertakan dalam setiap pelan](https://ailoot.ai/blog/ms/claude-pro-max-usage-limits/).

## Bagaimanakah cara menyambungkan MarkItDown kepada Claude melalui MCP?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

Projek ini mempunyai pakej berasingan yang menjalankan pelayan MCP dengan satu arahan sahaja: berikan laluan fail, dan dapatkan teks. Pada September 2026, pakej itu akhirnya dikemas kini kepada 0.0.1a7, tetapi binaannya masih pra-pelancaran dan menghantar telemetri kepada Microsoft secara lalai. Arahan di bawah menyambungkannya melalui uv, meminkan versi, menggunakan Python 3.12 dan melumpuhkan telemetri. Tiada pengesahan, dan menurut dokumentasinya sendiri, pelayan itu boleh membaca mana-mana fail yang tersedia kepada pengguna yang melancarkannya.

</div>

MCP ialah cara untuk memberikan alat luaran kepada AI supaya AI boleh menggunakannya sendiri. Untuk gambaran umum tentang mekanisme ini dan pelayan lain, lihat ulasan [pelayan MCP untuk Claude Code](https://ailoot.ai/blog/ms/mcp-servers-claude-code/).

Pelayan MarkItDown menyediakan tepat satu alat: menukar dokumen kepada teks. Ia menerima laluan fail setempat, URL halaman atau data yang dibenamkan terus dalam permintaan.

Ia disambungkan kepada Claude Code dengan satu arahan, dengan versi pelayan dipinkan. Anda memerlukan pengurus pakej uv:

```bash
claude mcp add --scope user --env 'ORT_DISABLE_TELEMETRY=1' --env 'UV_PYTHON=3.12' --transport stdio markitdown -- uvx markitdown-mcp@0.0.1a7
claude mcp list
```

Respons arahan kedua sepatutnya menunjukkan “Connected” untuk `markitdown`. Pelancaran pertama memuat turun kira-kira tujuh puluh pakej dan mengambil masa sehingga seminit; selepas itu, pelayan bermula dalam masa satu hingga satu setengah saat.

Berikut ialah batasannya, dan setiap satunya telah diperiksa secara manual.

Binaan `0.0.1a7` diterbitkan pada 14 September 2026. Sebelum itu, pelayan tersebut tersekat pada `0.0.1a4` dari Mei 2025 selama lebih setahun. Nombor versi terkini masih pra-pelancaran.

Ia tidak akan dipasang pada setiap sistem yang mempunyai versi Python terkini. Enjin onnxruntime yang diperlukan tersedia untuk Python 3.14 pada Mac hanya bagi Apple Silicon yang menjalankan macOS 14 atau lebih baharu, jadi pemasangan gagal pada Mac Intel dan macOS 13 atau lebih awal dengan Python 3.14. Pada Mac Apple Silicon, pelayan ini dijalankan pada Python 3.14, 3.13 dan 3.12, dan berjaya dipasang pada ketiga-tiganya. Arahan menggunakan `UV_PYTHON=3.12`: pakej prabina untuk 3.12 tersedia pada Windows, Linux dan Mac Apple Silicon; jika versi Python itu tiada, uv akan memuat turunnya. Terdapat juga satu batasan untuk Mac Intel: uv akan membina pustaka cryptography daripada kod sumber kerana pakej prabina untuk Intel tidak tersedia sejak Jun 2026. Pemasangan mengambil masa lebih lama dan mungkin gagal.

Versi MarkItDown yang dipasang di dalamnya bergantung pada versi uv. Mulai MarkItDown 0.1.6, tambahan `[all]` memerlukan pustaka Azure pra-pelancaran: uv 0.12 dan lebih baharu memasangnya bersama MarkItDown 0.1.8 terkini, manakala versi uv yang lebih lama menurunkan versi kepada 0.1.5. Semak versi uv anda dengan `uv --version`.

Dua perkara dihantar ke luar komputer. Yang pertama ialah telemetri: pada Mac dan Linux, enjin onnxruntime di dalam pelayan menghantarnya kepada Microsoft secara lalai. Pemboleh ubah `ORT_DISABLE_TELEMETRY=1` dalam arahan melumpuhkannya. Dalam ujian, tanpa pemboleh ubah itu pelayan bersambung ke titik akhir telemetri Microsoft. Apabila pemboleh ubah ditetapkan, tiada langsung sambungan semasa fail diproses daripada cakera.

Yang kedua ialah audio. Pelayan menghantar fail WAV, MP3, M4A dan MP4 kepada perkhidmatan pengecaman pertuturan Google untuk ditranskripsikan melalui HTTP biasa, tanpa penyulitan. Sebaiknya jangan hantar rakaman perbualan dengan pelanggan melaluinya.

Dokumen besar tidak muat melaluinya. Satu perbincangan terbuka menerangkan respons pelayan sebanyak 51,000 token yang melanggar had 25,000 token, dan alat ini tidak memecahkan fail kepada bahagian.

Dan soal keselamatan. Dokumentasi pakej itu sendiri menyatakan dengan jelas:

<figure>
<blockquote>
<p>Pelayan ini tidak menyokong pengesahan dan berjalan dengan kebenaran pengguna yang melancarkannya. Alat penukaran ini boleh digunakan untuk membaca mana-mana fail yang boleh dicapai oleh pengguna pelayan, atau mana-mana data dalam rangkaian.</p>
</blockquote>
<figcaption>— Microsoft, penerangan pakej markitdown-mcp (diterjemahkan), https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp</figcaption>
</figure>

Dengan kata lain, ejen yang mempunyai alat ini boleh membaca apa sahaja yang boleh anda baca. Ini boleh diterima untuk kerja pada komputer sendiri. Anda tidak boleh mendedahkan pelayan itu kepada umum atau memberikannya kepada ejen yang tidak dipercayai.

<div class="aside" data-semantic="callout" role="note" aria-label="Amaran">

Amaran

Dokumentasi projek tidak menyertakan konfigurasi khusus untuk Claude Code—dokumentasi itu hanya menerangkan Claude Desktop dan pelancaran melalui bekas. Jika anda menemui konfigurasi siap guna dalam talian yang dikatakan “daripada dokumentasi rasmi” untuk Claude Code, ketahuilah bahawa konfigurasi sedemikian tiada dalam repositori.

</div>

Untuk kerja biasa, lebih mudah menjalankan program dengan satu arahan dan meletakkan teks yang terhasil dalam projek. Fail itu kemudian berada di sebelah bahan lain, tempat model boleh merujuknya sendiri.

## Bilakah lebih tepat untuk menggunakan alat lain?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

Peraturannya mudah: jika struktur sudah direkodkan di dalam fail, gunakan MarkItDown—alat ini paling pantas dan percuma. Jika struktur perlu dibina semula daripada imej halaman, gunakan alat dengan model susun atur. Docling mengendalikan jadual dan susun atur kompleks, MinerU mengendalikan formula dan berbilang lajur, manakala perkhidmatan awan berbayar membantu apabila tiada masa untuk bersusah payah dengannya.

</div>

Perbandingan berdasarkan tugas; bintang GitHub tiada kaitan dengannya:

| Alat | Kekuatan | Kos yang perlu dibayar |
|----|----|----|
| MarkItDown | fail Office, kelajuan, percuma | tidak dapat mengendalikan PDF kompleks atau imbasan |
| Docling | jadual dan susun atur melalui model khusus | berpuluh-puluh saat bagi setiap dokumen |
| MinerU | berbilang lajur, formula, jadual padat | lebih sukar dipasang |
| Marker | ketepatan tinggi, formula, ilustrasi | memerlukan kad grafik, dan lesennya mengehadkan hasil pendapatan |
| unstructured | memulangkan struktur dokumen dalam bahagian berserta penerangan | output lebih sukar digunakan |
| Penghuraian awan | tiada persediaan | wang dan penghantaran dokumen ke luar komputer anda |

Terdapat satu butiran tentang Marker yang tidak disebut dalam artikel perbandingan. Sejak Julai 2026, kodnya sendiri menggunakan lesen permisif, manakala berat modelnya menggunakan lesen berasingan dengan had tertentu: penggunaannya percuma jika hasil syarikat anda tidak melebihi lima juta dolar dan dana yang dikumpulkan pada tahun sebelumnya juga tidak melebihi jumlah yang sama. Satu klausa berasingan melarang penggunaannya oleh sesiapa yang membina produk pesaing. Perkara ini tidak penting bagi kebanyakan pembaca, tetapi menjadi alasan untuk perniagaan yang sedang berkembang membaca lesen itu sebelum menggunakannya.

Hasilnya ialah aliran kerja praktikal empat langkah:

1. Proses semuanya dengan MarkItDown—alat ini percuma dan serta-merta.
2. Buka hasilnya dan semak saiznya.
3. Jika teks itu masuk akal, tugas selesai; tiada apa-apa lagi diperlukan.
4. Jika output bersepah atau kosong, proses fail itu sahaja dengan alat yang lebih berat.

Dengan cara itu, anda hanya menanggung kos masa dan kerumitan untuk dokumen yang memerlukannya.

## Bagaimanakah MarkItDown boleh dimasukkan ke dalam aliran kerja anda?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Rumusan utama">

Rumusan utama

Anthropic sendiri menyatakan panduan ini dalam penerangan kemahirannya: gunakan alat ini untuk membaca dokumen. Jangan merancang suntingan berdasarkannya. Berikut tiga senario yang memberikan manfaat sejak penggunaan pertama: menghuraikan kelompok dokumen serupa, menambah bahan rujukan tetap kepada projek AI sekali sahaja, dan menyediakan eksport daripada sistem perakaunan untuk dianalisis.

</div>

Anthropic menggunakan MarkItDown dalam kemahiran siap gunanya sendiri untuk bekerja dengan fail Office, dan kemahiran tersebut menyatakan batasan yang patut anda ikuti sepenuhnya:

<figure>
<blockquote>
<p>Periksa helaian dengan pantas: markitdown file.xlsx. Koordinat sel tidak tersedia, jadi jangan merancang suntingan berdasarkannya.</p>
</blockquote>
<figcaption>— Anthropic, penerangan kemahiran untuk bekerja dengan jadual (diterjemahkan), https://github.com/anthropics/skills/blob/main/skills/xlsx/SKILL.md</figcaption>
</figure>

Rujukan sel dan halaman hilang dalam teks, jadi anda tidak boleh menggunakannya untuk membuat perubahan pada fail sumber. Berikut tiga senario.

Kelompok dokumen serupa—akta, invois, borang, permohonan. Letakkannya dalam folder dan proses semuanya dengan satu baris:

```bash
for f in dokumenty/*.docx; do markitdown "$f" -o "text/$(basename "$f" .docx).md"; done
```

Kemudian berikan folder fail teks itu kepada model dan minta model mengumpulkan maklumat yang berkaitan dalam jadual. Cara ini berfungsi dengan fail digital; imbasan akan gagal, dan anda akan mengesannya serta-merta melalui saiz sifarnya.

Bahan projek tetap—senarai harga, templat kontrak, dasar, penerangan perkhidmatan. Tukarkannya kepada teks sekali dan letakkan bersama projek. Model kemudiannya boleh membacanya dengan setiap permintaan, jadi anda tidak perlu melampirkan fail itu pada perbualan setiap kali. Artikel tentang [memuat naik fail ke Claude](https://ailoot.ai/blog/ms/claude-file-upload/) menerangkan perbezaannya dengan memuat naik fail ke dalam sembang.

Eksport daripada sistem perakaunan. Eksport Excel daripada perisian perakaunan atau akaun bank menjadi jadual dalam satu pertiga saat, lalu model boleh membuat pengiraan daripadanya tanpa kerja tambahan di antaranya. Periksa bahawa CSV dieksport atau dihuraikan dengan pemisah, petikan dan pengekodan sebenarnya, serta bandingkan baris, lajur dan jumlah kawalan sebelum memberikannya kepada model. Jangan seragamkan pemisah dengan cari dan ganti. Catat juga mata wang secara jelas: simbol yang hanya disimpan dalam pemformatan sel Excel tidak kekal selepas pengekstrakan.

Memproses PDF besar dalam terminal tidak termasuk dalam senarai ini. Itu isu berasingan yang melibatkan penggunaan konteks, dan diterangkan dalam artikel tentang [PDF dalam Claude Code tanpa kehilangan token](https://ailoot.ai/blog/ms/pdf-claude-code-markdown/). Jika anda baru menyediakan ruang kerja, mulakan dengan [memasang Claude Code](https://ailoot.ai/blog/ms/install-claude-code/).

Untuk bermula sekarang, jalankan `pip install 'markitdown[pdf,docx,xlsx,pptx]'`, proses kontrak Word pertama yang anda temui, dan semak saiz hasilnya. Dalam setengah minit, anda akan tahu sama ada alat ini berfungsi dengan fail anda.

<div class="section">

### Soalan lazim

Adakah MarkItDown percuma?

Ya. Lesen MIT tidak mengenakan sekatan terhadap penggunaan komersial. Anda hanya membayar untuk dua kaedah pilihan: pengecaman awan Microsoft melalui bendera `-d`, dan penerangan imej oleh model penglihatan menggunakan kunci anda sendiri. Segala-galanya yang lain dijalankan secara percuma pada komputer anda.

Adakah data dihantar ke mana-mana pelayan?

Untuk penukaran biasa fail Office dan PDF, tidak—semuanya diproses secara setempat. Terdapat tiga pengecualian: transkripsi audio melalui perkhidmatan Google, bendera `-d` menghantar dokumen ke awan Microsoft, dan penerangan imej dihantar kepada model menggunakan kunci anda. Tiada satu pun kaedah ini diaktifkan secara automatik.

Mengapa saya tidak dapat menemukan arahan markitdown selepas pemasangan?

Selalunya, program dipasang dalam persekitaran yang tiada dalam laluan carian anda. Semak laluan penuh ke fail itu di dalam persekitaran. Kes lazim yang lain ialah anda memasangnya untuk satu versi Python tetapi memanggilnya dengan versi yang lain. Satu lagi perangkap: pada versi Python di bawah 3.10, pakej kosong dipasang tanpa ralat pemasangan.

Apakah yang perlu saya lakukan jika saya melihat `(cid:1090)` dan rentetan serupa dan bukannya huruf?

Ini ialah jadual fon yang tidak dinyahkod di dalam PDF. Tetapan tidak akan membetulkannya; anda perlu memproses fail itu dengan alat lain, seperti Docling atau MinerU. Untuk dokumen sekali-sekala, menyalin teks secara manual daripada pemapar lebih pantas.

Bolehkah saya memproses seluruh folder fail serentak?

Tiada mod folder khusus, tetapi anda boleh melakukannya dengan gelung terminal satu baris: for f in papka/\*.docx; do markitdown "\$f" -o "\$f.md"; done. Pilihan lain ialah meletakkan semuanya dalam fail ZIP dan memberikan arkib itu: program akan memproses kandungannya, tetapi fail yang tidak dapat dihuraikan akan hilang tanpa amaran.

Apakah perbezaan output dengan menyalin teks secara manual?

Output mengekalkan struktur. Salinan manual menghasilkan teks rata yang tidak membezakan tajuk daripada perenggan dan menyebabkan jadual bersepah. MarkItDown mengekalkan tajuk, senarai dan jadual, supaya model dapat membezakan setiap unsur. Perbezaannya kecil bagi satu dokumen pendek, tetapi menentukan bagi dua puluh dokumen.

Bolehkah MarkItDown membuka dokumen yang dilindungi kata laluan?

Tidak. Fail yang dilindungi kata laluan tidak akan terbuka, dan anda tidak boleh memberikan kata laluan kepada program itu. Anda perlu membuang perlindungan terlebih dahulu melalui aplikasi yang menggunakannya.

</div>

<div class="section" role="doc-bibliography" aria-label="Sumber">

### Sumber

- [MarkItDown - repositori projek di GitHub](https://github.com/microsoft/markitdown)
- [MarkItDown di PyPI - versi dan tarikh keluaran](https://pypi.org/project/markitdown/)
- [markitdown-mcp - penerangan pelayan MCP](https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp)
- [Anthropic Skills - cara MarkItDown digunakan untuk jadual](https://github.com/anthropics/skills/blob/main/skills/xlsx/SKILL.md)
- [Docling - penghuraian dokumen dengan model susun atur](https://docling-project.github.io/docling/)
- [MinerU - penghuraian susun atur PDF kompleks](https://github.com/opendatalab/MinerU)
- [Marker - lesen berat model](https://github.com/datalab-to/marker/blob/master/MODEL_LICENSE)
- [pandoc - penukar bahasa penanda](https://pandoc.org/)

</div>





Apabila anda sudah bersedia, kenali [Ailoot](https://ailoot.ai/).

## Soalan lazim: Cara Menukar Fail PDF dan Word kepada Teks untuk AI: MarkItDown daripada Microsoft

### Bolehkah saya membaiki CSV koma bertitik dengan menggantikan setiap koma bertitik dengan koma?

Tidak. Teks dalam petikan dan format perpuluhan boleh mengandungi aksara itu. Eksport semula dengan pemisah yang dikehendaki, atau gunakan penghuraian dan penulis CSV dengan pemisah, pengekodan serta petikan yang jelas; sahkan lajur, baris dan jumlah kawalan berdasarkan fail asal.

### Adakah kod keluar sifar bermakna PDF ditukar dengan berguna?

Tidak. Contoh imbasan dalam artikel memulangkan output kosong tanpa ralat, dan PDF kompleks menghasilkan teks tidak boleh dibaca. Buka hasilnya, periksa panjang serta struktur, dan gunakan alat susun atur atau pengecaman apabila teks ekstrak kosong atau bercelaru.


## Ailoot · Syarikat dan portfolio projeknya

Ailoot berteraskan pengalaman operasi yang mantap, pangkalan pelanggan yang besar, perkhidmatan yang stabil dan pemantauan KPI berterusan.

Syarikat dan portfolio projeknya: jutaan pelanggan; jualan bernilai berbilion setiap bulan.

Ailoot menggunakan pengalaman operasi ini untuk akses API kepada ciri AI dalam produk pelanggan, ejen, aplikasi dan automasi.
