[WebMethod]
public byte[] GetWordApplicationDoc(WordTextElement heading, WordTextElement
subHeading, WordTextElement listName, WordTextElement[] listItems,
Boolean numberedList)
{
WordApplication wordApp = new WordApplication();
// create new document
Document wordDoc = wordApp.Create();
// create ParagraphFormatting to make the heading center-justified
ParagraphFormatting headingFormatting = wordDoc.CreateParagraphFormatting();
headingFormatting.TextJustification =
ParagraphFormatting.Justification.Center;
// create heading
CharacterRun headingRun =
wordDoc.InsertParagraphAfter(null, headingFormatting).InsertTextBefore(heading.Text,
true);
headingRun.Font.TextColor = getSystemColor(heading.Color);
headingRun.Font.FontSize = heading.Size;
CharacterRun subHeadingRun = wordDoc.InsertParagraphAfter(null,
headingFormatting).InsertTextAfter(subHeading.Text, true);
subHeadingRun.Font.TextColor =
getSystemColor(subHeading.Color);
subHeadingRun.Font.FontSize = subHeading.Size;
// create list
CharacterRun listRun = wordDoc.InsertTextAfter(listName.Text,
true);
listRun.Font.TextColor = getSystemColor(listName.Color);
listRun.Font.FontSize = listName.Size;
List list = listRun.InsertListAfter(numberedList);
for (int i = 0; i < listItems.Length; i++)
{
CharacterRun listItem =
list.AddEntry(0).InsertTextBefore(listItems[i].Text,
false);
listItem.Font.TextColor = getSystemColor(listItems[i].Color);
listItem.Font.FontSize = listItems[i].Size;
}
MemoryStream output = new MemoryStream();
// save document to memory stream
wordApp.Save(wordDoc, output);
return output.ToArray();
} |