@@ -790,35 +790,38 @@ internal FF.Paragraph LoadParagraph(WP.Paragraph wpPara, int id)
790
790
791
791
if ( ffP . Style == "ListParagraph" )
792
792
{
793
- if ( _numberingPart != null )
793
+ if ( isNumbered ( paraProps ) )
794
794
{
795
- if ( paraProps . NumberingProperties . NumberingId . Val != null &&
796
- paraProps . NumberingProperties . NumberingLevelReference . Val != null )
795
+ if ( _numberingPart != null )
797
796
{
798
- ffP . NumberingId = paraProps . NumberingProperties . NumberingId . Val ;
799
- ffP . NumberingLevel = paraProps . NumberingProperties . NumberingLevelReference . Val + 1 ;
800
-
801
- var numbering = _numberingPart . Numbering ;
802
- var abstractNum = numbering . Elements < WP . AbstractNum > ( ) . FirstOrDefault ( an => an . AbstractNumberId == ffP . NumberingId ) ;
803
- if ( abstractNum != null )
797
+ if ( paraProps . NumberingProperties . NumberingId . Val != null &&
798
+ paraProps . NumberingProperties . NumberingLevelReference . Val != null )
804
799
{
805
- var level = abstractNum . Elements < WP . Level > ( ) . FirstOrDefault ( l => l . LevelIndex == ffP . NumberingLevel - 1 ) ;
806
- if ( level != null )
800
+ ffP . NumberingId = paraProps . NumberingProperties . NumberingId . Val ;
801
+ ffP . NumberingLevel = paraProps . NumberingProperties . NumberingLevelReference . Val + 1 ;
802
+
803
+ var numbering = _numberingPart . Numbering ;
804
+ var abstractNum = numbering . Elements < WP . AbstractNum > ( ) . FirstOrDefault ( an => an . AbstractNumberId == ffP . NumberingId ) ;
805
+ if ( abstractNum != null )
807
806
{
808
- if ( level . NumberingFormat . Val == WP . NumberFormatValues . Decimal )
809
- ffP . IsNumbered = true ;
810
- else if ( level . NumberingFormat . Val == WP . NumberFormatValues . LowerLetter )
811
- ffP . IsAlphabeticNumber = true ;
812
- else if ( level . NumberingFormat . Val == WP . NumberFormatValues . LowerRoman )
813
- ffP . IsRoman = true ;
814
- else if ( level . NumberingFormat . Val == WP . NumberFormatValues . Bullet )
815
- ffP . IsBullet = true ;
816
- else
817
- ffP . IsNumbered = true ;
807
+ var level = abstractNum . Elements < WP . Level > ( ) . FirstOrDefault ( l => l . LevelIndex == ffP . NumberingLevel - 1 ) ;
808
+ if ( level != null )
809
+ {
810
+ if ( level . NumberingFormat . Val == WP . NumberFormatValues . Decimal )
811
+ ffP . IsNumbered = true ;
812
+ else if ( level . NumberingFormat . Val == WP . NumberFormatValues . LowerLetter )
813
+ ffP . IsAlphabeticNumber = true ;
814
+ else if ( level . NumberingFormat . Val == WP . NumberFormatValues . LowerRoman )
815
+ ffP . IsRoman = true ;
816
+ else if ( level . NumberingFormat . Val == WP . NumberFormatValues . Bullet )
817
+ ffP . IsBullet = true ;
818
+ else
819
+ ffP . IsNumbered = true ;
820
+ }
818
821
}
819
822
}
820
- }
821
823
824
+ }
822
825
}
823
826
}
824
827
@@ -959,6 +962,21 @@ private bool isIndented(WP.ParagraphProperties prop)
959
962
}
960
963
}
961
964
965
+ private bool isNumbered ( WP . ParagraphProperties prop )
966
+ {
967
+ try
968
+ {
969
+ var numbering = prop . NumberingProperties ;
970
+ var numberingId = numbering . NumberingId . Val ;
971
+ var numberingRef = numbering . NumberingLevelReference . Val ;
972
+ return true ;
973
+ }
974
+ catch ( Exception ex )
975
+ {
976
+ return false ;
977
+ }
978
+ }
979
+
962
980
#endregion
963
981
964
982
#region Load OpenXML Image
0 commit comments