SkiaSharp PDF 转图片:详细指南和代码示例
SkiaSharp 是一个 .NET 平台下的 2D 图形库,它支持读取 PDF 文件并将其转换成图片。下面是一个简单的示例代码,演示如何使用 SkiaSharp 将 PDF 文件转换为图片:
using SkiaSharp;
using SkiaSharp.Views.Desktop;
using System.IO;
// 读取 PDF 文件
using (var document = SKDocument.CreatePdf(Path.Combine('path', 'to', 'file.pdf'))) {
// 遍历所有页面
for (int i = 0; i < document.PageCount; i++) {
// 加载当前页面
using (var page = document.GetPage(i)) {
// 获取页面大小
var pageSize = page.Info.Size;
// 创建位图
using (var bitmap = new SKBitmap((int)pageSize.Width, (int)pageSize.Height)) {
// 创建画布
using (var canvas = new SKCanvas(bitmap)) {
// 将页面绘制到画布上
page.Render(canvas);
// 将位图保存为图片文件
using (var image = SKImage.FromBitmap(bitmap)) {
using (var output = File.OpenWrite(Path.Combine('path', 'to', $'page{i + 1}.png'))) {
image.Encode(SKEncodedImageFormat.Png, 100).SaveTo(output);
}
}
}
}
}
}
}
在上面的示例代码中,我们首先使用 SKDocument.CreatePdf 方法读取 PDF 文件,然后遍历所有页面,加载每个页面并创建位图和画布。然后将页面绘制到画布上,并将位图保存为图片文件。在保存图片时,我们使用 SKImage.Encode 方法将位图编码为 PNG 格式,并将其保存到文件中。
需要注意的是,SkiaSharp 在处理 PDF 文件时需要依赖第三方库 Poppler。因此,在使用 SkiaSharp 读取 PDF 文件前,需要先安装 Poppler。
安装 Poppler:
- Windows: 从 https://poppler.freedesktop.org/releases/ 下载预编译好的二进制文件,然后将其添加到 PATH 环境变量中即可。
- Linux: 使用系统包管理器安装 Poppler。例如,在 Ubuntu 上可以使用
sudo apt-get install poppler-utils命令安装。
完成 Poppler 的安装后,您就可以使用 SkiaSharp 将 PDF 文件转换为图片了。
原文地址: https://www.cveoy.top/t/topic/npaw 著作权归作者所有。请勿转载和采集!