Mencoba mengonversi pdf ke teks secara gratis


16

Saya menggunakan OSX dan ingin dapat mengkonversi file pdf ke teks.

Saya ingin aplikasi gratis untuk melakukan ini, karena saya yakin pasti ada beberapa.


2
Apakah Anda ingin mengekstrak teks dari PDF yang sudah berisi teks? (yaitu, Anda dapat menyalin dan menempelkan potongan-potongan dari mereka) Atau apakah Anda ingin mengenali teks yang ada dalam konten gambar?
Alan Shutko

Apakah free-ocr.com membantu?
Tim

Jawaban:


13

Berikut adalah langkah-langkah yang saya gunakan untuk menginstal dan menggunakan xpdf via Homebrew.

  1. Instal dependensi Homebrew:

    xcode-select --install
    
  2. Instal Homebrew dari situs web mereka:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  3. Lakukan apa yang diperintahkan untuk menyelesaikan instalasi Homebrew.

  4. Verifikasi bahwa Homebrew bahagia dan berfungsi dengan baik.

    brew doctor
    
  5. Selanjutnya instal xpdf dan dependensinya:

    brew install Caskroom/cask/xquartz
    
    brew install xpdf
    
  6. Terakhir, gunakan pdftotext, paket yang disertakan dengan xpdf suite:

    pdftotext Some_Document.pdf Some_Document.txt
    

Nama file pertama adalah PDF yang sudah ada; yang kedua adalah tujuannya. Hasilnya jauh lebih baik daripada dengan versi Adobe Acrobat (memang lama). Sunting: Versi baru (2019) dari Adobe Acrobat menunjukkan hasil yang sama buruknya.


2
Saya pikir xquartztidak diperlukan untuk alat konsol di xpdf. Selain itu, ada popplergarpu xpdfyang tampaknya jauh lebih aktif dipelihara: github.com/scraperwiki/scraperwiki-python/issues/…
Jeroen Wiert Pluimers

6

Berbagai metode.

  1. Gunakan dokumen Google (Anda akan memerlukan akun Google)

  2. Gunakan Automator (diperlukan beberapa pekerjaan)

Anda dapat menggunakan Automator untuk membuat alur kerja yang dapat mengekstrak teks dari PDF dan menyimpannya sebagai teks atau dokumen RTF.

ekstrak teks dari pdf

atau aplikasi dari App Store, mis. PDF ke Teks


4

xpdf yang saya instal dengan port:

port install xpdf

mengandung:

xpdf-pdftotext

Itu melakukan apa yang Anda inginkan untuk file PDF apa pun yang berasal dari file teks (dan bukan dari gambar):

xpdf-pdftotext PDF_file text_file

1
Perintah, setidaknya seperti yang diinstal oleh HomeBrew, hanyalah "pdftotext".
Flash Sheridan

@FlashSheridan Dapatkah saya mendorong Anda untuk mengirim jawaban yang mencakup "pdftotext" dan bagaimana cara menginstalnya melalui homebrew? Komentar dapat dihapus kapan saja (dan juga tidak muncul dalam pencarian).
nohillside

4

Versi Adobe Reader saat ini (11.0.09) memiliki item "Save as Other" di Menu File-nya.

Salah satu opsi adalah Teks .

Aplikasi ini gratis, dan melakukan pekerjaan yang baik untuk menghasilkan file teks. Semua gambar dalam dokumen baru akan hilang dengan format .txt.


1

Saya pikir Anda harus dapat menyalin dan menempelkan teks ke dokumen lain. Untuk memilih semua teks

Buka PDF di "Pratinjau", dan

  • pilih "Edit | Pilih Semua"
  • pilih "Edit | Salin"

Buka aplikasi lain, ucapkan "Edit Teks"

  • pilih "Edit | Tempel"

Perhatikan bahwa jika Anda mencoba dan melakukan ini, dan tidak ada teks yang disisipkan, hanya sekelompok baris kosong, coba cetak PDF Anda ke PDF baru terlebih dahulu, misalnya

  • Dalam Pratinjau, pilih "File | Cetak"
  • Di kanan bawah, pilih "PDF | Save as PDF"
  • Ini mengekspor PDF baru.

Sekarang coba proses di atas dengan PDF baru ini. Bekerja untukku!

PS: Jika Anda memiliki Microsoft Word, Anda mungkin dapat membuka PDF dalam kata


1
Meskipun ini harus berfungsi ketika dokumen PDF benar-benar berisi konten teks , itu tidak mempertahankan format dan dalam beberapa kasus menghasilkan teks sampah bersama dengan apa yang akan dianggap sebagai teks yang diinginkan. Perhatikan bahwa ini mungkin sama dengan metode lain, tetapi saya merasa penting untuk menunjukkannya.
user3439894

tanpa ragu - pasti tidak sempurna, dan saya sepenuhnya setuju dengan semua yang Anda katakan. Saya hanya menambahkannya di sini sebagai opsi yang saya perhatikan sebelumnya, yang bekerja untuk saya tanpa menginstal apa pun ;-)
Brad Parks

Saya juga setuju bahwa ini berfungsi untuk sebagian besar kasus, tetapi nomor halaman, detail footer yang tidak terkait dengan dokumen dan yang lebih buruk: GULIRAN tak terbatas pada dokumen besar menjadikan ini solusi yang tidak memuaskan. Jika kurang dari 5 halaman saya akan mempertimbangkannya, tetapi mengingat sebagian besar tabel yang saya butuhkan berasal dari PDF dari situs penelitian yang menolak memuntahkan excel atau SQL, opsi ini bahkan tidak berfungsi.
Tmanok

Sepakat! bukan pilihan yang layak untuk kasus penggunaan Anda
Brad Parks

1

Skrip python berikut akan menampilkan teks dari dokumen PDF ke file .txt. (Catatan: Tidak ada jaminan bahwa teks tersebut harus dalam urutan yang dapat dibaca manusia 'logis', karena cara data disimpan dalam format PDF.)

Skrip akan membuat file teks untuk file PDF apa pun yang disediakan sebagai argumen padanya pada baris perintah (misalnya pdf2txt.py myPDF.pdf), atau Anda dapat menggunakan tindakan Automator "Run Shell Script", mengatur jenis shell ke python dan Mengirim input ke "As argumen" . Kemudian Anda dapat menggunakannya sebagai Tindakan Cepat atau DropApp.

#!/usr/bin/python
# coding: utf-8

import os, sys
from Quartz import PDFDocument
from CoreFoundation import (NSURL, NSString)
NSUTF8StringEncoding = 4

def pdf2txt():
    for filename in sys.argv[1:]:   
        inputfile =filename.decode('utf-8')
        shortName = os.path.splitext(filename)[0]
        outputfile = shortName+" text.txt"
        pdfURL = NSURL.fileURLWithPath_(inputfile)
        pdfDoc = PDFDocument.alloc().initWithURL_(pdfURL)
        if pdfDoc :
            pdfString = NSString.stringWithString_(pdfDoc.string())
            pdfString.writeToFile_atomically_encoding_error_(outputfile, True, NSUTF8StringEncoding, None)

if __name__ == "__main__":
   pdf2txt()

Ini berfungsi di luar kotak (yaitu - tidak perlu menginstal pustaka python atau apa pun!) - Hanya dump teks mentah, tapi kadang-kadang itu yang Anda butuhkan - perhatikan bahwa file menyimpan di direktori saat ini (jika berjalan dari command line) dan tidak keluar ke stdout
Brad Parks

@BradParks Ini harus menyimpan ke folder yang sama dengan file input: dibutuhkan filepath dari argumen perintah. Bagaimana Anda memasoknya?
benwiggy

ahh ... saya berada di folder yang sama, jadi saya tidak pernah memperhatikan itu - satu-satunya maksud saya sebenarnya adalah mengatakan bahwa itu tidak datang ke stdout, dan itu berhasil! Terima kasih!
Brad Parks

1
Ganti dua baris setelah if pdfDocpernyataan dengan print(pdfDoc.string()).
benwiggy

Oh wow, ini seperti pertama kali distribusi Apple Python berguna untuk sesuatu !! Terima kasih atas tanggapannya !!
Jérémie
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.