使用 TEdgeBrowser 组件打印时控制页眉和页脚

问题描述 投票:0回答:1

TWebBrowser
组件已被 TEdgeBrowser
 替代。我的目标是当用户使用 
TEdgeBrowser
 组件打印时自定义打印 HTML 页面的页眉和页脚部分中的文本。

我能够在使用

TWebBrowser

 组件时通过编写代码在打印时临时设置 Internet Explorer 注册表项来实现此目的(“SOFTWARE\Microsoft\Internet Explorer\PageSetup”:“页眉”和“页脚”键)。但是,Edge 浏览器似乎不存在这些相同的键。我发现的最接近的是 
'PrintHeaderFooter' 键,它可以启用/禁用页眉和页脚。

使用新的

TEdgeBrowser

 组件打印时,是否可以修改 Delphi 应用程序中的页眉和页脚内容?

html delphi printing microsoft-edge tedgebrowser
1个回答
0
投票
使用 WebView2 控件的

Print

 方法打印自己时,您可以指定自己的字符串来代替页眉和页脚中的文档标题和文档 uri:

procedure TForm1.Button1Click(Sender: TObject); var PrintSettings: ICoreWebView2PrintSettings; begin (EdgeBrowser1.EnvironmentInterface as ICoreWebView2Environment6).CreatePrintSettings(PrintSettings); PrintSettings.Set_ShouldPrintHeaderAndFooter(true.ToInteger); PrintSettings.Set_HeaderTitle('New Header text'); PrintSettings.Set_FooterUri('New Footer text'); (EdgeBrowser1.DefaultInterface as ICoreWebView2_16).Print(PrintSettings, nil); end;
您还可以通过

PrintSettings

控制更多内容,例如按名称选择要使用的打印机、选择纸张尺寸和页面方向等。

为了访问类型

ICoreWebView2PrintSettings

ICoreWebView2Environment6
ICoreWebView2_16
,请按照 
WebView2 (TEdgeBrowser) 更新的 Delphi 界面(例如 ICoreWebView2Controller2)Marcodor 的回答中的步骤进行操作。

© www.soinside.com 2019 - 2024. All rights reserved.