把Pdf文件转成一张png或jpg图片如下步骤:
1、下载第三方Pdf读取控件PDFFile.
2、如果想转成一张图片则用下面代码:
<pre name="code" class="csharp">using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
namespace O2S.Components.PDFRender4NET.pdf2image
{
public static class Program
{
public enum Definition
{
One = 1, Two = 2, Three = 3, Four = 4, Five = 5, Six = 6, Seven = 7, Eight = 8, Nine = 9, Ten = 10
}
/// <summary>
/// 将PDF文档转换为图片的方法
/// </summary>
/// <param name="pdfInputPath">PDF文件路径</param>
/// <param name="imageOutputPath">图片输出路径</param>
/// <param name="imageName">生成图片的名字</param>
/// <param name="startPageNum">从PDF文档的第几页开始转换</param>
/// <param name="endPageNum">从PDF文档的第几页开始停止转换</param>
/// <param name="imageFormat">设置所需图片格式</param>
/// <param name="definition">设置图片的清晰度,数字越大越清晰</param>
public static void ConvertPDF2Image(string pdfInputPath, string imageOutputPath,string imageName, ImageFormat imageFormat, Definition definition)
{
PDFFile pdfFile = null;
try
{
pdfFile = PDFFile.Open(pdfInputPath);
if (!Directory.Exists(imageOutputPath))
{
Directory.CreateDirectory(imageOutputPath);
}
Bitmap bSize = pdfFile.GetPageImage(0, 50 * (int)definition);
Bitmap bitMap = new Bitmap(bSize.Width, bSize.Height * (pdfFile.PageCount));
//新建一个画板
Graphics gs = Graphics.FromImage(bitMap);
//设置高质量插值法
gs.InterpolationMode = InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
gs.SmoothingMode = SmoothingMode.HighQuality;
gs.Clear(Color.White);
for (int i = 0; i < pdfFile.PageCount; i++)
{
Bitmap bm = pdfFile.GetPageImage(i, 50 * (int)definition);
//在指定位置画图
gs.DrawImage(bm, new Point(0, i * bm.Height));
bm.Dispose();
}
bitMap.Save("E:\\pdf\\pdfImg\\5.jpg", imageFormat);
gs.Dispose();
pdfFile.Dispose();
}
catch (Exception ex)
{
pdfFile.Dispose();
throw ex;
}
}
public static void Main(string[] args)
{
ConvertPDF2Image("E:\\pdf\\1383812619357.pdf", "E:\\pdf\\pdfImg\\", "1384174318423", ImageFormat.Jpeg, Definition.Two);
}
}
}
该博客详细介绍了如何将Pdf文件转换成单张png或jpg图片,主要步骤包括下载PDFFile控件,并提供了转换代码示例。
2538





