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?
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.
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.
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!
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 !!
Jawaban:
Berikut adalah langkah-langkah yang saya gunakan untuk menginstal dan menggunakan xpdf via Homebrew.
Instal dependensi Homebrew:
Instal Homebrew dari situs web mereka:
Lakukan apa yang diperintahkan untuk menyelesaikan instalasi Homebrew.
Verifikasi bahwa Homebrew bahagia dan berfungsi dengan baik.
Selanjutnya instal xpdf dan dependensinya:
Terakhir, gunakan pdftotext, paket yang disertakan dengan xpdf suite:
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.
sumber
xquartz
tidak diperlukan untuk alat konsol dixpdf
. Selain itu, adapoppler
garpuxpdf
yang tampaknya jauh lebih aktif dipelihara: github.com/scraperwiki/scraperwiki-python/issues/…Berbagai metode.
Gunakan dokumen Google (Anda akan memerlukan akun Google)
Gunakan Automator (diperlukan beberapa pekerjaan)
atau aplikasi dari App Store, mis. PDF ke Teks
sumber
xpdf
yang saya instal dengan port:mengandung:
Itu melakukan apa yang Anda inginkan untuk file PDF apa pun yang berasal dari file teks (dan bukan dari gambar):
sumber
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.
sumber
Saya pikir Anda harus dapat menyalin dan menempelkan teks ke dokumen lain. Untuk memilih semua teks
Buka PDF di "Pratinjau", dan
Buka aplikasi lain, ucapkan "Edit Teks"
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
Sekarang coba proses di atas dengan PDF baru ini. Bekerja untukku!
PS: Jika Anda memiliki Microsoft Word, Anda mungkin dapat membuka PDF dalam kata
sumber
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.sumber
if pdfDoc
pernyataan denganprint(pdfDoc.string())
.