thumbnail(资源管理器 缩略图)
一、环境准备
安装 Visual Studio 2022
下载 iTextSharp.dll(可通过 NuGet 获取)
确保安装了.NET Framework 4.7.2 或更高版本
以下是多格式,在资源管理器下预览的缩略图。
二、创建项目
打开 VS2022,创建新的 "类库 (.NET Framework)" 项目
项目名称建议为 "PdfThumbnailProvider"
选择.NET Framework 4.7.2
三、项目设置
右键项目 -> 属性
在 "应用程序" 标签页,点击 "程序集信息"
勾选 "使程序集 COM 可见"
在 "生成" 标签页,勾选 "为 COM 互操作注册"
确保 "目标平台" 设置为 x64(重要,64 位系统需要 64 位组件)
四、添加引用
右键 "引用" -> "管理 NuGet 包"
搜索并安装 iTextSharp
添加系统引用:
System.Drawing
WindowsBase
右键 "添加引用" -> "COM" -> 勾选 "Microsoft Windows Shell Controls and Automation"
五、完整代码实现
PDF缩略图提供程序COM组件
部分代码:
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Runtime.InteropServices;
using Microsoft.WindowsAPICodePack.Shell;
using iTextSharp.text.pdf;
using iTextSharp.text;// 注册COM组件的GUID
[Guid("YOUR-GUID-HERE")] // 请生成自己的GUID
[ClassInterface(ClassInterfaceType.None)]
[ComVisible(true)]
public class PdfThumbnailProvider : IThumbnailProvider
{// 实现IThumbnailProvider接口public void GetThumbnail(uint cx, out IntPtr phbmp, out WTS_ALPHATYPE pdwAlpha){phbmp = IntPtr.Zero;pdwAlpha = WTS_ALPHATYPE.WTSAT_UNKNOWN;try{// 获取文件路径strin