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です.
印刷のオプションを設定する場合,以下のようになるようです.
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で設定しても同じです.
もし,ヘッダ部分だけを変更したいのであれば,次のような方法も考えられます.
//=============================================================================
// 印刷でヘッダ部分をJavaScriptで変更する方法
// 書式文字列&w&が,<title>タグの文字列となることを利用
//=============================================================================
procedure TForm1.Button6Click(Sender: TObject);
var
S : String;
begin
S := 'document.title = ''変更タイトル''';
EmbeddedWB1.ExecScript(S, 'JavaScript');
EmbeddedWB1.PrintPreview;
end;
こんにちは.Mr.XRAYです.
TEmbeddedWBコンポでの印刷のテストコードを作成してみました.
http://mrxray.on.coocan.jp/Delphi/plSamples/942_TEmbeddedWB.htm#05
ツイート | ![]() |