elinks -remoteオプションを使用してpdftohtml出力を表示しますか?

elinks -remoteオプションを使用してpdftohtml出力を表示しますか?

次のコマンドは、コマンドラインからPDFコンテンツを表示するのに役立ちますpdftohtml -i -stdout file.pdf |elinks。 file.pdfがhtmlに変換され、表示用にテキストモードブラウザにパイプされることは明らかですelinks

しかし、私がやりたいことは少し違うことです。elinks'-remoteスイッチを使用してすでにpdftohtml実行されているコマンドにコマンド出力を送信したいelinks。たとえば、コマンド出力の代わりにURLを使用すると、その動作は次のようになります。elinksある端末で起動し、別の端末と同じようにコマンドを実行すると、実行中のインスタンスでelinks -remote www.google.com新しいelinksタブが開き、Google検索ページが表示されます。

pdftohtmlこれまでは、コマンドの出力を処理するためにそのようなコマンドを取得できませんでした。最も直接的な方法はpdftohtml -i -stdout file.pdf |elinks -remote。ただし、これまでの実験では、-remoteスイッチを使用するにはURLまたはファイル名を指定する必要があるため、この方法は機能しません(「-remote:予想される引数を確認できません」)。

pdftohtmlだから私の質問はtoの出力を動的に「供給」する方法はありますか?elinks -remoteコメントありがとうございます。

これまで試したこと

名前付きパイプがここで役に立つと思いましたが、そのオプションは機能しません。同様の機能がpdftohtml -i file.pdf my-pipe && elinks <my_pipe機能しましたが、-remoteスイッチを追加すると失敗しました。

目標に近すぎるパッチワークは

pdftohtml -i file.pdf /tmp/pdf.html && elinks -remote /tmp/pdf.html && elinks -remote "reload()"

これにより、-remoteスイッチを許可するように認証された準備ファイルが/ tmpディレクトリに作成されます。ブラウザが以前にキャッシュした可能性がある他のコンバージョンを開くページ/ファイルが表示されないように、ページを再ロードする必要があります。以前にコンバージョンページ/ファイルが開いていた可能性がある他のタブを再ロードしようとすると、以前に開いていたコピーの代わりにそのページ/ファイルの最新のコピーがロードされるため、これは実際には良い解決策ではありません。

解決する?

pdftohtml追加の接続を追加するために、以下は、後続のファイルによって上書きされることによって発生する問題を解決するために、インターネット検索者としての謙虚な能力とエリートコピー/貼り付けとしての専門知識を使用して一緒に編まれた注釈付きbashスクリプト(pdf2elinks呼びます)があります。完全なレビューの前に失われました。当然変換された変換htmlファイルに名前の代わりに数字を割り当てることにしました。これにより、自動的に一意の名前を割り当てる方法が提供されます。システムが/tmp再起動時にディレクトリの内容を自動的に消去するように設定されていない場合は、cronステージングhtmlファイルが記録されているディレクトリを定期的に(たとえばスクリプトを使用して)消去する必要があることも明らかです。

#!/bin/bash
# use: pdf2elinks [filename]
# read the name of the pdf supplied to this script into a variable
pdfname=$1
# test whether the target directory is empty and, if it is, convert the supplied pdf under the name 1.html
if [ ! "$(ls -A /tmp/pdfs2html)" ]; then
pdftohtml -i $pdfname /tmp/pdfs2html/1.html && elinks -remote /tmp/pdfs2html/1.html
else
# if the directory is not empty, find the highest numbered file in /tmp/pdfs2html
number=`ls /tmp/pdfs2html/ | sed 's/\([0-9]\+\).*/\1/g' | sort -n | tail -1`
# increment by one the highest numbered file found
numberplus=`echo "$number +1" | bc`
pdftohtml -i $pdfname /tmp/pdfs2html/$numberplus.html && elinks -remote /tmp/pdfs2html/$numberplus.html
fi

elinks最後に、ポケットベルとして機能しようとしているこのプロジェクトは、次のページに触発されました。http://www.pocketnix.org/posts/Life%20on%20the%20command%20line%3A%20Day%20To%20Day%20Console。この著者のように、私も実行しているSSHセッションで、コマンドラインを介して自分のコンピュータの1つと頻繁にやり取りしますtmux。タブの1つは常にelinks実行され、電子メールの添付ファイル(PDFなど)を開いたり、マニュアルページを読んだり、Webページを開くことができるウィンドウとして機能します。上記のスクリプトのパスがPDF処理のために私の.mailcapエントリに追加され、その機能をうまく実行しているようです。

コメント、提案、改善、および/または修正を歓迎します。私は私が解決しようとしている問題のための最良の解決策を見つけたという幻想はありません。

ベストアンサー1

おすすめ記事