乐于分享
好东西不私藏

QtPDF.pri直接套用

QtPDF.pri直接套用

分享文件:QtPDF

链接:https://pan.xunlei.com/s/VOuVlf6YM2oGZm_1F80_qisJA1?pwd=asj4#

复制这段内容后打开迅雷,查看更方便

通过网盘分享的文件:QtPDF

链接: https://pan.baidu.com/s/1_q_y3-rVSqLOrJtTdE5f7Q 提取码: mfhs 

--来自百度网盘超级会员v1的分享

通过网盘分享的文件:QtPDF

链接: https://pan.baidu.com/s/1_q_y3-rVSqLOrJtTdE5f7Q 提取码: mfhs 

--来自百度网盘超级会员v1的分享

基于 Qt 框架的 PDF 生成库,提供简单易用的 API 用于生成 PDF 文档,支持文本、图片和表格输出。
功能特性
文本输出:支持将文本内容保存为 PDF,可设置字体、对齐方式、换行模式等
图片输出:支持将多张图片保存到 PDF 文档中
表格生成:支持生成格式化的 PDF 表格,包含标题、副标题、列名等
灵活配置:支持纸张大小、方向(横向/纵向)、页边距等设置
样式定制:支持字体样式设置(粗体、斜体、下划线)和特殊标记(如历史记录红色显示)
单例模式:PdfAPI 类采用单例模式,方便全局调用
环境要求
Qt 5.x 或更高版本
Qt PrintSupport 模块
集成方式
在您的 Qt 项目文件(.pro)中添加以下内容:
include(path/to/QtPDF/QtPDF.pri) 
或者直接将以下内容添加到您的项目文件中:
QT += printsupport  HEADERS += \     path/to/outputpdf.h  SOURCES += \     path/to/outputpdf.cpp 
使用示例
  1. 使用 OutputPDF 类生成文本 PDF
#include "outputpdf.h"// 创建 PDF 文档OutputPDF pdf("output.pdf");// 设置字体样式pdf.SetTextFont("Microsoft YaHei", 16, true, false, false);// 设置文本对齐和换行pdf.SetTextOption(Qt::AlignLeft, QTextOption::WordWrap);// 设置行高pdf.SetRowHeight(300);// 写入文本内容pdf.SaveDataToPDF("这是第一行文本");pdf.SaveDataToPDF("这是第二行文本");// 添加新页面pdf.SetNewPage();// 结束绘制pdf.SetPDFEnd();
2. 使用 OutputPDF 类保存图片到 PDF
#include"outputpdf.h"// 创建 PDF 文档(指定图片 PDF 路径)OutputPDF pdf("text.pdf", "images.pdf");// 准备图片列表QVector<QPixmap> pixmaps;pixmaps.append(QPixmap("image1.png"));pixmaps.append(QPixmap("image2.png"));// 保存图片到 PDFpdf.SavePixmapToPDF(pixmaps, 0, 0);// 结束绘制pdf.SetPDFEndPixmap();
3. 使用 PdfAPI 类生成表格 PDF
#include"outputpdf.h"// 获取 PdfAPI 单例PdfAPI *pdfApi = PdfAPI::Instance();// 准备数据QString fileName = "table.pdf";QString title = "数据统计表";QString subTitle = "生成日期:2024-01-01";QList<QString> columnNames;columnNames << "编号" << "名称" << "数量" << "备注";QList<int> columnWidths;columnWidths << 80 << 150 << 80 << 150;QStringList content;content << "001;产品A;100;正常";content << "002;产品B;200;正常";content << "003;产品C;150;历史记录";// 生成 PDF 表格(纵向打印,检查历史记录标记)pdfApi->SavePdf(fileName, title, subTitle, columnNames, columnWidths,                content, false, true, QPrinter::A4);
4. 使用 PdfAPI 类生成复杂表格(双标题)
#include"outputpdf.h"PdfAPI *pdfApi = PdfAPI::Instance();QString fileName = "complex_table.pdf";QString title = "多级数据统计表";QList<QString> columnNames;columnNames << "项目" << "数值" << "状态";QList<int> columnWidths;columnWidths << 100 << 100 << 100;QStringList subTitle1;subTitle1 << "第一季度数据" << "第二季度数据";QStringList subTitle2;subTitle2 << "2024-Q1" << "2024-Q2";QStringList content;content << "销售额|1000|正常|0;利润|200|正常|0";content << "销售额|1200|正常|0;利润|250|历史记录|1";// 生成复杂表格(横向打印)pdfApi->SavePdf(fileName, title, columnNames, columnWidths,                subTitle1, subTitle2, content, true, true, QPrinter::A4);

相关学习资料