Mengubah PDF menjadi Dapat Diedit PDF Menggunakan OCR
PDF4me Mengubah PDF menjadi Dapat Diedit PDF menggunakan OCR adalah sebuah REST titik akhir yang dipindai PDFs Dapat dicari dan diedit. POST A Base64 PDF ke /api/v2/ConvertOcrPdf, pilih Draf atau Kualitas Tinggi, dan OCR Mesin tersebut menulis lapisan teks sungguhan ke dalam dokumen. Respons yang dikembalikan adalah hasil akhir. PDF sebagai Base64 JSON, siap untuk didekode dan disimpan.
Mengambil gambar atau hasil pemindaian PDF dan mengembalikan dokumen yang sama dengan teks yang dikenali dan dapat dipilih. qualityType peralihan antara lintasan tunggal cepat (Draf, 1 API panggilan per file) dan pengenalan per halaman (Tinggi, 2 API panggilan per halaman), sementara ocrWhenNeeded melompati pages yang sudah dapat dicari. Outputnya berupa Base64 docContent lapangan di dalam JSON tanggapan, atau melalui Location jajak pendapat URL pada 202.
Memverifikasi Identitas Anda API Meminta
Setiap PDF4me REST panggilan harus menyertakan Anda API kunci di Authorization Header sebagai otentikasi Dasar. Dapatkan atau putar kunci Anda dari dasbor pengembang.
Titik akhir
/api/v2/KonversiOcrPdfhttps://api.pdf4me.com/api/v2/ConvertOcrPdfFakta Penting yang Tidak Boleh Anda Lewatkan
ocrWhenNeeded Dan outputFormat adalah SENAR "BENAR" / "PALSU", ketika isAsync Dan mergeAllSheets adalah JSON boolean. Ini mencerminkan contoh kode resmi; mencampuradukkan keduanya adalah penyebab umum kesalahan 400.docName ditambah docContent, selesai PDF sebagai Base64 string. Dekode docContent Sebelum menyimpan. Jangan menulis isi respons ke disk apa adanya.ocrWhenNeeded: "BENAR" jadi sudah bisa dicari pages dilewati alih-alih diproses ulang.HTTP pengaturan
Metode: POST
URL: https://api.pdf4me.com/api/v2/ConvertOcrPdf
Tipe Konten: aplikasi/json
Authorization: Dasar <Anda PDF4me API kunci>
Mengirim isAsync: BENAR di dalam tubuh. 200 pengembalian JSON dengan Base64 docContent. 202 mengembalikan Location header dengan jajak pendapat URL; GET itu URL dengan yang sama Authorization header hingga mengembalikan kode 200 dengan JSON hasil.
Bagaimana cara membuat hasil pindaian? PDF dapat dicari?
Sebuah hasil pemindaian PDF hanya gambar-gambar pagesTidak ada yang bisa dipilih dan tidak ada yang cocok dengan pencarian teks. OCR (pengenalan karakter optik, lihat gambaran umum tentang bagaimana OCR karya(Program ini membaca setiap gambar halaman dan menulis kata-kata yang dikenali ke dalam file sebagai lapisan teks sungguhan. Setelah konversi, dokumen tersebut berperilaku seperti dokumen digital asli.) PDFFungsi pencarian, penyalinan, dan pembaca layar semuanya berfungsi, dan siap untuk langkah-langkah selanjutnya seperti: PDF/A pengarsipan atau cari dan ganti.
| Draft vs Tinggi | Draf | Tinggi |
|---|---|---|
| Terbaik untuk | Normal PDFs yang sebagian besar memiliki lapisan teks | Dokumen hasil pemindaian atau berbasis gambar |
| Biaya | 1 API panggilan per berkas | 2 API panggilan per halaman |
| Pengakuan | Cahaya melewati | Informasi lengkap per halaman OCR |
| Padukan dengan | ocrWhenNeeded: "true" untuk melewati yang dapat dicari pages | language ketika teks yang diterima tidak jelas |
API bidang tubuh
| Parameter | Diperlukan | Jenis | Apa fungsinya? | Contoh |
|---|---|---|---|---|
docContent | Required | string | Base64-encoded bytes of the source PDF. Strip any data:application/pdf;base64, prefix before posting. | JVBERi0xLjcK... |
docName | Required | string | Source filename including the .pdf extension. Used for the output docName. | scanned-contract.pdf |
qualityType | Required | string | Draft for normal PDFs (1 API call per file). High for scanned documents (2 API calls per page). | High |
ocrWhenNeeded | Required | string | The string "true" skips pages that already have a searchable text layer; "false" forces OCR on every page. | "true" |
outputFormat | Required | string | Output format flag, sent as the string "true" in the official samples. | "true" |
language | Conditional | string | Language of the source text (English, Spanish, French, German, and others). Set only when the recognized output is garbled; otherwise let the engine detect it. | English |
mergeAllSheets | Optional | boolean | JSON boolean carried by the official samples; relevant to sheet-based sources. | true |
isAsync | Optional | boolean | true enables the 202 + Location polling pattern, recommended for large scans. | true |
Contoh muatan
Mode tinggi. dokumen yang dipindai dengan OCR
{
"docContent": "JVBERi0xLjcKJcfsj6IKNSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZw...",
"docName": "scanned-contract.pdf",
"qualityType": "High",
"ocrWhenNeeded": "true",
"language": "English",
"outputFormat": "true",
"isAsync": true
}
Mode draf. Dokumen campuran, lewati pencarian. pages
{
"docContent": "JVBERi0xLjcKJcfsj6IKNSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZw...",
"docName": "mixed-report.pdf",
"qualityType": "Draft",
"ocrWhenNeeded": "true",
"outputFormat": "true",
"isAsync": true
}
Tips pengambilan oleh tukang pos
contoh curl
curl -X POST https://api.pdf4me.com/api/v2/ConvertOcrPdf \
-H "Content-Type: application/json" \
-H "Authorization: Basic YOUR_API_KEY" \
-d '{
"docContent": "'"$(base64 -w 0 scanned-contract.pdf)"'",
"docName": "scanned-contract.pdf",
"qualityType": "High",
"ocrWhenNeeded": "true",
"outputFormat": "true",
"isAsync": true
}' | python -c "import sys, json, base64; open('searchable.pdf','wb').write(base64.b64decode(json.load(sys.stdin)['docContent']))"
Apa yang dimaksud dengan API kembali?
JSON, bukan byte file mentah. Dekode docContent lapangan untuk mendapatkan hasil akhir PDF.
| Bidang | Jenis | Isi di dalamnya |
|---|---|---|
| docName (HTTP 200) | String | The output PDF filename, derived from the docName you sent. |
| docContent (HTTP 200) | String (Base64) | The searchable, editable PDF encoded as Base64. Decode to bytes and save with a .pdf extension. |
| Location header (HTTP 202) | String (URL) | Poll URL for an async job that is still running. GET it with the same Authorization header; the official samples poll every 10 seconds, up to 20 retries. |
| Poll response (HTTP 200) | JSON | The same docName + docContent JSON, returned once processing completes. |
Contoh kode
Mengerjakan implementasi ujung-ke-ujung, masing-masing dengan contoh yang dipindai. PDF dan muatan persis dari halaman ini: