WebpagePrinterTool 2.0
Print a web page skip the browser's print preview
载入中...
搜索中...
未找到
Printer.h
浏览该文件的文档.
1#pragma once
3#include "DataPack.h"
4#include <QImage>
5#include <QObject>
6#include <QPrinter>
7#include <QTimer>
8#include <QtPdf/QPdfDocument>
9#include <functional>
10#include <memory>
11#include <qprinterinfo.h>
12class Printer : public QObject {
13 Q_OBJECT
14 public:
15 explicit Printer(QObject* parent = nullptr);
16 static QList<QPrinterInfo> getAvaliblePrinterInfo();
17
21
22 private:
23 QPdfDocument pdf_doc;
24 std::unique_ptr<QImage> image{nullptr};
31 QList<QPrinter*> printers;
32
33 std::function<void(bool, const QString&)> pdf_load_success_callback;
34
35 private slots:
36 void slotPdfdocumentStatusChanged(QPdfDocument::Status status);
37
38 private:
39 void toPrinterResult(bool success, const QString& message, CanExceptionCallback cb);
40
41 bool printImage(QPrinter * printer);
42};
定义 CanExceptionCallback.h:4
std::unique_ptr< QImage > image
定义 Printer.h:24
void toPrinter(CanExceptionCallback cb)
定义 Printer.cpp:137
void slotPdfdocumentStatusChanged(QPdfDocument::Status status)
定义 Printer.cpp:151
bool printImage(QPrinter *printer)
定义 Printer.cpp:125
static QList< QPrinterInfo > getAvaliblePrinterInfo()
定义 Printer.cpp:8
QPdfDocument pdf_doc
定义 Printer.h:23
void renderPng(CanExceptionCallback cb)
定义 Printer.cpp:27
std::function< void(bool, const QString &)> pdf_load_success_callback
定义 Printer.h:33
void setDataPack(PrinterDataPack *data_pack)
定义 Printer.cpp:18
void toPrinterResult(bool success, const QString &message, CanExceptionCallback cb)
定义 Printer.cpp:53
Printer(QObject *parent=nullptr)
定义 Printer.cpp:11
PrinterDataPack * data_pack
定义 Printer.h:25
int current_page_id
记录打印内容是否发生改变
定义 Printer.h:30
QList< QPrinter * > printers
定义 Printer.h:31
定义 DataPack.h:18