Lấy số từ của tài liệu pdf trong Evince


22

Có cách nào để tôi có thể đếm số từ của tài liệu PDF mà tôi đang xem trong Evince, trình xem pdf mặc định của Ubuntu không? Tôi có thể chuyển đổi tài liệu thành tệp văn bản và nhận được số từ từ thiết bị đầu cuối, nhưng tôi rất muốn có thể nhanh chóng nhận được chúng mà không cần phải sử dụng thiết bị đầu cuối. Có plugin nào có thể làm điều này không, hay nó đã được tích hợp sẵn và tôi chỉ thiếu nó?

PS Tôi không muốn thay đổi người xem của mình vì Evince là trình xem PDF mặc định trong Ubuntu và tôi rất muốn làm nhiều nhất có thể bằng các ứng dụng mặc định vì rất nhiều trong số chúng, bao gồm Evince, thực sự rất hay.

pdf  evince 

Câu trả lời:


31

Bạn có thể làm điều này thông qua dòng lệnh:

pdftotext filename.pdf - | tr -d '.' | wc -w

Cảm ơn, nhưng như tôi đã nói trong câu hỏi, tôi không muốn phải sử dụng dòng lệnh cho loại điều này.

4
@Chris Hãy thử tích hợp hệ thống ("<lệnh trên>") trong mã evince sau đó.
Godel

11

Làm thế nào về một kịch bản bash nhanh chóng đòi hỏi zenity và tỏ ra. Khi được gọi mà không có đối số, nó sẽ cung cấp cho bạn một hộp thoại để bạn có thể chọn một tệp. Khi được gọi với một đối số (hoặc sau hộp thoại đã nói), cả hai sẽ mở tệp trong evince và cung cấp cho bạn một hộp thoại có số từ.

Nói cách khác, sao chép phần sau vào tệp văn bản, được gọi evince-word-count.shhoặc một cái gì đó, lưu nó ở đâu đó trong đường dẫn của bạn (ví dụ ~/bin/:), làm cho nó có thể thực thi được (thông qua nhấp chuột phải và thuộc tính của Nautilus hoặc với 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

Bây giờ, nhấp chuột phải vào một số trên một số PDF bằng nautilus, chọn "Mở bằng ..." và sau đó mở bằng evince-word-count.sh. Bây giờ, khi bạn mở một tệp PDF, cả hai sẽ mở ra và chứng minh cho bạn một số từ.

văn bản thay thế


Bạn có thể đặt tệp này vào /home/$USER/.local/share/nautilus/scripts/ để làm cho nó có sẵn từ nhấp chuột phải trong Nautilus (trình quản lý tệp vanilla Ubuntu).
Daniel Holm

10

Phản hồi từ Olaf Leidinger trong danh sách gửi thư của Evince:

Tôi nghĩ rằng một tính năng như vậy phù hợp hơn cho các biên tập viên tài liệu, vì họ có nhiều thông tin hơn trên tài liệu với tư cách là người xem đơn giản và đếm từ là chuyện nhỏ. Lấy một tệp PDF làm ví dụ. Những gì bạn thấy là văn bản thực sự có thể là một loại hình dạng đồ họa vector. Ngay cả khi văn bản được chứa như vậy trong tệp PDF, những từ bạn nhìn thấy có thể bao gồm nhiều "vẽ văn bản tại vị trí (y, x)" - các lệnh - ví dụ: trong trường hợp có âm hoặc cuối dòng. Vì vậy, một từ duy nhất có thể được tính là nhiều từ. Do đó, tôi nghĩ rằng có thể khó thực hiện một tính năng như vậy một cách đáng tin cậy. Có một cái nhìn vào pdftotext để xem những gì tôi có ý nghĩa.

2
Bất kỳ tệp nào được sử dụng để xác định tài liệu đều có thể được coi là "mã nguồn" và Evince là máy thực thi mã. Thật không công bằng (và không thể) khi yêu cầu trình soạn thảo mã nguồn (ví dụ: trình soạn thảo văn bản) để xác định đầu ra của việc thực thi sẽ là gì, vì vậy chúng ta hãy nhìn vào đầu ra (tức là hình ảnh / văn bản được hiển thị trong Evince / poppler). Việc triển khai trong Evince sẽ hữu ích với tôi vì tôi đang "mã hóa" các bài viết của mình trong trình soạn thảo văn bản không biết ngôn ngữ và sử dụng Evince (thông qua Pandoc và pdflatex) để "chạy" nguồn của tôi. Chỉ cuối cùng, chúng ta có thể chắc chắn những gì đã làm cho nó thông qua. Xem xét mã nhận xét.
user29020

4

Tôi không tin điều đó là có thể (về mặt kỹ thuật là có thể nhưng chưa được thực hiện).

Bạn phải nhớ Evince là người xem tài liệu và đếm từ là một tính năng thường được yêu cầu hơn trong trình chỉnh sửa (vâng tôi biết điều này không phải luôn luôn như vậy).

Bạn có thể muốn liên hệ với các nhà phát triển Evince và hỏi xem họ có quan tâm đến việc triển khai tính năng này không.


1
Cảm ơn. Tôi đã liên lạc với họ và tôi sẽ giữ câu hỏi mở cho đến khi tôi nhận được câu trả lời dứt khoát.

Khi bạn nghe lại, hãy thoải mái trả lời một cách hiệu quả câu hỏi của chính bạn :)
8128

Evince không hoàn toàn là một "người xem". Tạo và xem và chỉnh sửa tài liệu rõ ràng là một quy trình công việc lớn hơn là chỉ "chỉnh sửa" và sau đó "xem". Về câu hỏi: Evince hiện cho phép sao chép văn bản chọn. Đó không hoàn toàn là một vai trò "xem". Evince đang ở một vị trí tuyệt vời để tìm ra số lượng từ kết quả vì đó là "trình kết xuất" cuối cùng của những gì chúng ta thực sự đọc (hoặc gửi cho nhà xuất bản). Nó đã có một cách để xác định toàn bộ các từ được kết xuất (thử nhấp đúp vào một từ!). Tôi muốn Evince cung cấp cái này trong hộp "File-> Properties". Nó đã cho tôi biết số trang (dựa trên kết xuất).
user29020
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.