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 文件转换为图片了。

SkiaSharp PDF 转图片:详细指南和代码示例

原文地址: https://www.cveoy.top/t/topic/npaw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录