为有中文需求的客户提供多渠道中文技术支持.

Thu Nov 21, 2024 8:20 am

使用12.11.0版本。
1.生成的多层级自动编号左对齐个别无法对齐,请问改如何修改代码实现全部多层级自动编号左对齐。
2.生成的自动编号会变更原段落中字体和大小,请问添加自动编号时,如何保持原段落文字样式等不变。
Document document = new Document();
document.loadFromFile("C:\\Users\\111.docx");
//创建编号列表样式
ListStyle numberList = new ListStyle(document, ListType.Numbered);
numberList.setName("numberList");
numberList.getLevels().get(1).setNumberPrefix("\u0000.");
numberList.getLevels().get(1).setPatternType(ListPatternType.Arabic);
numberList.getLevels().get(2).setNumberPrefix("\u0000.\u0001.");
numberList.getLevels().get(2).setPatternType(ListPatternType.Arabic);
numberList.getLevels().get(3).setNumberPrefix("\u0000.\u0001.\u0002.");
numberList.getLevels().get(3).setPatternType(ListPatternType.Arabic);
numberList.getLevels().get(4).setNumberPrefix("\u0000.\u0001.\u0002.\u0003.");
numberList.getLevels().get(4).setPatternType(ListPatternType.Arabic);
numberList.getLevels().get(5).setNumberPrefix("\u0000.\u0001.\u0002.\u0003.\u0004.");
numberList.getLevels().get(5).setPatternType(ListPatternType.Arabic);
numberList.getLevels().get(6).setNumberPrefix("\u0000.\u0001.\u0002.\u0003.\u0004.\u0005.");
numberList.getLevels().get(6).setPatternType(ListPatternType.Arabic);
document.getListStyles().add(numberList);
int count = document.getSections().getCount();
for (int i = 0; i < count; i++) {
Section section = document.getSections().get(i);
int count1 = section.getParagraphs().getCount();
for (int j = 0; j < count1; j++) {
Paragraph paragraph = section.getParagraphs().get(j);
// 设置段落的左缩进
paragraph.getFormat().setLeftIndent(0);
// 设置段落的对齐方式为左对齐
paragraph.getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
paragraph.getListFormat().applyStyle(numberList.getName());
paragraph.getListFormat().setListLevelNumber(Math.min(j, 6));
}
}
//保存文档
String docFilePath = "C:\\Users\\haha12.docx";
document.saveToFile(docFilePath, FileFormat.Docx);
document.dispose();
我生成的结果(第1.1和1.1.1.1.1两级与其他级别显示不一致):
1.电饭锅电饭锅电饭锅电饭锅的方法。
1.1.Sfsdaheahargadssdfs。
1.1.1.Sfsdfsf。
1.1.1.1.高温高文革师傅三个望各位。
1.1.1.1.1.顾问顾问岗位给我个。
1.1.1.1.1.1.为各位给我个违规为各位哥。
1.1.1.1.1.1.1.上个坟望各位顾问岗位各位。
1.1.1.1.1.1.2.升格为给娃儿给娃儿噶额外。
1.1.1.1.1.1.3.服务范围给我个违规为各位。
1.1.1.1.1.1.4.施工方违规为各位高温高温。

我想要的:
1.电饭锅电饭锅电饭锅电饭锅的方法。
1.1.Sfsdaheahargadssdfs。
1.1.1.Sfsdfsf。
1.1.1.1.高温高文革师傅三个望各位。
1.1.1.1.1.顾问顾问岗位给我个。
1.1.1.1.1.1.为各位给我个违规为各位哥。
1.1.1.1.1.1.1.上个坟望各位顾问岗位各位。
1.1.1.1.1.1.2.升格为给娃儿给娃儿噶额外。
1.1.1.1.1.1.3.服务范围给我个违规为各位。
1.1.1.1.1.1.4.施工方违规为各位高温高温。

xiaoxingyun
 
Posts: 4
Joined: Thu Nov 21, 2024 8:09 am

Thu Nov 21, 2024 9:48 am

你好,

感谢留言。
经过调查,我发现这个问题是编号的默认对齐方式导致的,您可以在设置每级编号时添加以下代码解决这个问题。如果还有其他问题,欢迎随时联系我们。

Code: Select all
numberList.getLevels().get(index).setNumberAlignment(ListNumberAlignment.Left);


Sincerely,
Doris
E-iceblue support team
User avatar

Doris.Liu
 
Posts: 445
Joined: Mon Nov 07, 2022 8:10 am

Fri Nov 22, 2024 1:32 am

非常感谢,完美!

xiaoxingyun
 
Posts: 4
Joined: Thu Nov 21, 2024 8:09 am

Fri Nov 22, 2024 3:35 am

您好,

不客气~您遇到任何问题欢迎随时留言 :D

Sincerely,
Doris
E-iceblue support team
User avatar

Doris.Liu
 
Posts: 445
Joined: Mon Nov 07, 2022 8:10 am

Tue Nov 26, 2024 2:13 am

再次请教一个问题:
如何判断一个段落是否含有自动编号,并且有自动编号时,能否获取自动编号的值。

xiaoxingyun
 
Posts: 4
Joined: Thu Nov 21, 2024 8:09 am

Tue Nov 26, 2024 7:47 am

您好,

感谢咨询。
您可以通过下面的代码获取段落的编号,如果获取的值为空字符串,则证明没有编号。 如果还有其他问题,欢迎联系我们。
Code: Select all
paragraph.getListText()


Sincerely,
Doris
E-iceblue support team
User avatar

Doris.Liu
 
Posts: 445
Joined: Mon Nov 07, 2022 8:10 am

Tue Nov 26, 2024 9:08 am

我使用的是12.11.0版本,获取word文档段落只能获取500个,多余的获取不到。请问是什么原因

xiaoxingyun
 
Posts: 4
Joined: Thu Nov 21, 2024 8:09 am

Tue Nov 26, 2024 9:44 am

你好,

使用我们免费版本和未购买的商业版本时,都会限制500个段落。如果您的需求超出限制,建议购买我们的商业产品,具体购买信息请参考下面的链接。如果您有购买意愿,请通过邮件[email protected]或qq群3312989436联系我们。
我们也很乐意提供一个月的免费试用授权供您消除限制以更好地评估我们产品,请点击下面的链接申请临时授权,并在程序入口处使用下面的代码应用授权。

Code: Select all
//应用授权Spire.Doc授权
com.spire.doc.license.LicenseProvider.setLicenseKey("Key");


申请临时授权:https://www.e-iceblue.com/TemLicense.html
购买页面:https://www.e-iceblue.cn/Buy/Spire-Doc-JAVA.html

Sincerely,
Doris
E-iceblue support team
User avatar

Doris.Liu
 
Posts: 445
Joined: Mon Nov 07, 2022 8:10 am

Return to 中文技术支持