请问怎样直接设置段前或段后为1.5行?

谁能教教我,怎样直接设置段前段后为"1.5行"???

@easydw 您可以将 LineSpacingRule 指定为 LineSpacingRule.Multiple,然后使用 LineSpacing 值,请记住 12 点对应一行。例如,以下代码将行距指定为 1.5 行:

paragraphFormat.LineSpacingRule = LineSpacingRule.Multiple;
paragraphFormat.LineSpacing = 1.5 * 12;

此外,LineUnitAfterLineUnitBefore 属性可能对您有用。

感谢您的回复, 但我还需要您的帮助.
image.png (18.0 KB)
image.png (5.8 KB)
图片可能看不到, 直接上代码吧:
ParagraphFormat pf = nodes.getParagraphFormat();
pf.setAlignment(ParagraphAlignment.CENTER);// 居中
pf.setLineSpacingRule(LineSpacingRule.MULTIPLE);
pf.setLineSpacing(1.5 * 12); // 想设置成: 行距1.5行 - 成功
pf.setSpaceBefore(2.0 * 12); // 想设置成: 段前2.0行 - 失败: 结果显示24磅
pf.setSpaceAfter(0.5 * 12); // 想设置成: 段后0.5行 - 失败: 结果显示6磅

@easydw 当我们使用setLineSpacingRuleLineSpacingRule.MULTIPLEsetLineSpacing(1.5*12)时,MS Word可以将其定义为1.5行。除了SpaceBefore/SpaceAfter之外,我们只使用点来设置它们。如果你知道一条线的行距是12点,你可以用它来设置规则。

感谢您的回复。

不过,我的目的是想实现一段文字的“段前 2.0行、段后1.0行”,使用setSpaceBefore和setSpaceAfter设置,总是显示的是“磅”,并不能准确的显示“行”。

@easydw 好吧,我以为你已经测试了所有与空间/之前相关的 API 函数。但为什么不使用 LineUnitBefore/LineUnitAfter 呢?阿列克谢在第一个回复中提到了它们。这对您来说不正确吗?

para.getParagraphFormat().setLineUnitBefore(2);
para.getParagraphFormat().setLineUnitAfter(1);