如何仅在Word文档第一页右侧页脚添加条形码?
仅在Word文档第一页右侧页脚添加条形码的解决方案
你目前的代码会给所有页面的主页脚都加上条形码,要实现只在第一页右侧页脚显示,只需要调整两处关键逻辑:
- 开启文档的「首页不同」设置,让第一页可以使用独立的页脚
- 让DocumentBuilder定位到首页专属页脚,而不是全局的主页脚
修改后的完整代码如下:
string dataDir = @"D:\test44\"; BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567890"); Stream ms = new MemoryStream(); generator.Save(ms, BarCodeImageFormat.Png); Document doc = new Document(dataDir + "sample.docx"); DocumentBuilder builder = new DocumentBuilder(doc); // 开启首页不同的页眉页脚设置,让第一页拥有独立页脚 doc.FirstSection.PageSetup.DifferentFirstPageHeaderFooter = true; // 定位到第一页专属的页脚区域(替代原来的全局主页脚) builder.MoveToHeaderFooter(HeaderFooterType.FooterFirst); builder.ParagraphFormat.Alignment = ParagraphAlignment.Right; builder.InsertImage(ms); doc.Save(@"C:\Temp\out.docx");
核心改动说明:
doc.FirstSection.PageSetup.DifferentFirstPageHeaderFooter = true;:开启该设置后,Word文档会为第一页分配独立的页眉页脚,不再和其他页面共用主页眉页脚HeaderFooterType.FooterFirst:指定操作对象为第一页专属页脚,而原代码中的FooterPrimary是所有非首页(未开启首页不同时是所有页面)都会使用的全局主页脚
修改后生成的文档,只会在第一页右侧页脚显示条形码,其余页面的页脚保持原有状态不受影响。
内容的提问来源于stack exchange,提问作者Student
相关产品推荐
相关产品推荐

