当前位置:首页 >> 智能终端演进 >> 【QT】 Word模板编辑、转PDF格式,wps office 2009

【QT】 Word模板编辑、转PDF格式,wps office 2009

cpugpu芯片开发光刻机 智能终端演进 1
文件名:【QT】 Word模板编辑、转PDF格式,wps office 2009 【QT】 Word模板编辑、转PDF格式

很高兴在雪易的CSDN遇见你,给你糖糖

欢迎大家加入雪易社区-CSDN社区云

前言

本文分享基于QT进行Word模板编辑以及Word转PDF的技术,希望对各位小伙伴有所帮助!

感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!

你的点赞就是我的动力(^U^)ノ~YO

目录

前言

1. 制作Word模板

2. 基于QT编辑Word模板

3. Word转PDF

结论:


1. 制作Word模板-添加书签

》新建Word文档

》插入---标签

将待插入内容制作为标签

》保存为.dot格式

2. 基于QT编辑Word模板 》书签 替换为 文本 //新建一个word应用程序QAxWidget* word = new QAxWidget("Word.Application", 0, Qt::MSWindowsOwnDC);//并设置为不可见word->setProperty("Visible", false);//获取所有的工作文档QAxObject* documents = word->querySubObject("Documents");//以test2.dot为模板新建一个文档documents->dynamicCall("Add(QString)", strTemplatePath);//获取当前激活的文档QAxObject* document = word->querySubObject("ActiveDocument");//获取文档中名字为name的标签QAxObject* bookmark_name = document->querySubObject("Bookmarks(QVariant)", "name");//选中标签,将字符textg插入到标签位置if (!bookmark_name->isNull()){QString sText = ui->lineEdit_name->text(); //此处为替换内容bookmark_name->dynamicCall("Select(void)"); //选中要选中的区域bookmark_name->querySubObject("Range")->setProperty("Text", sText); //进行替换操作}//获取文档中名字为sex的标签QAxObject* bookmark_sex = document->querySubObject("Bookmarks(QVariant)", "sex");//选中标签,将字符textg插入到标签位置if (!bookmark_sex->isNull()){QString sText = ui->lineEdit_sex->text(); //此处为替换内容bookmark_sex->dynamicCall("Select(void)"); //选中要选中的区域bookmark_sex->querySubObject("Range")->setProperty("Text", sText); //进行替换操作}//将文件保存为doc,同样可以生成docx文档QString pathsave = QApplication::applicationDirPath() + QString::fromLocal8Bit("\\Report\\report_template.docx");if (pathsave.isEmpty() == true){return;}document->dynamicCall("SaveAs(const QString&))", QDir::toNativeSeparators(pathsave));document->dynamicCall("Close (boolean)", false);word->dynamicCall("Quit()");QMessageBox::warning(this, "完成", "文件已经保存", QMessageBox::Yes); 》书签 替换为 图片 bool insertPic(QAxObject* document, QString sLabel, QString sFile){if (!document)return false;QAxObject* bookmark_pic = document->querySubObject("Bookmarks(QString)", sLabel);if (bookmark_pic){bookmark_pic->dynamicCall("Select(void)");QAxObject* range = bookmark_pic->querySubObject("Range");QVariant tmp = range->asVariant();QList<QVariant> qList;qList << QVariant(sFile);qList << QVariant(false);qList << QVariant(true);qList << tmp;QAxObject* Inlineshapes = document->querySubObject("InlineShapes");Inlineshapes->dynamicCall("AddPicture(const QString&,QVariant,QVariant,QVariant)", qList);delete Inlineshapes;}return true;} 3. Word转PDF void zxKneeReportWidget::convertToPDF(QString strWordPath, QString strTargetPath){if (strWordPath.isEmpty() || strTargetPath.isEmpty()) return;QAxObject* pWordApplication = new QAxObject("Word.Application", 0);QAxObject* pWordDocuments = pWordApplication->querySubObject("Documents");QString fileName = strWordPath;QString toFilePath = strTargetPath;QVariant filename(fileName);QVariant confirmconversions(false);QVariant readonly(true);QVariant addtorecentfiles(false);QVariant passworddocument("");QVariant passwordtemplate("");QVariant revert(false);//打开QAxObject* doc = pWordDocuments->querySubObject("Open(const QVariant&, const QVariant&,const QVariant&, ""const QVariant&, const QVariant&, ""const QVariant&,const QVariant&)",filename,confirmconversions,readonly,addtorecentfiles,passworddocument,passwordtemplate,revert);QVariant OutputFileName(toFilePath);QVariant ExportFormat(17); //17是pdfQVariant OpenAfterExport(false); //保存后是否自动打开//转成pdfdoc->querySubObject("ExportAsFixedFormat(const QVariant&,const QVariant&,const QVariant&)",OutputFileName,ExportFormat,OpenAfterExport);//关闭doc->dynamicCall("Close(boolean)
协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接