4

winforms で webbrowser コントロールを使用していますが、css で適用した背景画像が印刷物に含まれていないことがわかりました。

表示されているドキュメントの背景も Web ブラウザに印刷させる方法はありますか?

編集:これをプログラムで実行したかったので、このソリューションを選択しました:

using Microsoft.Win32;

...

RegistryKey regKey = Registry.CurrentUser
                    .OpenSubKey("Software")
                    .OpenSubKey("Microsoft")
                    .OpenSubKey("Internet Explorer")
                    .OpenSubKey("Main");

//Get the current setting so that we can revert it after printjob
var defaultValue = regKey.GetValue("Print_Background");
regKey.SetValue("Print_Background", "yes");

//Do the printing

//Revert the registry key to the original value
regKey.SetValue("Print_Background", defaultValue);

これを処理する別の方法は、値を読み取り、印刷する前にこれを自分で調整するようにユーザーに通知することです。このようにレジストリを微調整することは良い習慣ではないことに同意する必要があるため、どんな提案も受け付けています。

フィードバックをお寄せいただきありがとうございます

4

5 に答える 5

2

別のレジストリ キーは次のようになります: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup\Print_Background HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\PageSetup\Print_Background

于 2009-11-19T19:22:32.190 に答える
1

この設定に対応する HKCU キーは、HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Print_Background です。

于 2009-04-15T12:23:40.113 に答える
1

重要なシステム設定を変更する場合は、まず現在の設定を読み、完了したら元に戻すようにしてください。

そもそもこれは非常に悪い習慣だと思いますが、どうしてもやらなければならない場合は親切にしてください。

Registry.LocalMachine

また、LocalUser代わりに変更してみてくださいLocalMachine-そのようにアプリがクラッシュした場合(そしてクラッシュする場合)、マシンを使用するすべての人ではなく、ユーザーを混乱させるだけです。

于 2008-09-09T06:35:02.097 に答える
0

デフォルトでは、ブラウザは背景画像をまったく印刷しません。

Firefox の場合

* File > Page Setup > Check Off "Print Background"
* File > Print Preview

IE で

* Tools > Internet Options > Advanced > Printing
* Check Off "Print Background Images and Colors"

オペラで

* File > Print Options > Check Off "Print Page Background"
* File > Print Preview (You may have to scroll down/up to see it refresh)
于 2008-09-07T10:24:05.307 に答える
0
var sh = new ActiveXObject("WScript.Shell");
key = "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main\\Print_Background";
var defaultValue = sh.RegRead(key); 
sh.RegWrite(key,"yes","REG_SZ");
document.frames['detailFrame'].focus(); 
document.frames['detailFrame'].print();
sh.RegWrite(key,defaultValue,"REG_SZ");  
return false; 
于 2010-03-19T06:35:35.780 に答える