QT通过QPdfWriter类实现pdf文件生成与输出

本文介绍如何在QT应用中利用QPdfWriter类创建PDF报告,详细阐述了初始化PDF、设置页面属性、绘制内容及使用不同库生成PDF的方法,适用于嵌入式系统中的报告生成需求。
摘要由CSDN通过智能技术生成

{

public:

~pdfReport();

void MakePDFReport(QString filePath);

private:

#define DPI_RESOLUTION          300  //DPI中的PDF分辨率

#define TOTAL_WIDTH             2481 //A4纸

#define TOTAL_HEIGHT            3507 //A4纸

#define PAGE_MARGIN             20   //页边距值

#define PAGE_MARGIN_PIXELS      (int)((float)PAGE_MARGIN/72*DPI_RESOLUTION)

#define PAGE_WIDTH              (TOTAL_WIDTH-PAGE_MARGIN_PIXELS*2)

#define PAGE_HEIGHT             (TOTAL_HEIGHT-PAGE_MARGIN_PIXELS*2)

QPdfWriter *pdfWriter;

QTextOption option;

QPainter *pdfPainter;

QFont font;

QFile pdfFile;

TestResult_t testResult;

QString picturePath = “…/picture/”;

private:

#define realWidthPixels(Value)       (int)((float)Value/72*DPI_RESOLUTION)

#define realHeightPixels(Value)      (int)((float)Value/72*TOTAL_HEIGHT)

void PDFReportInit(QString filePath,int currentPage, int totalPage);

void InitNewPage(int currentPage, int totalPage);

};

2.report.cpp文件

void pdfReport::PDFReportInit(QString filePath,int currentPage, int totalPage)

{

//创建要写入的pdf文件

QDateTime currentTime = QDateTime::currentDateTime();

QString timeString = currentTime.toString(“yyyy_MM_dd-hh_mm_ss”);

QString fileName = filePath + “\” + timeString + “Report.pdf”;

pdfFile.setFileName(fileName);

pdfFile.open(QIODevice::ReadWrite);

pdfWriter = new QPdfWriter(&pdfFile);

//设置pdf文件属性

pdfWriter->setPageSize

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值