web-dev-qa-db-ja.com

端末でPDFファイルを表示

pdfファイルをローカルマシンにコピーしてビューアで開くのではなく、クラスタ上で直接表示したい。

端末でpdfファイルを表示するにはどうすればよいですか?

54

多くのシステムでlessはlesstoipeを使用しません。これはpdftotextを自動的に処理できます。したがって、すぐに試すことができます

 less file.pdf

pdftotextlessの出力が表示されます。

53
Jari Laamanen

おそらく、ターミナルでPDFファイルを表示することはできませんが、PDFファイルをテキストに変換することで、その内容を確認できます。これは次のようにして行うことができます。

pdftotext a.pdf

VIMに読み込むことができる.txtファイルが生成されます。

Ubuntuバリアントの場合、このバイナリは次のパッケージで入手できます。

poppler-utils

27
SHW

「ターミナルでpdfファイルを表示する」場合、それは実際には非圧縮PDFを実際に表示したいということを意味します。

pdftk in.pdf output out.pdf uncompress

なぜ両方ともless in.pdfおよびless out.pdf PDF(およびテキストのみを除くPDFで期待されるコマンドを除いて、out.pdf)。

まあ、それはpdftotextを最初に実行することを想定しているlesspipeが原因で発生します。ここでは実行しないため、LESSOPEN環境変数を何も設定せずにlesspipeを具体的に無効にする必要があります。あれは:

$ LESSOPEN="" less out.pdf

そして最後に、lessを使用して非圧縮のPDFコードを表示できます。

5
sdaau

さらに別の解決策...古代のユーティリティmcをお勧めします。

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

mcはテキストベースのファイル管理を中心に設計されており、「表示」オプション(F3 キー).pdfを自動的にテキストに変換して、GUIなしで表示します。この変換を行うコードはmc自体の一部であるため、他のユーティリティによる変換は必要ありません。 (WIWのネイティブ.htmlビューアもあります。)

2

私は次のことを試しましたが、良い結果が得られました。

pdftotext filname.pdf - | less
1
jmunsch

もう1つの解決策は、gnome-openコマンドを使用することです

gnome-open youfile.pdf

-Xオプション(ssh -X)を使用してサーバーにログインしている場合

1
lesspipe file.pdf | less

lesspipeは、DebianおよびUbuntuのlessパッケージによって提供されます。

1
daruma

マシンでemacsを実行する場合(emacsはUbuntu 18.04にプリインストールされています)、Ctrl-x Ctrl-fを(find-file)と入力し、/user@hostname:/path/to/my.pdfと入力してEnterキーを押します(最初の/に注意してください)。次に、サーバーのパスワードを入力するように求められます。あなたはemacsの中のpdfを見ることができます。

PDF emacsの中を移動

spaceを使用して1ページ下に移動し、backspaceを使用して1ページ上に移動します。画面に収まらない場合は、矢印キーを使用して1つのページをスクロールすることもできます。

ズーム

Ctrl-x Ctrl-+を押してズームインします。 +のみを押して、さらにズームインします。または、-を押してさらに縮小します。

コンテキスト

はい、上記で説明したように簡単に機能する組み込みパッケージemacsを使用して、tramp内からリモートサーバーに接続できます。この方法は、pdfだけでなく、画像などの他のタイプのファイルでも機能します。

0
Pooya