C# .NET Core 5.0 使用 iTextSharp 将 PDF 转换为图片
您可以使用第三方库如 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 和其依赖项的引用。
原文地址: https://www.cveoy.top/t/topic/okza 著作权归作者所有。请勿转载和采集!