Pdfium.Net.Free 添加 bblanchon.PDFium nuget方式
1.PdfiumViewer组件扩展(Pdfium.Net.Free)--概述2.PdfiumViewer组件扩展(Pdfium.Net.Free)--快速入门3.PdfiumViewer组件扩展(Pdfium.Net.Free)--PDF预览器框选4.PdfiumViewer组件扩展(Pdfium.Net.Free)--打开大文件处理5.PdfiumViewer组件扩展(Pdfium.Net.Free)--加载字体6.PdfiumViewer组件扩展(Pdfium.Net.Free)--创建字符子集7.PdfiumViewer组件扩展(Pdfium.Net.Free)--添加文本8.PdfiumViewer组件扩展(Pdfium.Net.Free)--添加图片9.PdfiumViewer组件扩展(Pdfium.Net.Free)--添加水印10.PdfiumViewer组件扩展(Pdfium.Net.Free)--删除或编辑pdf内容11.PdfiumViewer组件扩展(Pdfium.Net.Free)--PDF操作12.PdfiumViewer组件扩展(Pdfium.Net.Free)--签名13.PdfiumViewer组件扩展(Pdfium.Net.Free)--注解14.PdfiumViewer组件扩展(Pdfium.Net.Free)--可视化编辑pdf15.什么是转换矩阵以及如何使用它
16.Pdfium.Net.Free 添加 bblanchon.PDFium nuget方式
介绍见上文
跨平台环境下 建议引用第三方pdfium依赖项
dotnet add package bblanchon.PDFium --version 135.0.7009
如下图
目录下会添加多平台的依赖包
然后添加如下代码即可,此代码会加载传入的pdfium
public static class PdfiumRegistrations { static string filePrefix = "runtimes"; public static void AddPdfiumResolver(this IServiceCollection services) { PdfiumResolver.Resolve += (s, e) => { var platform = e.OSPlatform; if (platform == OSPlatform.Windows) { e.PdfiumFileName = GetWindowsFileName(); } else if (platform == OSPlatform.Linux) { e.PdfiumFileName = GetLinuxFileName(); } else if (platform == OSPlatform.OSX) { e.PdfiumFileName = GetOSXFileName(); } else { throw new Exception($"pdfium not support OSPlatform{platform.ToString()}"); } }; } public static string GetWindowsFileName() { switch(RuntimeInformation.OSArchitecture) { case Architecture.X64: return Path.Combine(filePrefix, "win-x64", "native", "pdfium.dll"); case Architecture.X86: return Path.Combine(filePrefix, "win-x86", "native", "pdfium.dll"); case Architecture.Arm64: return Path.Combine(filePrefix, "win-arm64", "native", "pdfium.dll"); default: return ""; } } public static string GetLinuxFileName() { switch (RuntimeInformation.OSArchitecture) { case Architecture.X64: return Path.Combine(filePrefix, "linux-x64", "native", "libpdfium.so"); case Architecture.X86: return Path.Combine(filePrefix, "linux-x86", "native", "libpdfium.so"); case Architecture.Arm: return Path.Combine(filePrefix, "linux-arm", "native", "libpdfium.so"); case Architecture.Arm64: return Path.Combine(filePrefix, "linux-arm64", "native", "libpdfium.so"); default: return ""; } } public static string GetOSXFileName() { switch (RuntimeInformation.OSArchitecture) { case Architecture.X64: return Path.Combine(filePrefix, "osx-x64", "native", "libpdfium.dylib"); case Architecture.Arm64: return Path.Combine(filePrefix, "osx-arm64", "native", "libpdfium.dylib"); default: return ""; } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!