当前位置: 首页 > wzjs >正文

绍兴网站开发公司seo推广公司排名

绍兴网站开发公司,seo推广公司排名,线上宣传方式,网站建设合同的风险责任虽然 Qt 没有原生支持 Word 文档操作的模块,但可以通过以下几种方式实现 Word 文档的读写和操作: 1、使用 ActiveX/COM (仅限 Windows) 2、使用第三方库 (跨平台),比如: libopendocument等。 3、直接操作 DOCX 文件 (DOCX 是 ZIP+XML) 4、使用 HTML 作为中介格式 一、使…

       虽然 Qt 没有原生支持 Word 文档操作的模块,但可以通过以下几种方式实现 Word 文档的读写和操作:

1、使用 ActiveX/COM (仅限 Windows)

2、使用第三方库 (跨平台),比如: libopendocument等。

3、直接操作 DOCX 文件 (DOCX 是 ZIP+XML)

4、使用 HTML 作为中介格式

一、使用 ActiveX/COM (仅限 Windows)

这种方法需要 Microsoft Word 安装,通过 QAxObject 调用 Word 的 COM 接口。

1、环境配置

  1. 添加依赖
    在 .pro 文件中添加 QT += axcontainer 以支持 ActiveX 组件‌。
  2. 包含头文件
    #include <QAxObject>
    #include <QVariant>

2、创建 Word 文档并写入内容

#include <QAxObject>void createWordDocument()
{// 启动 Word 应用程序QAxObject *word = new QAxObject("Word.Application");word->setProperty("Visible", true); // 设置可见// 创建新文档QAxObject *documents = word->querySubObject("Documents");QAxObject *document = documents->querySubObject("Add()");// 获取选区对象QAxObject *selection = word->querySubObject("Selection");// 写入文本selection->dynamicCall("TypeText(const QString&)", "Qt 生成的 Word 文档");selection->dynamicCall("TypeParagraph()"); // 插入新段落// 设置字体格式QAxObject *font = selection->querySubObject("Font");font->setProperty("Name", "宋体");font->setProperty("Size", 16);font->setProperty("Bold", true);// 保存文档document->dynamicCall("SaveAs(const QString&)", "C:\\test.docx");// 关闭文档和退出document->dynamicCall("Close()");word->dynamicCall("Quit()");
}

3、读取 Word 文档内容

QString readWordDocument(const QString &filePath)
{QAxObject *word = new QAxObject("Word.Application");word->setProperty("Visible", false); // 不可见模式QAxObject *documents = word->querySubObject("Documents");QAxObject *document = documents->querySubObject("Open(const QString&)", filePath);QAxObject *content = document->querySubObject("Content");QString text = content->property("Text").toString();// 关闭文档和退出document->dynamicCall("Close()");word->dynamicCall("Quit()");return text;
}

 4、文本与格式设置

4.1)设置字体样式

QAxObject *font = selection->querySubObject("Font");
font->setProperty("Name", "宋体");      // 字体名称‌
font->setProperty("Size", 12);          // 字号‌
font->setProperty("Bold", true);       // 加粗‌

4.2)段落对齐与缩进

QAxObject *paragraph = selection->querySubObject("ParagraphFormat");
paragraph->setProperty("Alignment", 1);  // 1: 左对齐,2: 居中,3: 右对齐‌
paragraph->setProperty("FirstLineIndent", 28);  // 首行缩进(单位:磅)‌

5、表格操作 

5.1)插入表格

QAxObject *tables = document->querySubObject("Tables");
QAxObject *range = selection->querySubObject("Range");
QAxObject *table = tables->querySubObject("Add(QVariant, QVariant, QVariant, QVariant)", range->asVariant(), 3, 4, 1);  // 3行4列‌

5.2)合并单元格

QAxObject *cell = table->querySubObject("Cell(int, int)", 1, 1);
cell->dynamicCall("Merge(QVariant)", table->querySubObject("Cell(int, int)", 1, 2));  // 合并第1行第1-2列‌

6、图片操作

QAxObject *shapes = document->querySubObject("Shapes");
shapes->querySubObject("AddPicture(QString, QVariant, QVariant, QVariant, QVariant, QVariant, QVariant)", "C:/image.png", true, true, 100, 100, 300, 200);  // 插入图片(左上角坐标(100,100),宽300,高200)‌

7、设置页眉页脚

QAxObject *headers = document->querySubObject("Sections(1)->Headers");
QAxObject *header = headers->querySubObject("Item(int)", 1);  // 第1节页眉
header->querySubObject("Range")->dynamicCall("InsertAfter(QString)", "页眉内容")‌;

8、生成模板文档

‌通过书签定位插入内容:

QAxObject *bookmark = document->querySubObject("Bookmarks(QString)", "Mark1");
bookmark->querySubObject("Range")->dynamicCall("InsertAfter(QString)", "替换文本")‌;

9、注意事项

‌1)资源释放‌
每个 QAxObject 对象需手动释放(delete 或 deleteLater()),否则可能导致内存泄漏‌。
2)‌异常处理‌
检查 querySubObject 返回值是否为 nullptr,避免程序崩溃‌。
‌3)WPS 兼容性‌
若使用 WPS,需将 QAxObject("Word.Application") 改为 QAxObject("kwps.Application")‌。 

二、使用第三方库 (跨平台)

使用 libopendocument (处理 ODT 格式)

ODT (OpenDocument Text) 是 LibreOffice/OpenOffice 使用的开放文档格式,基于 XML 和 ZIP 结构。

1、环境配置

  1. 安装 LibreOfficeKit
    需安装 libreofficekit-dev 或 libreofficekit-devel 开发包(包含头文件和动态库)‌57。

    • Ubuntu/Debian‌:
      sudo apt install libreofficekit-dev
    • Fedora/CentOS‌:
      sudo dnf install libreofficekit-devel
  2. Qt 工程配置<

http://www.dtcms.com/wzjs/15396.html

相关文章:

  • 织梦电子行业网站模板网站点击排名优化
  • 做的好的排版网站关键词排名快速提升
  • 网站怎么做导航百度客户端电脑版下载
  • 用阿里巴巴做公司网站怎么样百度推广时间段在哪里设置
  • 公司装修员工有工资吗前端seo搜索引擎优化
  • 上海软件开发的公司排名seo网站排名优化工具
  • 网站建设完成后怎么上传服务器网站推广关键词排名优化
  • 公司建设网站需要什么武汉seo公司
  • 移动互联网开发考研方向seo手机关键词排行推广
  • 百度知识营销百度seo价格查询
  • 网站建设仟首先金手指12精品成品网站入口
  • 怀仁有做网站的公司吗千锋教育介绍
  • 免费网站建设开发网络营销策划方案的目的
  • 为什么做网站要服务器 和域名seo是什么工作
  • 专做logo网站叫什么地方子域名大全查询
  • 网络推广工作好干吗专业seo网络营销公司
  • 下载大连建设网官方网站百度推广官网
  • 免费网站软件app如何在百度上建立网站
  • 中纪委网站两学一做征文百度安全中心
  • 上海市住房和城乡建设部网站电脑培训班价目表
  • 做网站排行个人博客网页设计
  • 宁夏商擎网站建设晋中网络推广
  • 绞铜机 东莞网站建设seo优化收费
  • 百度网盘资源搜索入口杭州seo代理公司
  • 郑州企业建设网站有什么用关键词优化怎么优化
  • 做ppt的素材网站免费网站安全软件大全游戏
  • 自适应网站怎么做推广工具
  • 备案 网站负责人 法人百度竞价登录
  • ps做网站的分辨率多少百度智能建站平台
  • 专门做童装的网站有哪些哪里有软件培训班