如何通过 C# 实现 PowerPoint 转 HTML 格式 - 完整指南
在企业办公、在线教育等场景中,将 PowerPoint 演示文稿(PPT/PPTX)转换为 HTML 格式是常见需求——HTML 文件无需安装专用软件即可在浏览器中打开,且易于嵌入网页或跨平台分享。本文将介绍如何通过 C# 结合 Free Spire.Presentation for .NET 组件快速实现这一转换。
环境准备
Free Spire.Presentation for .NET 是一款免 ...
OpenVINO™ C# API 3.2 全新发布,基于 AI 大模型的全栈重构,全面进化!
OpenVINO™ C# API 3.2 全新发布,基于 AI 大模型的全栈重构,全面进化!
📖 前言
本文档简介
本文档是 OpenVINO™ C# API 3.2 版本的官方升级说明,全面介绍了新版本相比老版本的重大改进和创新特性。无论您是正在使用老版本的老用户,还是正在评估技术选型的新用户,本文档都将帮助您全面了解这个基于 AI 大模型深度优化 ...
推荐一款基于.NET和百度飞桨的OCR识别组件
随着AI技术的发展,图像识别技术应用越来越广泛,OCR(Optical Character Recognition,光学字符识别)技术做为图像识别技术的应用场景之一,广泛的应用于零售,政务,工业,金融等领域,如车牌号识别,身份证识别等。今天以一个简单的小例子,简述在.NET开发中,如何利用第三方OCR组件库进行图像文字识别,仅供学习分享使 ...
手搓一个数字类的变量的类型检查器
正在手搓 NumType 类型检查器, 它可以通过输入文本信息来判断这个文本它可以转换成什么类型, 挺复杂的, 在此过程了解了一些我没有见过的变量类型, 然后这两天又是为着边境检查, 选取范围感到苦恼, 不过现在已经把基础代码给写好了, 勉强能用, 暂时没有出现什么大Bug (但愿吧).
/// <summary>
/// 判断数字类型
/// </summar ...
dotnet 在新进程执行某段委托的方法
大概的 API 设计如下:
RemoteExecutor.Invoke(() =>
{
// 在这里编写在新进程执行的委托代码
});
要在 Main 函数里面调用 RemoteExecutor.TryHandle 处理命令行,因为新进程里面执行的逻辑本身就需要 Main 函数参与。标准预期写法如下
if (RemoteExecutor.TryHandle(args))
{
return;
}
核心实现原理就是反射获 ...
Zenith.NET v0.0.6 发布 🧧 — API 大幅精简,为 Metal 后端铺路
大家好!我是 @qian-o,Zenith.NET v0.0.6 正式发布了!
这个版本的核心主题是 精简:为了让 API 更好地适配即将上线的 Metal 后端,我们对资源绑定模型、着色器阶段和光线追踪方案做了一次大规模的重构和瘦身。
📦 GitHub 仓库:https://github.com/qian-o/Zenith.NET
📚 文档站点:https://qian-o.github.io/Zenith.NET
...
【EF Core】实体追踪——Entry中记录的数据
这回终于可以 Free 了,刚好快过年了,工厂的机器也很人性化地坏了,需要供应商维修,不用测试项目了。所以老周也回家快活了几天。其实他们自己有开发团队,小改小测的他们完全可以自己弄,非要找老周麻烦。
咱们接着上次的话题聊,上次老周给大伙伴们胡诌了一番有关实体状态追踪的基础。这一次咱们把注意力放到名为 Entity ...
从递归到极致优化:树结构构建的性能演进
从递归到极致优化:树结构构建的性能演进之路
一次简单的代码优化,性能提升 超千倍!本文通过实测数据,揭示树结构构建中隐藏的性能陷阱,并给出最佳实践。
📖 前言
在日常开发中,我们经常需要处理树形结构的数据:组织架构、菜单导航、商品分类、文件目录……这些场景都需要将扁平的数据库记录转换为层级树结构。
今 ...
记调试 RX-Explorer-WAS 文件管理器 UI 未响应问题
开始之前,先提供 RX-Explorer-WAS 的安装地址,通过应用商店即可安装: https://apps.microsoft.com/detail/9pdn2q3dcqs3
在我设备上复现打开黑屏问题的界面如下图
此时非常快速的第一反映就是打开 Visual Studio 进行附加调试。有开发环境的机器上,就不要去打 DUMP 分析了,通过 DUMP 分析是不如直接用开发机的 Visual ...
dotnet Vortice 无需交换链与 DirectComposition 对接渲染层
在 DirectComposition 里面提供了 Commit 机制,一次 Commit 的所有内容都能在相同的一帧在屏幕显示出来,如此可以非常方便地完成渲染对齐任务
通过 WaitForCommitCompletion 方法可以等待 Commit 内容完成渲染,此方法作用相当于等待交换链写法的等待垂直同步实现
在 上一篇博客 中,采用了传统的 DXGI 交换链与 DirectCom ...
C# 如何将 TXT 文本转换为 PDF
在日常开发和办公场景中,将纯文本(TXT)文件转换为 PDF 格式是一项常见需求。PDF 格式具备跨平台、样式固定、不易被篡改等特点,而 TXT 格式则更侧重于内容的轻量存储。二者之间的转换可以兼顾内容的可读性与文档的规范性与便携性。本文将介绍如何通过 C# 和免费的 .NET 类库实现 TXT 到 PDF 的高效转换。
一、环境准备
1 ...
dotnet Vortice 通过 Angle 将 Skia 和 DirectX 对接
ANGLE 是谷歌开源的组件,提供将 OpenGL ES API 调用转换为实际调用 DirectX 引擎执行渲染的能力。详细请看: https://github.com/google/angle
整体的步骤是:
基础且通用地创建 Win32 窗口
初始化 DirectX 相关,包括创建 DirectX 工厂和 DirectX 设备,枚举显示适配器等
初始化 Angle 和与 DirectX 对接
开始之前,按 ...
Avalonia 简易对比不同的 Win32CompositionMode 的性能情况
测试代码非常简单,只是尝试修改一个控件的背景色,让界面不断更新而已
以下是 MainWindow.axaml 代码
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://s ...
对比 Avalonia 和 WPF 的渲染延迟
此测试发现了 WPF 的渲染非常跟输入,而 Avalonia 明显落后
在我的测试用例里面,特别让 Avalonia 窗口去接收输入,让 Avalonia 驱动 WPF 的界面。如此可以排除 Avalonia 的输入层带来的延迟。完全只对比 Avalonia 和 WPF 的渲染层
详细请参阅: https://github.com/AvaloniaUI/Avalonia/discussions/20562
实验情况如下图 ...
推荐 .NET 8.0 开源项目伪微服务框架
前言
嘿,小伙伴们!最近看到了一个 .NET 8.0 的小项目伪微服务框架,非常适合想要快速搭建小型应用项目或是想要学习.NET 8.0及新的技术,但又不知道从哪里学起的朋友。这个框架可以帮助我们简化开发流程,同时还能适应不断变化的需求。
它虽然简化了很多复杂的微服务特性,但仍保留了关键的微服务理念,让我们可以专注于业 ...
.NET 中如何快速实现 List 集合去重?
前言
在数据处理中,去除集合中的重复元素是一个常见的需求。.NET 6 和 .NET 7 引入了 DistinctBy 方法,这是一个非常实用的新特性,可以方便地根据指定的键对集合进行去重。
本文将详细介绍 DistinctBy 方法的使用,并通过具体的案例来展示其在实际开发中的应用。
正文
1、DistinctBy 方法
DistinctBy 方法允许我们在 LINQ ...
【电子行业案例】借助LightningChart 实现高精密电子制造数据实时可视化
在高精密电子制造领域,数据实时可视化对于生产效率、质量控制及快速响应能力至关重要。近期,全球领先的存储设备制造企业 Western Digital 在其生产线上引入了高性能图表可视化引擎 LightningChart 的可视化方案(包含 JS、.NET 及开发工具包),显著提升了生产过程的数据洞察能力,优化了实时监控与 ...
C# 设置 Word 文档背景颜色/背景图
在 .NET 开发场景中,对 Word 文档进行自动化格式处理是常见需求,其中设置文档背景(颜色或图片)是提升文档视觉呈现的基础操作。Free Spire.Doc for .NET 作为一款免费的 Word 文档操作组件,无需依赖 Microsoft Office 即可完成 Word 文档的创建、编辑与格式调整,本文将介绍如何通过该组件在 C# 中为 Word 文档设置背景 ...
死锁是怎么发生的,举个简单的例子
死锁的示例
下面就是一个会死锁的示例代码:
// 异步死锁示例 - 不使用 TaskScheduler,仅用多个 Task 互相等待
Console.WriteLine("=== 多 Task 互相等待死锁 ===\n");
// 两个任务互相用 .Result 等待对方完成 → 死锁
var tcsA = new TaskCompletionSource<int>();
var tcsB = new TaskCompletionSource<int>();
var ...
将SignalR移植到Esp32—让小智设备无缝连接.NET功能拓展MCP服务
前言
这段时间迷上了手搓Esp32的小智聊天机器人,也用.NET为小智AI开发了一些MCP转接平台和MCP服务。小智ESP32本身就具备MCP能力,可以调用本地MCP工具和服务端MCP工具,并将结果返回给设备,这个功能一直都有。
如果你有手搓Esp32的硬件玩具打算,可以关注我的B站账号(绿荫阿广)https://space.bilibili.com/25228512
带 ...