TEmbeddedWBコンポーネントのPrintPreViewについて


60の手習い  2012-03-16 23:29:41  No: 41797

Mr.XRAY 様
教えていただいたTEmbeddedWBコンポーネントを使用して、GPSロガーのログを
Google Map に表示させるところまで漕ぎ着けました。
表示されたGoogle Mapを印刷ボタンクリックで下記のようにプレビュー。

  with EmbeddedWB1.PrintOptions do begin
     Header:='Google Map 活動足跡';
  end;
  EmbeddedWB1.PrintPreView;

していますが、Headerの表示が変わりません。
ページ設定ダイアログで「カスタム」を選択し、内容を変更すると表示が変わるのは解ったのですがプログラムから指定する方法が解りません。
ご指導のほどお願いいたします。
開発環境は
Delphi2007 Professional
Windows 7 Professional です。


Mr.XRAY  2012-03-17 23:11:04  No: 41798

こんにちは.Mr.XRAYです.

印刷のオプションを設定する場合,以下のようになるようです.
TWebBrowserでは(1)以外は不可です.

(1) PrintPreView を使用する場合
    基本的に設定できない.
    ただし,レジストリを操作すれば可能なようだ(動作は未確認)
    以下を参照(MSによる)
    http://support.microsoft.com/kb/236777/ja
    http://msdn.microsoft.com/ja-jp/library/bb250434%28v=vs.85%29.aspx
    
(2) Printメソッド を使用する場合
    PrintOptions を設定すれば可能

(3) PrintWithOptions でページ設定ダイアログを表示し,設定して印刷する場合     
    表示したダイアログの遠隔操作が必要
    コード例は,TEmbeddedWB コンポに添付の[EmbeddedWB Demos]の[10 - PrintingOptions_Demo]を参考にする    
    ただしこのデモのコードは英語圏のものなので以下の修正が必要
     
    if (S = 'Print'#0) then   -->    if (S = '印刷'#0) then
    if S = 'Page Setup'#0 then  -->  if S = 'ページ設定'#0 then
    
ヘッダやフッタには書式文字列を使用します.
    Header:='Google Map 活動足跡';    
という書き方は使用しません.

また,印刷のオプションのヘッダの設定等は,レジストリに書き込まれ,
次回,IEオブジェクトのデフォルトの設定として使用されます.
これは,IEで設定しても同じです.


Mr.XRAY  2012-03-18 00:28:22  No: 41799

もし,ヘッダ部分だけを変更したいのであれば,次のような方法も考えられます.

//=============================================================================
//  印刷でヘッダ部分をJavaScriptで変更する方法
//  書式文字列&w&が,<title>タグの文字列となることを利用
//=============================================================================
procedure TForm1.Button6Click(Sender: TObject);
var
  S : String;
begin
  S := 'document.title = ''変更タイトル''';
  EmbeddedWB1.ExecScript(S, 'JavaScript');
  EmbeddedWB1.PrintPreview;
end;


Mr.XRAY  2012-03-24 07:03:57  No: 41800

こんにちは.Mr.XRAYです.
TEmbeddedWBコンポでの印刷のテストコードを作成してみました.

http://mrxray.on.coocan.jp/Delphi/plSamples/942_TEmbeddedWB.htm#05


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加