Ms word 我在word文档中得到多个页眉和页脚,在policy.GetFirstPageHeader()中使用NPOI得到null
我在Word文档中得到多个页眉和页脚;我无法区分首页、默认(奇数)或偶数标题 当我试图调用Ms word 我在word文档中得到多个页眉和页脚,在policy.GetFirstPageHeader()中使用NPOI得到null,ms-word,header,npoi,Ms Word,Header,Npoi,我在Word文档中得到多个页眉和页脚;我无法区分首页、默认(奇数)或偶数标题 当我试图调用policy.GetFirstPageHeader()时,我得到了一个空值 XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document); var headerList = document.HeaderList; var footerList = document.FooterList; var firstPageHeader
policy.GetFirstPageHeader()
时,我得到了一个空值
XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document);
var headerList = document.HeaderList;
var footerList = document.FooterList;
var firstPageHeader = policy.GetFirstPageHeader();
var firstPageFooter = policy.GetFirstPageFooter();
XWPFHeader header = policy.GetDefaultHeader();
XWPFHeader even = policy.GetEvenPageHeader();
XWPFHeader odd = policy.GetOddPageHeader();
我得到了空值。有人能建议如何区分Word文档中的标题吗?var listOfheaders=new List();
var listOfheaders = new List<CT_HdrFtrRef>();
foreach (var par in document.Paragraphs)
{
var ParagraphsectPr = (CT_P)par.GetType().GetField("paragraph", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(par);
if (ParagraphsectPr.pPr.sectPr != null)
{
foreach (var headerref in ParagraphsectPr.pPr.sectPr.headerReference)
{
listOfheaders.Add(headerref);
}
}
}
foreach (var list in listOfheaders)
{
var relatedPart = document.GetRelationById(list.id);
XWPFHeader hdr = null;
if (relatedPart != null && relatedPart is XWPFHeader)
{
hdr = (XWPFHeader)relatedPart;
}
// Assign it
ST_HdrFtr type = list.type;
if (!string.IsNullOrEmpty(hdr.Text))
{
if (type == ST_HdrFtr.first)
{
firstPageHeadr = hdr;
}
else if (type == ST_HdrFtr.even)
{
evenPageHeader = hdr;
}
else
{
defaultHeader = hdr;
}
}
}
(文件中的VAR PAR)
{
var ParagraphsectPr=(CT_P)par.GetType().GetField(“段落”,BindingFlags.Instance | BindingFlags.NonPublic).GetValue(par);
如果(段落sectPr.pPr.sectPr!=null)
{
foreach(第sectPr.pPr.sectPr.headerReference段中的var headerref)
{
标题列表。添加(headerref);
}
}
}
foreach(标题列表中的var列表)
{
var relatedPart=document.GetRelationById(list.id);
XWPFHeader hdr=null;
if(relatedPart!=null&&relatedPart为XWPFHeader)
{
hdr=(XWPFHeader)相关部分;
}
//分配
ST_HdrFtr type=list.type;
如果(!string.IsNullOrEmpty(hdr.Text))
{
if(type==ST_HdrFtr.first)
{
firstPageHeadr=hdr;
}
else if(type==ST_HdrFtr.偶数)
{
evenPageHeader=hdr;
}
其他的
{
defaultHeader=hdr;
}
}
}
在Word UI中打开文档。是否激活了“不同的首页”选项?如果不是,则没有第一页标题,因此可以解释空值。偶数页也是如此。另一方面,默认值应始终可用。