Mendapatkan jumlah kata dari dokumen pdf di Evince

22

Apakah ada cara saya bisa mendapatkan jumlah kata dari dokumen PDF yang saya lihat di Evince, pdf viewer default Ubuntu? Saya dapat mengkonversi dokumen menjadi file teks dan mendapatkan jumlah kata dari terminal, tetapi saya sangat ingin dapat dengan cepat mendapatkannya tanpa harus menggunakan terminal. Apakah ada plugin yang dapat melakukan ini, atau sudah ada di dalamnya dan saya hanya melewatkannya?

PS Saya lebih suka untuk tidak mengubah penampil saya karena Evince adalah penampil PDF default di Ubuntu, dan saya cukup ingin melakukan sebanyak mungkin menggunakan aplikasi default karena banyak dari mereka, termasuk Evince, sangat bagus.


sumber

Jawaban:

31

Anda dapat melakukan ini melalui baris perintah:

pdftotext filename.pdf - | tr -d '.' | wc -w
Sid
sumber
Terima kasih, tetapi seperti yang saya katakan dalam pertanyaan, saya lebih suka tidak harus menggunakan baris perintah untuk hal semacam ini.
4
@ Chris Cobalah untuk mengintegrasikan sistem ("<command di atas>") dalam kode evince kemudian.
Gödel
11

Bagaimana dengan skrip bash cepat yang membutuhkan ketenangan dan kejayaan . Ketika dipanggil tanpa argumen, itu akan memberi Anda kotak dialog sehingga Anda dapat memilih file. Ketika dipanggil dengan argumen (atau setelah kotak dialog tersebut), keduanya akan membuka file di evince dan memberi Anda kotak dialog dengan jumlah kata.

Dengan kata lain, salin yang berikut ke dalam file teks, disebut evince-word-count.shatau sesuatu, simpan di suatu tempat di jalur Anda (misalnya, ~/bin/), membuatnya dapat dieksekusi (baik melalui klik kanan dan properti Nautilus atau dengan chmod +x ~/bin/evince-word-count.sh),

#!/bin/bash
if [ "$#" -gt "0" ] ; then
    filename="$1"
else
    filename="$(zenity --file-selection)"
fi
evince "$filename" &
zenity --info --text "This PDF has $(pdftotext "$filename" - | tr -d '.' | wc -w) words"
exit 0

Sekarang, klik kanan pada beberapa PDF di nautilus, pilih "Buka dengan ..." dan kemudian buka dengan evince-word-count.sh. Sekarang, ketika Anda membuka PDF, keduanya akan terbuka di evince, dan memberi Anda jumlah kata.

teks alternatif

luar biasa
sumber
Anda bisa meletakkan file ini di /home/$USER/.local/share/nautilus/scripts/ yang membuatnya tersedia dari klik kanan di Nautilus (manuver file vanilla Ubuntu).
Daniel Holm
10

Tanggapan dari Olaf Leidinger pada milis Evince:

Saya pikir fitur seperti itu lebih cocok untuk editor dokumen, karena mereka memiliki lebih banyak informasi tentang dokumen sebagai penampil biasa dan menghitung kata-kata itu sepele. Ambil file PDF sebagai contoh. Apa yang Anda lihat sebagai teks sebenarnya mungkin semacam bentuk grafik vektor. Sekalipun teks dimasukkan seperti itu dalam file PDF, kata-kata yang Anda lihat mungkin terdiri dari beberapa "gambar teks pada posisi (y, x)" - perintah - misalnya dalam kasus umlaut atau akhir baris. Jadi satu kata dapat dihitung sebagai beberapa kata. Karena itu saya pikir mungkin sulit untuk mengimplementasikan fitur seperti itu dengan andal. Lihat pdftotext untuk melihat apa yang saya maksud.

sumber
2
File apa pun yang digunakan untuk mendefinisikan dokumen dapat dianggap "kode sumber", dan Evince adalah mesin yang mengeksekusi kode tersebut. Tidak adil (dan tidak mungkin) untuk meminta editor kode sumber (misalnya editor teks) untuk menentukan apa output dari eksekusi, jadi mari kita lihat output (yaitu gambar / teks yang diberikan dalam Evince / poppler). Implementasi di Evince akan berguna bagi saya karena saya sedang "mengkode" makalah saya dalam editor teks bahasa-agnostik dan menggunakan Evince (melalui Pandoc dan pdflatex) untuk "menjalankan" sumber saya. Hanya pada akhirnya kita bisa yakin apa yang berhasil dilaluinya. Pertimbangkan kode yang dikomentari.
user29020
4

Saya tidak percaya itu mungkin (baik secara teknis mungkin tetapi belum diterapkan).

Anda harus ingat Evince adalah penampil dokumen dan jumlah kata adalah fitur yang lebih sering diperlukan dalam editor (ya saya tahu ini tidak selalu terjadi).

Anda mungkin ingin menghubungi pengembang Evince dan bertanya apakah mereka tertarik untuk mengimplementasikan fitur ini.

8128
sumber
1
Terima kasih. Saya sudah menghubungi mereka dan saya akan membuka pertanyaan sampai saya mendapat jawaban yang pasti.
Ketika Anda mendengar kembali, jangan ragu untuk secara efektif menjawab pertanyaan Anda sendiri :)
8128
Evince tidak sepenuhnya "penampil". Membuat dan melihat dan mengedit dokumen jelas merupakan alur kerja yang lebih besar dari sekadar "mengedit" dan kemudian "melihat". Mengenai pertanyaan: Evince saat ini memungkinkan menyalin teks pilih. Itu tidak sepenuhnya peran "melihat". Evince berada dalam posisi yang bagus untuk mengetahui jumlah kata yang dihasilkan karena ini adalah "pemberi render" akhir dari apa yang sebenarnya kita baca (atau kirim ke penerbit). Itu sudah memiliki cara untuk mengidentifikasi seluruh kata yang diberikan (coba klik dua kali kata!). Saya ingin Evince menyediakan ini di kotak "File-> Properties". Itu sudah memberitahu saya jumlah halaman (berdasarkan rendering).
user29020