Firefoxのように印刷

Firefoxのように印刷

Wikipediaの記事を印刷するためのCLIスクリプトを作成しました。

WIKI='https://en.wikipedia.org/w/index.php?title='
TITLE=$1
PRINTABLE='&printable=yes'

SRC=$WIKI$TITLE$PRINTABLE

HTML=$1".html"
PS=$1".ps"

wget $SRC

mv index* $HTML

html2ps $HTML > $PS

lpr -P pr1444 $PS

仕組みは次のとおりです。./print Shane_Mosley この記事印刷されます。

ただし、Firefoxを使用する場合(サイトに移動してメニューから印刷)に比べて印刷結果が劣ります。レイアウトがあまりコンパクトではなく(特にテーブル)、画像がなく、「珍しい」文字を処理できません。

だから私の質問は:Firefoxは「モノリシック」ですか、それとも実際に私がコピーできるモジュール式ツールで構成されていますか?または、Firefoxをサーバーとして使用してコマンド(たとえば、行って印刷する)を入力できますか?

そうでない場合:私のツールをよりよく使う方法はありますか?それとも結果を改善するための別のツールがありますか?

答え1

あなたが見つけたように、このアプローチはせいぜい次善策です。 HTMLに加えて、少なくともすべての画像とCSSが必要です。すべてのJavascriptが必要な場合があります。そして、このカオスをレンダリングするプロセス全体があります。

しかし、良いニュースがあります。コマンドライン印刷Firefoxに拡張機能をインストールできます。

それから:

firefox -print http://www.example.com/index.html

拡張ドキュメントページにはさらに例があります。

答え2

grepvarに移動して$HTML要素を見つけ、各プロパティをフルイメージパス(たとえば)に置き換えることをお勧めします。デフォルトでは、サーバーページテクノロジは、この例のように、サーバーに基づいてイメージソースを維持します。これらの値のほとんどはCSSから派生します。これは印刷物の画像の問題を解決しますが、他のCSS要素の詳細はまだ失われる可能性があります。<img src=..srchttps://en.wikipedia.org/wiki/File:Uncle_Tupelo.jpg<img src="File:Uncle Tupelo.jpg">

別の方法は、wget高速Perlスクリプトを使用することです。

関連情報