cef3 GetPrintHandler
时间: 2023-12-12 15:02:57 浏览: 36
`GetPrintHandler()` 方法是 CEF3 (Chromium Embedded Framework 3) 中的一个函数,用于获取当前的打印处理器对象。该函数可以在 CefBrowserHost 接口和 CefPrintHandler 接口中使用。在 CefBrowserHost 接口中,可以通过调用该函数来获取当前的打印处理器对象,并对其进行操作。在 CefPrintHandler 接口中,可以实现该函数并返回自定义的打印处理器对象,在打印时使用。
相关问题
cef3 GetPrintHandler如何实现
要实现 `GetPrintHandler()` 方法,需要创建一个类并实现 `CefPrintHandler` 接口,然后在类中重写 `GetPrintHandler()` 函数并返回自定义的打印处理器对象。
以下是一个示例代码:
```cpp
class MyPrintHandler : public CefPrintHandler {
public:
MyPrintHandler() {}
CefRefPtr<CefPrintHandler> GetPrintHandler() override {
return this;
}
void OnPrintStart(CefRefPtr<CefBrowser> browser) override {
// 打印开始时的处理逻辑
}
void OnPrintSettings(CefRefPtr<CefPrintSettings> settings,
bool get_defaults) override {
// 打印设置的处理逻辑
}
bool OnPrintDialog(bool has_selection,
CefRefPtr<CefPrintDialogCallback> callback) override {
// 打印对话框的处理逻辑
return true;
}
bool OnPrintJob(const CefString& document_name,
const CefString& pdf_file_path,
CefRefPtr<CefPrintJobCallback> callback) override {
// 打印作业的处理逻辑
return true;
}
void OnPrintReset() override {
// 打印重置的处理逻辑
}
void OnPrintError(const CefString& failure_reason) override {
// 打印出错时的处理逻辑
}
private:
IMPLEMENT_REFCOUNTING(MyPrintHandler);
};
```
在上面的示例代码中,我们创建了一个名为 `MyPrintHandler` 的类,并实现了 `CefPrintHandler` 接口。在 `MyPrintHandler` 类中,我们重写了 `GetPrintHandler()` 函数,以返回自定义的打印处理器对象。在其他的函数中,我们可以实现打印过程中的逻辑,例如打印开始时的处理、打印对话框的处理、打印作业的处理等等。
最后,在创建 `CefBrowser` 对象时,我们可以调用 `CefBrowserHost::CreateBrowserSync()` 函数来创建浏览器,并传入 `MyPrintHandler` 对象,让它成为浏览器的打印处理器:
```cpp
CefRefPtr<MyPrintHandler> print_handler = new MyPrintHandler();
CefRefPtr<CefBrowser> browser = CefBrowserHost::CreateBrowserSync(window_info, print_handler, url, browser_settings, nullptr);
```
这样,当用户在浏览器中点击打印按钮时,就会调用 `MyPrintHandler` 类中实现的打印处理逻辑。
ubuntu18.04 cef3
Ubuntu 18.04上的CEF3是指在Ubuntu 18.04操作系统上运行的CEF版本为3的谷歌浏览器内核。CEF(Chromium Embedded Framework)是一种用于在应用程序中嵌入浏览器引擎的开源项目。要在Ubuntu 18.04上安装CEF3,你需要进行以下几个步骤:
1. 首先,确保你的Ubuntu 18.04系统已经安装了必要的依赖项。你可以运行以下命令来安装这些依赖项:
```
sudo apt-get -y install build-essential checkinstall cmake git pkg-config yasm
```
2. 接下来,下载CEF3的工具包。你可以使用适当的版本号和编译环境来选择并下载CEF3的适当版本。例如,要下载CEF版本为68.0.3440.106,编译环境为Ubuntu 18.04的CEF3,你可以执行以下操作:
```
sudo apt-get install libgtkglext1-dev
git clone https://github.com/chromiumembedded/cef.git
cd cef
git checkout tags/68.0.3440.106
```
3. 安装CEF3的编译和构建工具。可以按照CEF项目的说明进行编译和构建。这些说明将指导你如何在Ubuntu 18.04上配置和构建CEF3。
请注意,上述步骤仅是安装CEF3的基本步骤。具体的安装过程可能会因为不同的环境和需求而有所变化。建议在安装之前,先查阅CEF项目的文档和指南,以确保你了解和理解如何在Ubuntu 18.04上正确安装CEF3。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [【CEF】Ubuntu18.04 从源码编译CEF记录](https://blog.csdn.net/qihao7ml/article/details/128565343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [cef_binary_3.3440.1806.g65046b7_linux64_minimal.zip](https://download.csdn.net/download/Jonny_lee/12474133)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [[原创]ubuntu18.04上安装opencv_contrib-3.2.0,成功经验分享,自己踩的坑也填过了。](https://blog.csdn.net/weixin_51492738/article/details/126450473)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
相关推荐
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)