CefGlue无声打印到PDF

时间:2015-04-02 16:19:47

标签: javascript c# pdf-generation chromium-embedded cefglue

我迟到了CefGlue版本(3.2272.2035)

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

  1. 为此目的,我试图使用javascript.window.print()但没有成功,因为我所拥有的只是这样的窗口。
  2. enter image description here

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

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

1 个答案:

答案 0 :(得分:1)

您需要合并this patch并从源代码重新编译cef;此外,您可能需要为CefGlue添加一些胶合逻辑。我自己测试了补丁(在C ++ API上)并且运行正常。

已编辑:主干中的补丁will be merged

如果您只需要打印一些页面(特别是如果这些页面在您的控制之下),您就可以了。但是,如果您需要(就像我当时所做的那样)几乎可以打印任何内容,您可能会面临这样的事实,即某些网页不会对打印视图进行任何有用的渲染。此外,即使是那些表现良好的人也会与你在屏幕上看到的显着不同 - 而且这不是CEF的行为,因为即使是谷歌浏览器也显示出相同的问题。在我的应用程序中,这是禁止的,所以我放弃了打印并开始捕获屏幕(并使用C ++中的pdf库将其保存为pdf),但也许你的应用程序并不像我的那样苛刻。干杯!