/// 转图片
private void button2_Click(object sender, EventArgs e)
{
string pdfurl = "C:\Users\Administrator\Desktop\pdfceshi.pdf";
string imageurl = "C:/Users/Administrator/Desktop/222/";
//pdf位置 图片存入位置 生成图片的名称 要转换开始页,结束页 图片类型
Class2.PdfToPng(pdfurl , imageurl, "1PB00801-0001200", 1, 6, ImageFormat.Jpeg);
}
using O2S.Components.PDFRender4NET;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
///
/// 将PDF转换为图片的方法需要引用以上dll文件
///
/// PDF文件路径
/// 图片输出路径
/// 生成图片的名字
/// 从PDF文档的第几页开始转换
/// 从PDF文档的第几页开始停止转换
/// 设置所需图片格式
public static void PdfToPng(string pdfInputPath, string imageOutputPath,
string imageName, int startPageNum, int endPageNum, ImageFormat imageFormat)
{
**//这里 PDFFile引用O2S.Components.PDFRender4NET.dll**
PDFFile pdfFile = PDFFile.Open(pdfInputPath);
if (!Directory.Exists(imageOutputPath))
{
Directory.CreateDirectory(imageOutputPath);
}
// validate pageNum
if (startPageNum <= 0)
{
startPageNum = 1;
}
if (endPageNum > pdfFile.PageCount)
{
endPageNum = pdfFile.PageCount;
}
if (startPageNum > endPageNum)
{
int tempPageNum = startPageNum;
startPageNum = endPageNum;
endPageNum = startPageNum;
}
// start to convert each page
if (endPageNum == 1)
{
// 引用 Drawing;
Bitmap pageImage = pdfFile.GetPageImage(1 - 1, 56 * 5);
pageImage.Save(imageOutputPath + imageName + "." + imageFormat.ToString(), imageFormat);
pageImage.Dispose();
}
else
{
for (int i = startPageNum; i <= endPageNum; i++)
{
Bitmap pageImage = pdfFile.GetPageImage(i - 1, 56 * 5);
if (i == 1)
{
pageImage.Save(imageOutputPath + imageName + "." + imageFormat.ToString(), imageFormat);
}
else
{
int ii = i-1;
pageImage.Save(imageOutputPath + imageName + "(" + ii.ToString() + ")" + "." + imageFormat.ToString(), imageFormat);
}
pageImage.Dispose();
}
}
pdfFile.Dispose();
}
该代码片段展示了如何使用PDFRender4NET库将指定PDF文件中的页面范围(1到6)转换为JPEG格式的图片,并将结果保存到指定路径。它包括了对页码的验证和图片命名的逻辑。
849

被折叠的 条评论
为什么被折叠?



