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して任意の要素を見つけ<img src=..、すべてのsrc属性を のような完全な画像パスに置き換えることをお勧めしますhttps://en.wikipedia.org/wiki/File:Uncle_Tupelo.jpg。デフォルトでは、サーバー ページ テクノロジは、この場合のように、画像ソースをサーバーの相対パスに保持します<img src="File:Uncle Tupelo.jpg">。これらの値のほとんどは CSS から派生しています。これにより、印刷時の画像の問題は解決されますが、他の CSS 要素の詳細がまだ欠落している可能性があります。

代わりに、wget簡単な Perl スクリプトを使用することもできます。

関連情報