Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Xml.Linq;
  6. using System.IO.Packaging;
  7. namespace Novacode
  8. {
  9. public class Header : Container
  10. {
  11. internal PackagePart mainPart;
  12. internal Header(DocX document, XElement xml, PackagePart mainPart):base(document, xml)
  13. {
  14. this.mainPart = mainPart;
  15. }
  16. public override Paragraph InsertParagraph()
  17. {
  18. Paragraph p = base.InsertParagraph();
  19. p.PackagePart = mainPart;
  20. return p;
  21. }
  22. public override Paragraph InsertParagraph(int index, string text, bool trackChanges)
  23. {
  24. Paragraph p = base.InsertParagraph(index, text, trackChanges);
  25. p.PackagePart = mainPart;
  26. return p;
  27. }
  28. public override Paragraph InsertParagraph(Paragraph p)
  29. {
  30. p.PackagePart = mainPart;
  31. return base.InsertParagraph(p);
  32. }
  33. public override Paragraph InsertParagraph(int index, Paragraph p)
  34. {
  35. p.PackagePart = mainPart;
  36. return base.InsertParagraph(index, p);
  37. }
  38. public override Paragraph InsertParagraph(int index, string text, bool trackChanges, Formatting formatting)
  39. {
  40. Paragraph p = base.InsertParagraph(index, text, trackChanges, formatting);
  41. p.PackagePart = mainPart;
  42. return p;
  43. }
  44. public override Paragraph InsertParagraph(string text)
  45. {
  46. Paragraph p = base.InsertParagraph(text);
  47. p.PackagePart = mainPart;
  48. return p;
  49. }
  50. public override Paragraph InsertParagraph(string text, bool trackChanges)
  51. {
  52. Paragraph p = base.InsertParagraph(text, trackChanges);
  53. p.PackagePart = mainPart;
  54. return p;
  55. }
  56. public override Paragraph InsertParagraph(string text, bool trackChanges, Formatting formatting)
  57. {
  58. Paragraph p = base.InsertParagraph(text, trackChanges, formatting);
  59. p.PackagePart = mainPart;
  60. return p;
  61. }
  62. public override List<Paragraph> Paragraphs
  63. {
  64. get
  65. {
  66. List<Paragraph> l = base.Paragraphs;
  67. l.ForEach(x => x.mainPart = mainPart);
  68. return l;
  69. }
  70. }
  71. public override List<Table> Tables
  72. {
  73. get
  74. {
  75. List<Table> l = base.Tables;
  76. l.ForEach(x => x.mainPart = mainPart);
  77. return l;
  78. }
  79. }
  80. public List<Image> Images
  81. {
  82. get
  83. {
  84. PackageRelationshipCollection imageRelationships = mainPart.GetRelationshipsByType("http://schemas.openxmlformats.org/officeDocument/2006/relationships/image");
  85. if (imageRelationships.Count() > 0)
  86. {
  87. return
  88. (
  89. from i in imageRelationships
  90. select new Image(Document, i)
  91. ).ToList();
  92. }
  93. return new List<Image>();
  94. }
  95. }
  96. }
  97. }