예제 #1
0
 private static PartInfo GetSheetPart(Stream s)
 {
     OPCPackage package = new OPCPackage(s);
     foreach (PartInfo pi in package.GetRelatedObjects())
     {
         if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")
             return pi;
         if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")
             return pi;
         if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")
             return pi;
         if (pi.GetContentType() == "application/vnd.ms-excel.intlmacrosheet+xml")
             return pi;
         if (pi.GetContentType() == "application/vnd.ms-excel.macrosheet+xml")
             return pi;
     }
     return null;
 }
예제 #2
0
 public static bool DocumentContainsEmbeddedObjects(string sFileName)
 {
     List<string> PartInfoTargets = new List<string>(); // Beware circular relationships!!
     using (Stream s = new FileStream(sFileName, FileMode.Open))
     {
         OPCPackage package = new OPCPackage(s);
         foreach (PartInfo pi in package.GetRelatedObjects())
         {
             if (PartInfoContainsEmbeddedObjects(pi, ref PartInfoTargets))
                 return true;
         }
     }
     return false;
 }
예제 #3
0
 static PartInfo GetDocumentPart(Stream s)
 {
     OPCPackage package = new OPCPackage(s);
     foreach (PartInfo pi in package.GetRelatedObjects())
     {
         if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")
             return pi;
         if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")
             return pi;
         if (pi.GetContentType() == "application/vnd.ms-word.document.macroEnabled.main+xml")
             return pi;
         if (pi.GetContentType() == "application/vnd.ms-word.template.macroEnabledTemplate.main+xml")
             return pi;
     }
     return null;
 }
예제 #4
0
 private static PartInfo GetPresentationPart(Stream s)
 {
     OPCPackage package = new OPCPackage(s);
     foreach (PartInfo pi in package.GetRelatedObjects())
     {
         if (pi.GetContentType() == "application/vnd.ms-powerpoint.presentation.macroEnabled.main+xml")
             return pi;
         if (pi.GetContentType() == "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")
             return pi;
     }
     return null;
 }