我使用以下代码来控制从
TEdgeBrowser
打印的报告的页眉和页脚文本(请参阅这个答案)。 这有效并允许我添加自定义页眉和页脚文本。 但是,它还会在我不想显示的报告标题中添加一个日期时间戳记。 从 TEdgeBrowser
打印时,有没有办法删除标题中显示的默认日期时间戳记? 自定义页眉和页脚仍然需要显示。
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;
我能够通过更改 Internet Explorer 注册表项来使用
TWebBrowser
实现此目的,但 Edge 中似乎不存在这些注册表项。
我会尝试设置
ShouldPrintHeaderAndFooter
= false 来禁用默认的日期时间戳,还设置 Set_HeaderTitle
和 Set_FooterUri
来添加自定义页眉和页脚文本,例如
procedure TForm1.Button1Click(Sender: TObject);
var
PrintSettings: ICoreWebView2PrintSettings;
begin
(EdgeBrowser1.EnvironmentInterface as ICoreWebView2Environment6).CreatePrintSettings(PrintSettings);
// Disable default header and footer
PrintSettings.Set_ShouldPrintHeaderAndFooter(false.ToInteger);
// Add custom header and footer
PrintSettings.Set_HeaderTitle('New Header text');
PrintSettings.Set_FooterUri('New Footer text');
(EdgeBrowser1.DefaultInterface as ICoreWebView2_16).Print(PrintSettings, nil);
end;