ZenosZeng 发表于 2012-5-9 10:46:00

TX Text Control 邮件合并(七)处理MS Word 中的页号设置

在MS Word中提供了一种特殊的域类型,通过该类型的域和现实文档的页号和总页数,这些域可以插入到页眉或者页脚中,TX Text Control也支持这样的特殊域类型。
TX Text Control中通过PageNumberField来对当前页的页号提供支持,而文档的总页数被封装在ApplicationField类型中,PageNumberField的使用方法如下:TXTextControl.PageNumberField pageNumberField =
new TXTextControl.PageNumberField(1,
TXTextControl.NumberFormat.ArabicNumbers);

TXTextControl.HeaderFooter newHeader =
textControl1.Sections.GetItem().HeadersAndFooters.GetItem(TXTextControl.HeaderFooterType.Header);
newHeader.PageNumberFields.Add(pageNumberField);
文档中每页的页号信息会自动更新,总页数信息需要通过当前文档的页数来动态设置,下面代码演示了如何动态更新页眉和页脚中显示的总页数信息:private void updateNumPagesField()
{
// iterate through all sections
foreach (TXTextControl.Section curSection in textControl1.Sections)
{
    // iterate through all headers and footers of the sections
    foreach (TXTextControl.HeaderFooter curHeader in curSection.HeadersAndFooters)
    {
      // iterate through all application fields
      foreach (TXTextControl.ApplicationField curField in curHeader.ApplicationFields)
      {
      // if NUMPAGES is found, update the text property
      // with the current number of pages
      if (curField.TypeName == "NUMPAGES")
      {
          curField.Text = textControl1.Pages.ToString();
      }
      }
    }
}
}


源码:VS2010 + TX TextControl 17.0

qinzhu_ 发表于 2012-8-15 18:02:00

可以了,3Q
页: [1]
查看完整版本: TX Text Control 邮件合并(七)处理MS Word 中的页号设置