在linux下使用OOxml Validator校验Office文档

2022-01-24 15:50:26 浏览数 (1)

在linux下使用OOxml Validator校验Office文档

由于某些原因,需要在linux下验证Office文档的正确性,所以进行了一些校验工具的调研,vscode上有OOxml Validator插件,本质也是调用的微软的Document.OpenXml SDK, 在windows上有微软提供的安装程序安装运行,可以去官网下载,linux以及macos上暂时没发现有相应的工具可以使用,好在macos和linux上都有dotnet的支持,为linux上实现调用C#库提供了条件

linux下dotnet开发环境的安装

本文基于CentOs8 其他版本的安装方法可以参照微软官网

  1. 安装SDK.NET SDK 使你可以开发 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时
代码语言:shell复制
sudo dnf install dotnet-sdk-5.0
  1. 安装运行时通过 ASP.NET Core 运行时,可以运行使用 .NET 开发且未提供运行时的应用。 以下命令将安装 ASP.NET Core 运行时,这是与 .NET 最兼容的运行时
代码语言:shell复制
sudo dnf install aspnetcore-runtime-5.0
  1. 安装runtime作为 ASP.NET Core 运行时的一种替代方法,你可以安装不包含 ASP.NET Core 支持的 .NET 运行时
代码语言:shell复制
sudo dnf install dotnet-runtime-5.0

安装成功后,使用dotnet --info 可以查看到已经安装的dotnet信息, 以下已经成功安装了dotnet5.0.2版本

代码语言:shell复制
.NET SDK (reflecting any global.json):
 Version:   5.0.102
 Commit:    71365b4d42

Runtime Environment:
 OS Name:     tencentos
 OS Version:  3.2
 OS Platform: Linux
 RID:         centos.8-x64
 Base Path:   /usr/lib64/dotnet/sdk/5.0.102/

Host (useful for support):
  Version: 5.0.2
  Commit:  cb5f173b96

.NET SDKs installed:
  5.0.102 [/usr/lib64/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 5.0.2 [/usr/lib64/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 5.0.2 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download

linux下使用dotnet创建工程

所有的命令可参考微软官网 .Net CLI

代码语言:shell复制
mkdir ooxml_validator & cd ooxml_validator
dotnet new OOXmlValidator

执行后会有OOXmlValidator.csproj文件生成,这个文件是dotnet工程的配置文件

代码语言:text复制
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
    <AssemblyName>OOXmlValidator</AssemblyName>
    <Optimize>true</Optimize>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
  </ItemGroup>
</Project>

PropertyGroup 代表了工程的属性设置

PackageReference 代表了工程的依赖

tips: 通过nuget来管理后,PackageReference已经不需要手动来管理

全文地址 : https://pinkcle.com/dotnet/linux.html

0 人点赞