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