gpt4 book ai didi

c++ - 使用 Active Qt 将图片添加到 Word 后居中

转载 作者:行者123 更新时间:2023-11-28 06:31:40 25 4
gpt4 key购买 nike

我正在通过 Qt 的 Active Qt 模块生成 Word 文档。

我能够写入文档,指定写作的“样式”(粗体、斜体、对齐等)并查询文档的不同部分。

现在我正在尝试显示图片并将其放置在页面的正中央。

插入图片:

QAxObject word( "Word.Application" );

QAxObject* activeDocument = word.querySubObject("ActiveDocument");
QAxObject* activeWindow = activeDocument->querySubObject( "ActiveWindow" );
QAxObject* selection = activeWindow->querySubObject( "Selection" );

selection->dynamicCall( "Collapse(int)", 0 );
const int pos = selection->dynamicCall( "End" ).toInt();

QAxObject* shapes = activeDocument->querySubObject( "Shapes" );
QAxObject* shape = shapes->dynamicCall( "AddPicture(QString,bool,bool,float,float,float,float)",
picPath,
true, true );

这会在页面左侧插入图片。在 Word 中,我可以插入图片,选择它并指定它的对齐方式(在我的例子中居中),但我无法通过代码执行此操作。

我试图将图片的 anchor 设置到中心,但它仍然出现在页面的左侧:

shape->querySubObject( "Anchor" )->querySubObject( "ParagraphFormat" )->setProperty( "Alignment", 1);    // 1 == wdAlignParagraphCenter

和:

shape->querySubObject( "Anchor" )->dynamicCall("InsertAlignmentTab(int)",1); // 1 == center

另外,请注意,当我打开带有插入图像的创建文档时,如果我选择其中一张图片,我无法将其居中;而使用插入菜单,我可以选择图片并将其居中。

有没有办法让我插入到 Word 中的任何图片居中?

最佳答案

当您将图像插入到 Word 中时,它可以 float 在文本上方或段落中。 (文字换行)

您应该检查图像是否插入到段落中或 float 在上方。

*Select Image -> Formatting -> Wrap Text*

在我看来,您为段落对齐设置了样式,但图像漂浮在文本上方。

关于c++ - 使用 Active Qt 将图片添加到 Word 后居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27422376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com