HtexDiagram.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace HTEXLib.Models.HTEX
  6. {
  7. public class HtexDiagram : HtexElement
  8. {
  9. public HtexDiagram(string id, double rot, double width, double height,
  10. double top, double left, bool invisible,
  11. bool animatable, int index, DocumentFormat.OpenXml.Drawing.Diagrams.RelationshipIds Diagram, PPTSlide slide, string partForm, string timingId)
  12. {
  13. base.sid = timingId;
  14. base.slide = slide;
  15. this.rot = rot;
  16. this.Diagram = Diagram;
  17. base.id = id;
  18. base.top = top;
  19. base.left = left;
  20. base.width = width;
  21. base.height = height;
  22. base.invisible = invisible;
  23. base.animatable = animatable;
  24. base.index = index;
  25. base.type = "Diagram";
  26. base.partForm = partForm;
  27. }
  28. public DocumentFormat.OpenXml.Drawing.Diagrams.RelationshipIds Diagram { get; set; }
  29. public override List<Item> DrawElement()
  30. {
  31. DoDiagram();
  32. return null;
  33. }
  34. private void DoDiagram()
  35. {
  36. new Diagram { sid = sid };
  37. //datapart r:dm="rId2" layoutpart r:lo="rId3" stylepart r:qs="rId4" colorpart r:cs="rId5" />
  38. var DataPart = Diagram.DataPart.Value;
  39. var LayoutPart = Diagram.LayoutPart.Value;
  40. var StylePart = Diagram.StylePart.Value;
  41. var ColorPart = Diagram.ColorPart.Value;
  42. var Data = slide.SlidePart.Parts.Where(x => x.RelationshipId == DataPart).FirstOrDefault();
  43. var Layout = slide.SlidePart.Parts.Where(x => x.RelationshipId == LayoutPart).FirstOrDefault();
  44. var Style = slide.SlidePart.Parts.Where(x => x.RelationshipId == StylePart).FirstOrDefault();
  45. var Color = slide.SlidePart.Parts.Where(x => x.RelationshipId == ColorPart).FirstOrDefault();
  46. if (Layout != null)
  47. {
  48. var url = Layout.OpenXmlPart.Uri.ToString().Replace("../", "/ppt/");
  49. }
  50. if (Style != null)
  51. {
  52. var url = Style.OpenXmlPart.Uri.ToString().Replace("../", "/ppt/");
  53. }
  54. if (Color != null)
  55. {
  56. var url = Color.OpenXmlPart.Uri.ToString().Replace("../", "/ppt/");
  57. }
  58. if (Data != null)
  59. {
  60. var url = Data.OpenXmlPart.Uri.ToString().Replace("../", "/ppt/");
  61. }
  62. }
  63. }
  64. }