苏州三木软件科技有限公司

 找回密码
 立即注册
搜索
热搜: 活动
查看: 12829|回复: 3

使用 DevExpress 的 Word Processing Document API

[复制链接]

35

主题

53

帖子

371

积分

中级会员

Rank: 3Rank: 3

积分
371
发表于 2024-12-27 10:53:42 | 显示全部楼层 |阅读模式
使用 DevExpress 的 Word Processing Document API,设置word档的段落格式,要设置段前0.5行,下面的语句是以磅为单位,设置段前6磅,接近于0.5行:
paragraph.SpacingBefore=25f;   //0.5行 * 12磅/行 = 6磅 ,6除以0.24=25


如果要以行为单位,直接设置段前0.5行,怎么写?

回复

使用道具 举报

100

主题

405

帖子

2549

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2549
QQ
发表于 2024-12-27 14:50:56 | 显示全部楼层

我们可以通过设置多倍行距的方式来定义0.5倍

  1. Paragraph par = doc.Paragraphs.Get(position);
  2. par.LineSpacingType=ParagraphLineSpacing.Multiple; //多倍行距
  3. par.SpacingBefore=0.5;
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

35

主题

53

帖子

371

积分

中级会员

Rank: 3Rank: 3

积分
371
 楼主| 发表于 2024-12-27 17:44:32 | 显示全部楼层
这种写法,只对行距有效。但对段前0.5行没有作用,有没有以行为单位,来设置段前0.5行的写法,而不是以磅为单位?
回复

使用道具 举报

100

主题

405

帖子

2549

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2549
QQ
发表于 2024-12-27 22:36:49 | 显示全部楼层
试试下面的代码。我也是猜的,能提供Demo的话那是最好了。
  1. //文档的单位影响SpacingBefore的单位
  2. doc.Unit=DevExpress.Office.DocumentUnit.Document; //1英寸的1/300为单位。
  3. Paragraph par = doc.Paragraphs.Get(position);
  4. //将0.5个行转化为DocumentUnit.Document单位
  5. par.SpacingBefore=DevExpress.Office.Utils.Units.PicasToDocumentsF(0.5);
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|苏州三木软件科技有限公司 ( 苏ICP备2022038390号 )

苏公网安备 32058502010732号

GMT+8, 2025-1-18 12:00 , Processed in 0.071795 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表