C#编写ASP.NET Core的Web API并部署到IIS上的详细教程(API用于准确获取Word/Excel/PPT/PDF的页数)3 -获取PPT和PDF的页数

C#编写ASP.NET Core的Web API并部署到IIS上的详细教程(API用于准确获取Word/Excel/PPT/PDF的页数)3 -获取PPT和PDF的页数

1.前言

本文是接:
《C#编写ASP.NET Core的Web API并部署到IIS上的详细教程(API用于准确获取Word/Excel/PPT/PDF的页数)1 -环境准备及创建项目》
《C#编写ASP.NET Core的Web API并部署到IIS上的详细教程(API用于准确获取Word/Excel/PPT/PDF的页数)2 -获取Word的页数》
的第三篇。
由于整个系列介绍得很详细,篇幅较长,所以分成多篇博文进行叙述。个人建议从第一篇博文开始阅读。

2.获取PPT页数的代码

获取PPT页数的业务代码同Word一样,我也单独封装成一个Service,其提供如下三种方法:

  • 打开PPT,读取页数;
  • 关闭PPT,退出PPT程序;
  • 杀掉PPT的死进程;

在项目的Service文件夹下,添加PPTReader.cs的类,如下图:
在这里插入图片描述
代码如下:

using System;

namespace DocReaderWebAPIDemo.Service
{
   
    public class PPTReader
    {
   
        public static int getPPTPageNum(String path)
        {
   
            int pageNum = 0;
            Microsoft.Office.Interop.PowerPoint.Application myPPTApplication = 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我觉得大部分人都是“眼球动物“,他们关注的往往都是目光所及的东西。对于很多软件从业者来说,他们对看得见(具有UI界面)的应用抱有极大的热忱,但是对背后支撑整个应用的服务却显得较为冷漠。如果我们将整个“生态系统”比喻成海面上漂浮的冰山,我们所能看的到的只是露出水面的冰山一角,水面之下才是一个“庞然大物”。 提到服务,我们自然想到Web Service。但是传统意义上的Web Service却有点名不副实,因为支撑它的其实不是Web而是SOAP,承载一个Web Service甚至可以根本不需要Web。随着互联网的普及,互联网应用(尤其移动互联网应用)已经成为主流,“SOAP之重”已经越来越令我们无法承受,于是采用REST架构风格并直接采用Web进行通信的轻量级Web Service走进了我们的视野并登堂入室。为了与传统的基于SOAP的Web Service以示区别,我们将后者称为Web API。 很多人鼓吹SOAP已死,我个人对此持不同的看法。上面讲的“重”与“轻”都是不带任何感情色彩的中性词,至于优劣评价则决定于它们是否适合应用的场景。到目前为止,对于企业级应用之间的内部集成互联,我觉得传统的Web Service依然是最好的选择。传统Web Service应用的领域貌似在不断被Web API占据,但是后者并不能完全被视为前者的替代品,它只是让“踩过界”的Web Service退回到它应该坚守的领地。Web Service和Web API在各自适合的领域各司其职,使“路归路、桥归桥”是一种理想的状态。 Web Service和Web API的合理布局同样也体现在微软技术平台上。WCF在过去是唯一的选择,这是一个具有“SOAP”基因的通信平台,微软后来利用扩展让它提供了针对REST的支持。正因为如此,如果使用WCF来构建Web API的话,我们依然需要采用传统的编程方式,Web API的“简单、快捷”完全得不到体现。微软意识到在一个“重量级”通信框架上通过扩展实现“轻量级”的通信,还不如重新构建一个通信平台,于是ASP.NET Web API应运而生。
要精确地获取计算机的CPU使用率,可以使用第三方库,例如`OpenHardwareMonitor`。这个库可以读取计算机的各种硬件传感器数据,包括CPU使用率等信息。 以下是使用`OpenHardwareMonitor`库获取计算机的CPU使用率的示例代码: 1. 首先,需要安装`OpenHardwareMonitorLib`库。你可以使用NuGet包管理器或手动下载和安装该库。 2. 然后,在代码中添加对`OpenHardwareMonitorLib`命名空间的引用: ```csharp using OpenHardwareMonitor.Hardware; ``` 3. 然后,创建一个`Computer`对象,并调用`Open`方法以打开传感器: ```csharp var computer = new Computer(); computer.Open(); ``` 4. 接下来,使用`computer.Hardware`属性获取计算机上的所有硬件设备,并找到CPU: ```csharp var cpu = computer.Hardware.FirstOrDefault(h => h.HardwareType == HardwareType.CPU); if (cpu == null) { // 找不到CPU return; } ``` 5. 然后,调用`cpu.Update`方法以更新传感器数据,并使用`cpu.Sensors`属性获取CPU传感器列表。找到`Load`传感器,并获取其值: ```csharp cpu.Update(); var loadSensor = cpu.Sensors.FirstOrDefault(s => s.SensorType == SensorType.Load && s.Name == "CPU Total"); if (loadSensor == null) { // 找不到CPU使用率传感器 return; } float cpuUsage = loadSensor.Value ?? 0f; ``` 这个代码会获取CPU的总使用率,以百分比表示。`OpenHardwareMonitor`库还提供了许多其他硬件传感器数据,例如GPU温度、风扇速度等等。如果你需要获取这些数据,可以在硬件设备列表中查找相应的设备并获取其传感器列表。 需要注意的是,`OpenHardwareMonitor`库的性能可能会受到计算机硬件配置的影响,因此在某些情况下可能会比`PerformanceCounter`类更慢。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值