C#操纵Word的坑

虽然吹了半天项目用HTML来导出Word文档,但是面对页眉页脚问题……看了眼COM组件还是真香了。(但是PDF用HTML还是好用滴)

然而刚入坑就真“入坑”了,首先一个问题:

“普通视图” ≠ 页面视图

一个啥啥啥的报错大概就是说只能在页面视图打开,然后你发现网上的代码是这样的:

wordApp.ActiveWindow.View.Type = MSWord.WdViewType.wdNormalView;

此时只需把这行改成这样既可:

wordApp.ActiveWindow.View.Type = MSWord.WdViewType.wdPrintView;

然后打开了,问题又接二连三了,乍一看这A4纸咋看着比我手动新建的大啊

原来是在页面大小设置里,同样叫A4却也有大小之分……只需把PaperSize改成:

wordDoc.PageSetup.PaperSize = MSWord.WdPaperSize.wdPaperA4Small;

好,下一个问题,这这这页边距是什么鬼?我明明改了Margin是上下25.4f和31.7f了,但是为啥看着明显不对啊?这个单位不是毫米吗?

的确,单位不是毫米,是,72磅=1英寸=2.54厘米

所以如果你想要一个标准的可供打印的A4纵版页面设置,那么我已经改好相关代码了:

wordDoc.PageSetup.TopMargin = 72f; //单位是磅,1英寸=72磅=2.54厘米
wordDoc.PageSetup.BottomMargin = 72f;
wordDoc.PageSetup.LeftMargin = 90.1f;
wordDoc.PageSetup.RightMargin = 90.1f;
wordDoc.PageSetup.HeaderDistance = 42.5f;//页眉位置
wordDoc.PageSetup.FooterDistance = 49.6f;//页码位置

 

你可能感兴趣的:(前端学习)