WebpagePrinterTool 2.0
Print a web page skip the browser's print preview
载入中...
搜索中...
未找到
RenderPng.h
浏览该文件的文档.
1#pragma once
5#include "DataPack.h"
6template <typename T>
7class RenderPng {
8 static constexpr STEP step = STEP::RENDER_PNG;
9 T next;
10
11 public:
12 void work(PrinterDataPack& data_pack) {
13 qDebug()<<step_str[step];
14 if (data_pack.config.is_save_png == 1) {
15 CanExceptionCallback callback(
16 [this, &data_pack]() {
17 try {
18 data_pack.page.status = step_str[step];
20 next.work(data_pack);
21 } catch (const SqliteOpError& e) {
22 data_pack.setRespValue(RespError::toJsonObject(data_pack.uid, e.what()));
23 }
24 },
25 [this, &data_pack](const PrintWorkFlowError&) {
27 data_pack.setRespValue(
28 RespError::toJsonObject(data_pack.uid, data_pack.page.error_message));
29 });
30 next.printer.setDataPack(&data_pack);
31 next.printer.renderPng(callback);
32 } else {
33 next.work(data_pack);
34 }
35 }
36};
constexpr std::array< char const *, 5 > step_str
定义 DataPack.h:15
STEP
定义 DataPack.h:14
@ RENDER_PNG
定义 DataPack.h:14
request response 接口数据格式
定义 CanExceptionCallback.h:4
定义 PrintWorkFlowError.h:3
定义 RenderPng.h:7
void work(PrinterDataPack &data_pack)
定义 RenderPng.h:12
static constexpr STEP step
定义 RenderPng.h:8
T next
定义 RenderPng.h:9
static SqliteDb & instance()
定义 SqliteDb.cpp:33
void updatePage(const PrintedPage &) const
update Page
定义 SqliteDb.cpp:317
定义 SqliteOpError.h:6
const char * what() const noexcept override
定义 SqliteOpError.h:18
QString error_message
错误信息
定义 PrintedPage.h:66
QString status
状态 STEP
定义 PrintedPage.h:36
int is_save_png
是否额外保存一张png 图片
定义 PrinterConfig.h:25
定义 DataPack.h:18
void setRespValue(QJsonObject obj)
定义 DataPack.h:41
PrintedPage page
定义 DataPack.h:20
PrinterConfig config
定义 DataPack.h:21
std::optional< int > uid
定义 DataPack.h:22
static QJsonObject toJsonObject(std::optional< int > uid, const QString &msg)
定义 WebInterface.h:49