您可以使用第三方库如 iTextSharp 或 PdfSharp 来实现将 PDF 转换为图片的功能。以下是使用 iTextSharp 的示例代码:

using iTextSharp.text.pdf;
using iTextSharp.text;
using System.Drawing.Imaging;

public void ConvertPdfToImage(string pdfFilePath, string outputFolder)
{
    // 创建一个 Document 对象
    Document document = new Document();

    // 创建 PdfReader 对象
    PdfReader reader = new PdfReader(pdfFilePath);

    // 获取 PDF 中页面数量
    int pages = reader.NumberOfPages;

    // 循环遍历每一页
    for (int pageNumber = 1; pageNumber <= pages; pageNumber++)
    {
        // 获取页面的大小
        Rectangle pageRectangle = reader.GetPageSizeWithRotation(pageNumber);

        // 创建一个 Bitmap 对象
        Bitmap bitmap = new Bitmap((int)pageRectangle.Width, (int)pageRectangle.Height);

        // 创建一个 Graphics 对象
        Graphics graphics = Graphics.FromImage(bitmap);

        // 设置 Graphics 对象的属性
        graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

        // 创建 PdfReaderContentParser 对象
        PdfReaderContentParser parser = new PdfReaderContentParser(reader);

        // 创建 ImageRenderListener 对象
        ImageRenderListener listener = new ImageRenderListener(graphics, ImageFormat.Jpeg);

        // 解析 PDF 页面并渲染到 Graphics 对象
        parser.ProcessContent(pageNumber, listener);

        // 保存渲染后的图片到输出文件夹中
        string outputFilePath = Path.Combine(outputFolder, $'page_{pageNumber}.jpg');
        bitmap.Save(outputFilePath, ImageFormat.Jpeg);

        // 释放资源
        graphics.Dispose();
        bitmap.Dispose();
    }

    // 释放资源
    reader.Close();
    document.Close();
}

请注意,此示例代码仅转换 PDF 的第一页。如果您需要转换所有页面,请在循环中遍历所有页面。此外,您还需要包括 iTextSharp 和其依赖项的引用。

C# .NET Core 5.0 使用 iTextSharp 将 PDF 转换为图片

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

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