lpxxn / docx

qt office word lib
GNU General Public License v3.0
40 stars 16 forks source link

Is the title still displayed as body style when you create it? How to write styles.xml without a style such as title 1 #9

Open cheng25 opened 4 months ago

cheng25 commented 4 months ago

Docx::Document doc = Docx::Document(":/test.docx"); doc.addHeading("title1--",2);

cheng25 commented 4 months ago

创建标题时仍然显示为正文样式的问题?styles.xml没有标题1等样式,如何写入

cheng25 commented 4 months ago

Word快速添加样式 再打开 image

styles.xml使用 的w:styleId

KeyesSss commented 3 months ago

我导出了文档,标题样式是"heading 1",那标题的样式应该改成"1"吗?设置成"heading 1"不生效

KeyesSss commented 3 months ago

设置成1,代码里会自动添加"Heading",如果删了代码会崩

cheng25 commented 3 months ago

@KeyesSss 可以先使用微软的word自定义样式,然后通过7-zip打开.doc文件找到styles.xml,找 的w:styleId;;本质是通过addParagraph设置w:styleId;如下:(如果崩溃时0kb的源word导致,使用的源word必须是>0kb,也就是必须用微软的word打开过)

image

KeyesSss commented 3 months ago

OK解决了。是模板里样式的问题,里面内容为空所以没有保存样式。我去自定义了一个文档,把样式加齐全后,解压缩拿到style.xml,拷到模板文件里,就可以正常根据index使用样式了