Создание отчёта в формате PDF

Модераторы: Romeo, Hawk, Absurd, WinMain, DeeJayC

Ответить
Аватара пользователя
Decoder
Сообщения: 302
Зарегистрирован: 19 фев 2008, 23:11
Откуда: Moscow

16 май 2020, 11:05

Всем привет! Подскажите какие-нибудь удобные библиотеки для вывода отчёта в документ формата PDF.
Буду очень признателен за небольшой работающий пример программного кода.
Аватара пользователя
WinMain
Сообщения: 913
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

13 июн 2020, 15:44

Довольно легко это сделать с помощью Qt.
Примерно так это будет выглядеть...

Код: Выделить всё

#include <QGuiApplication>
#include <QStaticText>
#include <QPdfWriter>
#include <QPainter>

class MyPdfWriter: public QPdfWriter
{
public:
explicit MyPdfWriter(const QString &filename) : QPdfWriter(filename), _painter(this)
    {
        int resol = resolution();
        QBrush brush(Qt::black);
        QPen pen(brush, resol/100);
        QFont font("Arial", 24);
        _painter.setFont(font);
        _painter.setPen(pen);
    }
    
    void test()
    {
        int res = resolution();
        _painter.drawRect(res/2, res/2, 3*res, 4*res);
        _painter.drawStaticText(res, res, QStaticText("Hello world"));
        //
        _painter.end();
    }
    
private:
    QPainter _painter;
};

int main(int argc, char *argv[]) 
{
    QGuiApplication a(argc, argv);
    MyPdfWriter pdf("Hello.pdf");
    pdf.test();

    return 0; //a.exec();
}
В результате выполнения программы должен появиться файл Hello.pdf
В этом документе должна быть прямоугольная рамка и внутри неё текстовая строка.
Ответить