iTextSharp.text.pdf和iTextSharp.text这两个包,PDF转jpg。
时间: 2024-09-25 19:07:42 浏览: 31
itextsharp-5.5.13.4.zip 提供pdf操作的相关接口等
在C#中使用iTextSharp库进行PDF转JPEG转换,你需要两个相关的NuGet包:`iTextSharp.text.pdf`和`iTextSharp.text`.
`iTextSharp.text.pdf` 包含了对PDF文件操作的核心功能,比如读取PDF页内容和结构。它允许你打开一个PDF文档,并获取其中的Page对象。
`iTextSharp.text` 则提供了丰富的文本处理和格式化工具,对于生成图像可能会用到一些间接。
以下是一个简单的示例代码片段,展示如何使用iTextSharp将PDF页转换为JPEG:
```csharp
using (var reader = new PdfReader(@"path_to_your_pdf_file.pdf"))
{
// 获取PDF的总页数
int pageCount = reader.NumberOfPages;
for (int i = 1; i <= pageCount; i++)
{
using (var document = new Document())
{
// 创建内存流来存储图像
var imageStream = new MemoryStream();
// 创建Graphics对象,指定输出格式为BMP
var graphics = Graphics.FromStream(imageStream);
graphics.PageUnit = PageUnit.Pixels;
// 加载PDF页并绘制到图形上
var page = reader.GetPage(i);
var pdfFormXObject = page.GetFormXObject();
pdfFormXObject.Rasterize(0, 0, graphics.Width, graphics.Height);
// 保存为JPEG
ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");
graphics.Save("page" + i + ".jpg", jpegCodec);
// 关闭Graphics
graphics.Dispose();
// 写入磁盘
imageStream.Seek(0, SeekOrigin.Begin);
File.WriteAllBytes("page" + i + ".jpg", imageStream.ToArray());
}
}
}
// 获取特定编码信息的辅助方法
private static ImageCodecInfo GetEncoderInfo(string mimeType)
{
var codecs = ImageCodecInfo.GetImageEncoders();
foreach (var codec in codecs)
{
if (codec.MimeType == mimeType)
return codec;
}
throw new FileNotFoundException($"No encoder found for MIME type: {mimeType}");
}
```
阅读全文