使用Process类启动默认程序打开文件:
在C#中,可以使用System.Diagnostics.Process类来启动系统默认的程序打开文件。这种方法在不同操作系统上通常有效,因为它依赖于操作系统的文件关联设置。
using System.Diagnostics;
Process.Start("filename.ext");
这段代码会使用默认的程序打开filename.ext文件。在Windows上,这可能是关联到.ext文件扩展名的程序,在macOS和Linux上,也会使用相应的默认程序
。
处理文件路径:
不同操作系统的文件路径格式不同。Windows使用反斜杠\作为路径分隔符,而Linux和macOS使用正斜杠/。为了编写跨平台的代码,可以使用Path类来处理文件路径:
using System.IO;
string path = Path.Combine("folder", "file.txt");
Path.Combine方法会根据运行的操作系统使用正确的路径分隔符
。
考虑文件权限:
不同操作系统对文件权限的处理也不同。在Linux和macOS上,你可能需要考虑文件的读/写权限。而在Windows上,文件权限通常不是打开文件的主要障碍。
Linux操作系统 以及windows操作系统打开文件 利用系统默认软件 / 指定软件
string filePath = Path.Combine(Application.StartupPath, "XXX.pdf");
if (OSDetector.IsLinux())
{
Process.Start("okular", filePath); // 指定软件
}
else
System.Diagnostics.Process.Start(filePath); // 用的比较多
Winform 使用 Spire.PDFViewer for .NET 查看 PDF 文档,以及 导入自定义控件
1、关于dll文件引用及工具箱控件添加
Step 1:下载Spire.PDFViewer for .NET后,解压安装到指定路径。
Step 2:安装后,将安装路径下的Bin文件夹中的Spire.PdfViewer.Forms.dll文件引用至WinForm程序。如下图:
Step 3:添加控件到工具箱。打开工具箱,在工具箱空白部分点击鼠标右键,选择“添加选项卡”,命名选项卡为“PDFViewer”;完成添加选项卡后,鼠标右键点击该选项卡,选择“选择项”,打开“选择工具箱项”-点击“浏览”-选择安装路径下Bin文件夹中的Spire.PdfViewer.Forms.dll –点击“打开”-“确定”,完成控件添加。
然后 创建一个 自定义控件 导入 这玩意就好了
导入文档参考:大佬的链接