QT操作word文档,插入图片(位置跟大小可设)

coder-HRQ 2017-04-24 04:30:21
用QT操作word文档,插入图片,图片在word文档中位置和大小可通过代码设置。
实现插入图片例子:
range->querySubObject("InlineShapes")->dynamicCall("AddPicture(const QString&)",picPath);
如何设置图片大小和位置(新建word)
...全文
3316 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ding一线天 2021-01-30
  • 打赏
  • 举报
回复
请问, nCellImageId这个参数是什么意思
夕阳追脚尖 2020-11-02
  • 打赏
  • 举报
回复
大佬们怎么办,同样的问题
  • 打赏
  • 举报
回复
你解决了没,我也遇到这个问题了
yzj985813717 2020-08-24
  • 打赏
  • 举报
回复
QAxObject* pShape = pInlineShapes->querySubObject("AddPicture(const QString&)",strImageAbsolutePath); pShape->setProperty("Width",40); pShape->setProperty("Height",60); 用了这个不起作用是怎么回事,有没有大神解答一下
coder-HRQ 2017-11-28
  • 打赏
  • 举报
回复
bool QWord::insertCellPic(int nRow, int nColumn, const QString& strPicPath, int nWidth, int nHeight, int nCellImageId, int nTableId) { QAxObject* table = m_document->querySubObject("Tables(int)", nTableId); if (NULL == table) { return false; } QAxObject* range = table->querySubObject("Cell(int, int)", nRow, nColumn)->querySubObject("Range"); if (NULL == range) { return false; } QVariantList params; range->dynamicCall("EndOf(wdCell, wdMove)"); QAxObject* shapes = range->querySubObject("InlineShapes"); QList<QVariant> picList; picList.append(strPicPath); picList.append(false); picList.append(true); shapes->dynamicCall("AddPicture(const QString&, const QVariant&, const QVariant&)", picList); range = table->querySubObject("Cell(int, int)", nRow, nColumn)->querySubObject("Range"); if (NULL == range) { return false; } QAxObject* shape = range->querySubObject("InlineShapes(int)", nCellImageId); if (NULL == shape) { return false; } shape->setProperty("Width", nWidth); shape->setProperty("Height", nHeight); return true; }
雲天之巔 2017-09-08
  • 打赏
  • 举报
回复
像word的这些方法 应该去msdn看。 不然里面有哪些方法 根本不知道: https://msdn.microsoft.com/en-us/vba/word-vba/articles/shapes-object-word
chentao19900828 2017-09-06
  • 打赏
  • 举报
回复 1
QAxObject* pShape = pInlineShapes->querySubObject("AddPicture(const QString&)",strImageAbsolutePath);
pShape->setProperty("Width",40);
pShape->setProperty("Height",60);


一行三甲 2017-08-31
  • 打赏
  • 举报
回复
楼主解决了这个问题没
QAxObject操作word生成模板的详细例程: 可用于生成各种表单、出库入库单、测试单等等。 包括内容有: 1、设置页眉页脚、页眉页脚距顶端及底端的距离、页面设置、页边距设置。 2、插入表格、添加行、表格单元格的详尽处理:包括添加图片(图片距单元格边线的距离设置)、表格行高模式的设置(最小高度、固定高度)、单元格的宽度、单元格的上、下、左、右边框类型、上、下、左、右边框线宽。 拆分单元格、合并单元格。 单元格对齐方式设置(水平和竖直方向) 3、字体设置、字号设置,字体加粗设置、字体带下划画设置。 4、段落设置。插入回车。对齐方式。 5、插入文本框,设置文本框位置、设置文本框边框的线型、线宽。 6、其他操作都可以由这些衍生出来,或可参考给定的资料和代码得到。 附加的资料有: 1、Qt运行通过的源代码。 2、VBAWD10.CHM帮助文档(自己感觉不如自己调试生成的html文档帮助大) 3、用到的相当的html文档,包括Border、Borders、Cell、Font、Documents、Columns、Headers、InlineShapes、Item、Line、PageSetup、Range、Rows、Sections、Selection、Shapes、Table、TextFrame、TextRange、Word等。 代码中保留了生成这些html的部分,需要其他的可自己依此生成。 4、生成的word模板保存在E:\demo\QWordDemo\TestReport。目录下面。自己可以进行修改。

16,202

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧