Я работаю над приложением ASP. NET MVC, у которого есть точка питания, которую я хочу отобразить на новой вкладке.
Я использовал open xml, чтобы прочитать файлы, но я не знаю, как его открыть.
Мой код для чтения файлов:
public ActionResult Index()
{
StringBuilder sb = new StringBuilder();
string file = Server.MapPath("~/PPTFiles/Test.pptx");
int numberOfSlides = CountSlides(file);
string slideText;
for (int i = 0; i < numberOfSlides; i++)
{
// Get slide text.
GetSlideIdAndText(out slideText, file, i);
sb.Append(slideText);
}
return View();
}
public static int CountSlides(string presentationFile)
{
using (PresentationDocument presentationDocument = PresentationDocument.Open(presentationFile, false))
{
return CountSlides(presentationDocument);
}
}
public static int CountSlides(PresentationDocument presentationDocument)
{
if (presentationDocument == null)
{
throw new ArgumentNullException("presentationDocument");
}
int slidesCount = 0;
PresentationPart presentationPart = presentationDocument.PresentationPart;
if (presentationPart != null)
{
slidesCount = presentationPart.SlideParts.Count();
}
return slidesCount;
}
public static void GetSlideIdAndText(out string slideText, string docName, int index)
{
using (PresentationDocument ppt = PresentationDocument.Open(docName, false))
{
PresentationPart part = ppt.PresentationPart;
OpenXmlElementList slideIds = part.Presentation.SlideIdList.ChildElements;
string relId = (slideIds[index] as SlideId).RelationshipId;
SlidePart slide = (SlidePart)part.GetPartById(relId);
StringBuilder paragraphText = new StringBuilder();
IEnumerable<A.Text> texts = slide.Slide.Descendants<A.Text>();
foreach (A.Text text in texts)
{
paragraphText.Append(text.Text);
}
slideText = paragraphText.ToString();
}
}
Можете ли вы помочь мне с этим?