Пример #1
0
 private static void ReplaceWordRun(OXD.Paragraph paragraph, OXD.Run initRun, OXD.Run finalRun)
 {
     if (null != paragraph.Descendants<OXD.Run>())
     {
         List<OXD.Run> runs = paragraph.Descendants<OXD.Run>().ToList();
         foreach (var run in runs)
         {
             if (initRun != run)
             {
                 paragraph.RemoveChild<OXD.Run>(run);
             }
         }
         paragraph.ReplaceChild<OXD.Run>(finalRun, initRun);
     }
 }
Пример #2
0
 private static void ModifyPowerPointRowTextContent(OXD.TableRow headerRowTemplate, string txt)
 {
     if (null != headerRowTemplate)
     {
         var cells = headerRowTemplate.Descendants<OXD.TableCell>();
         if (null != cells)
         {
             foreach (var cell in cells)
             {
                 ModifyPowerPointCellTextContent(cell, txt);
             }
         }
     }
 }
Пример #3
0
 private static void RemoveLastGridColumn(OXD.TableGrid tableGrid)
 {
     var lastColumn = tableGrid.Descendants<OXD.GridColumn>().Last();
     tableGrid.RemoveChild<OXD.GridColumn>(lastColumn);
 }
Пример #4
0
 private static void ModifyPowerPointCellTextContent(OXD.TableCell cell, string txt)
 {
     if (null != cell)
     {
         OXD.TextBody textbody = cell.Descendants<OXD.TextBody>().FirstOrDefault();
         if (null != textbody)
         {
             OXD.TextBody final_textbody = textbody.CloneNode(true) as OXD.TextBody;
             OXD.Paragraph paragraph = final_textbody.Descendants<OXD.Paragraph>().FirstOrDefault();
             if (null != paragraph)
             {
                 OXD.Paragraph final_paragraph = paragraph.CloneNode(true) as OXD.Paragraph;
                 ModifyPowerPointParagraphTextContent(final_paragraph, txt);
                 final_textbody.ReplaceChild<OXD.Paragraph>(final_paragraph, paragraph);
             }
             cell.ReplaceChild<OXD.TextBody>(final_textbody, textbody);
         }
     }
 }
Пример #5
0
 private static void ModifyPowerPointParagraphTextContent(OXD.Paragraph paragraph, string txt)
 {
     if (null != paragraph)
     {
         OXD.Run run = paragraph.Descendants<OXD.Run>().FirstOrDefault();
         if (null != run)
         {
             OXD.Run final_run = run.CloneNode(true) as OXD.Run;
             OXD.Text text = final_run.Descendants<OXD.Text>().FirstOrDefault();
             OXD.Text final_text = (null == text ? new OXD.Text() : text.CloneNode(true) as OXD.Text);
             final_text.Text = txt;
             try
             { final_run.ReplaceChild<OXD.Text>(final_text, text); }
             catch
             { throw; }
             ReplaceWordRun(paragraph, run, final_run);
         }
         else
         {
             run = new OXD.Run();
         }
     }
 }
Пример #6
0
 private static void AddNewGridColumn(OXD.TableGrid tableGrid, OXD.TableRow headerRow, OXD.TableRow contentRow)
 {
     var columns = tableGrid.Descendants<OXD.GridColumn>();
     if (null != columns && columns.Any())
     {
         var headerLastCell = headerRow.Descendants<OXD.TableCell>().Last();
         var contentLastCell = contentRow.Descendants<OXD.TableCell>().Last();
         double tableWidth = columns.Sum(_ => Convert.ToInt32(_.Width.Value));
         var newColWidth = Math.Floor(tableWidth / columns.Count());
         foreach (var col in columns)
         {
             col.Width = col.Width > 0 ? Convert.ToInt64(Math.Floor((tableWidth - newColWidth) / (tableWidth / col.Width))) : 0;
         }
         tableGrid.InsertAfter<OXD.GridColumn>(new OXD.GridColumn() { Width = Convert.ToInt64(newColWidth) }, columns.Last());
         headerRow.InsertAfter<OXD.TableCell>((OXD.TableCell)headerLastCell.CloneNode(true), headerLastCell);
         contentRow.InsertAfter<OXD.TableCell>((OXD.TableCell)contentLastCell.CloneNode(true), contentLastCell);
     }
 }
		/// <summary>
		/// Gets the size of the text in the given run
		/// </summary>
		/// <param name="run">Run of interest</param>
		/// <returns>Size of the font in points,
		/// default is 11.0pt</returns>
		private string RunFontSize(Drawing.Run run)
		{
			var runProperty = run.Descendants<Drawing.RunProperties>().FirstOrDefault();
			if (runProperty.FontSize != null)
				return String.Format("{0:0.0}pt", runProperty.FontSize.Value / 100.0);
			else
				return "11.0pt";
		}
		/// <summary>
		/// Gets if this run is Strike-through or not
		/// </summary>
		/// <param name="run">Run of interest</param>
		/// <returns>True if it is strike-through, false otherwise</returns>
		private bool IsRunStrikeThrough(Drawing.Run run)
		{
			var runProperty = run.Descendants<Drawing.RunProperties>().FirstOrDefault();
			return runProperty.Strike != null 
				&& runProperty.Strike.Value != Drawing.TextStrikeValues.NoStrike;
		}
		/// <summary>
		/// Gets if this run is underlined or not
		/// </summary>
		/// <param name="run">Run of interest</param>
		/// <returns>True if it is underlined, false otherwise</returns>
		private bool IsRunUnderlined(Drawing.Run run)
		{
			var runProperty = run.Descendants<Drawing.RunProperties>().FirstOrDefault();
			return runProperty.Underline != null
				&& runProperty.Underline.Value != Drawing.TextUnderlineValues.None;
		}
		/// <summary>
		/// Gets if this run is italic or not
		/// </summary>
		/// <param name="run">Run of interest</param>
		/// <returns>True if it is italic, false otherwise</returns>
		private bool IsRunItalic(Drawing.Run run)
		{
			var runProperty = run.Descendants<Drawing.RunProperties>().FirstOrDefault();
			return runProperty.Italic != null && runProperty.Italic.Value;
		}