CefGlue无声打印到PDF

kra*_*asb 5 javascript c# pdf-generation chromium-embedded cefglue

我迟到了CefGlue版本(3.2272.2035)

我需要将当前页面保存为PDF.我想以某种方式与我的CEF互动(JS/C#)并让它为我创建PDF.

  1. 我试图使用javascript.window.print()为此目的没有成功,因为,我所有的都是这样的窗口.

在此输入图像描述

  1. 我在CefPrintHandler中找到了OnPrintJob方法,但我不知道调用它的正确方法+注释说:"实现此接口以处理Linux上的打印",我需要在Windows环境中处理打印到pdf(两者都是x64/86)

任何代码示例将不胜感激.在此先感谢您的帮助.

Ale*_*nes 1

您需要合并此补丁并从源代码重新编译 cef;此外,您可能需要向 CefGlue 添加一些粘合逻辑。我自己测试了该补丁(在 C++ API 上),效果很好。

编辑:补丁将合并到主干中。

如果您只需要打印一些页面(特别是如果这些页面在您的控制之下),您会做得很好。但是,如果您需要(就像我当时所做的那样)打印几乎所有内容,您可能会面临这样一个事实:某些网页不会呈现对打印视图有用的任何内容。此外,即使那些表现良好的内容也与您在屏幕上看到的内容有很大差异 - 这不是 CEF 行为,因为甚至 google chrome 也显示了相同的问题。在我的应用程序中这是不行的,所以我放弃了打印并开始捕获屏幕(并使用 C++ 中的 pdf 库将其保存为 pdf),但也许您的应用程序并不像我的应用程序那么要求。干杯!