在 Chromium 中打印包含 SVG 图像的网页时出现问题

Problem in printing a webpage containing SVG images in Chromium

我有一个包含以下内容的 html 文件:

<html>
<body>
<object data="https://upload.wikimedia.org/wikipedia/commons/0/09/America_Online_logo.svg" type="image/svg+xml"></object>
</body>
</html>

如您所见,您可以用chrome打开并打印。 但是如果我使用 Chromium.Print 方法,它会打印空白页。

请注意,这只是一个示例。所有 SVG 图片都有同样的问题。

我使用 Delphi 10.3.2 和 CEF4Delphi。

谁能指导一下吗?

这很可能是由 CEF issue #3297 引起的,并且该报告中描述的解决方法有效。

在 GlobalCEFApp.StartMainProcess 调用之前添加此代码行:

GlobalCEFApp.DisableSiteIsolationTrials := True;

我使用最新的 CEF4Delphi 版本测试了此解决方法,该版本使用 CEF 100.0.14 和 MiniBrowser 演示。您的示例 HTML 使用 TChromiumCore.Print 和 TChromiumCore.PrintToPdf.

正确打印