Lihat file pdf di terminal


50

Saya ingin melihat pdffile langsung di cluster kami daripada menyalinnya ke mesin lokal saya dan kemudian membukanya di viewer.

Bagaimana saya bisa melihat pdffile di terminal saya?



2
Jika Anda connectiong ke cluster dengan ssh, saya sarankan menggunakan SSHFS. Ini memberikan solusi umum untuk semua masalah "Bagaimana saya melakukan X dengan file jarak jauh".
Gilles 'SO- stop being evil'

Render PDF ke framebuffer
炸鱼 薯条 德里克

Jawaban:


53

Dalam banyak sistem lebih sedikit menggunakan lesspipe, yang dapat menangani pdftotext secara otomatis. Karena itu, Anda dapat langsung mencoba

 less file.pdf

yang akan menampilkan output pdftotextdalam less.


26

Saya kira, tidak mungkin melihat file PDF di terminal tetapi Anda dapat memeriksa kontennya dengan mengonversi file PDF ke teks. Anda dapat melakukan ini sebagai:

pdftotext a.pdf

Ini akan menghasilkan file a.txt yang dapat Anda baca ke VIM.

Untuk varian ubuntu, biner ini tersedia dalam paket berikut.

poppler-utils


4
Hal ini mungkin untuk melihat file PDF di terminal, seperti: pdftotext -layout file.pdf - | less(yang ini bagaimana bawaan Ubuntu lesspipenaskah melakukannya)
villapx

5

Ketika saya ingin "melihat file pdf di terminal", itu bagi saya berarti saya ingin benar-benar melihat PDF yang tidak terkompresi, saya lakukan:

pdftk in.pdf output out.pdf uncompress

Saya selalu bertanya-tanya mengapa keduanya less in.pdfdan less out.pdfmemberi saya hanya string teks dalam PDF (dan tidak termasuk perintah PDF hanya teks yang saya harapkan dalam out.pdf).

Nah, itu terjadi karena lesspipe dengan asumsi saya ingin pdftotextdijalankan pertama - dan karena di sini saya tidak, saya harus secara khusus menonaktifkan lesspipe dengan mengatur LESSOPENvariabel lingkungan ke nothing; itu adalah:

$ LESSOPEN="" less out.pdf

Dan akhirnya, saya bisa melihat menggunakan kode PDF terkompresi less


2

Namun solusi lain ... Izinkan saya merekomendasikan kepada Anda utilitas kuno mc.

MC(1)                       GNU Midnight Commander
mc - Visual shell for Unix-like systems.

mcdirancang di sekitar manajemen file berbasis teks, dan memiliki opsi "tampilan" ( F3kunci) yang secara otomatis akan mengonversi .pdf menjadi teks untuk dilihat tanpa GUI. Kode yang melakukan konversi ini adalah bagian dari mcdirinya sendiri, sehingga tidak memerlukan konversi oleh utilitas lain. (Juga memiliki penampil .html asli untuk WIW.)


1

Saya mencoba yang berikut dengan hasil yang baik:

pdftotext filname.pdf - | less

0

Satu lagi solusi adalah menggunakan perintah gnome-open

gnome-open youfile.pdf

Asalkan Anda memiliki login server Anda dengan opsi -X (ssh -X)


2
Bagaimana ini melihat file PDF di terminal ?
CVn

Tidak di terminal, tetapi dapat melihat pdf tentang mengeluarkan perintah dari terminal.
ahli bioinformatika

5
Meskipun itu benar, OP memang secara spesifik meminta pendekatan berbasis terminal.
CVn

0

Jika Anda menjalankan emacspada mesin Anda ( emacssudah diinstal sebelumnya pada Ubuntu 18.04), Anda dapat membuka dan melihat pdf pada server jarak jauh dengan menekan Ctrl-x Ctrl-f(untuk find-file) lalu mengetik /user@hostname:/path/to/my.pdfdan menekan Enter (perhatikan yang pertama /). Anda kemudian akan diminta untuk memasukkan kata sandi server dan itu dia! Anda dapat melihat pdf di dalam emacs.

Menavigasi melalui PDF di dalam emacs

Gunakan spaceuntuk turun satu halaman dan backspacenaik satu halaman. Anda juga dapat menggunakan tombol panah untuk menggulir satu halaman jika tidak pas di layar.

Perbesar

Perbesar dengan menekan Ctrl-x Ctrl-+. Perbesar lebih banyak dengan +hanya menekan . Atau perkecil lebih jauh dengan menekan -.

Konteks

Ya, Anda dapat terhubung ke server jarak jauh dari dalam emacsmenggunakan paket bawaan trampyang berfungsi sesederhana yang saya jelaskan di atas. Metode ini berfungsi, tidak hanya untuk pdf, tetapi untuk semua jenis file lainnya, seperti gambar.

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.