• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#.netPDF文件预览

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

首先引用 O2S.Components.PDFRender4NET

( 云盘准备好了:链接:https://pan.baidu.com/s/16l5ktVGdJeqdW1_ceydm4g   提取码:xqmh)

然后在代码中引入

using O2S.Components.PDFRender4NET;

 

 

核心代码

//图片的清晰度,数字越大越清晰
public enum Definition
{
    One = 1, Two = 2, Three = 3, Four = 4, Five = 5, Six = 6, Seven = 7, Eight = 8, Nine = 9, Ten = 10
}

//判断文件是否存在
private bool FileIsExists(string path)
{
    if (System.IO.File.Exists(path))
        return true;
    else
        return false;
}


/// <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="definition">设置图片的清晰度,数字越大越清晰</param>
///// <param name="imageFormat">设置所需图片格式</param>       
private  string  ConvertPDF2Image(string pdfInputPath, string imageOutputPath,string imageName)
{
   //为了测试方便,把几个参数固定住
    //格式 
    ImageFormat imageFormat = ImageFormat.Jpeg;
    //清晰度
    Definition definition = Definition.Ten;
    //起止页码
    int startPageNum= 1;
    int endPageNum = 1;
    //生成图片名称
    //string imageName = "test";

    PDFFile pdfFile = PDFFile.Open(pdfInputPath);
    if (!Directory.Exists(imageOutputPath))
    {
        Directory.CreateDirectory(imageOutputPath);
    }
    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
  //多页循序产生图片
    string imageOutputRet = "";
    for (int i = startPageNum; i <= endPageNum; i++)
    {
        Bitmap pageImage = pdfFile.GetPageImage(i - 1, 56 * (int)definition);
        imageOutputRet = imageOutputPath + imageName  + i.ToString()+ "." + imageFormat.ToString();
        ////防止图片文件重复【暂不用】
        //int sign = 1;
        //while(this.FileIsExists(imageOutputRet))//存在
        //{
        //    imageOutputRet = imageOutputPath + imageName + i.ToString() +"_"+sign.ToString() + "." + imageFormat.ToString();
        //    sign++;
        //}               
        pageImage.Save(imageOutputRet, imageFormat);
        pageImage.Dispose();
    }
    pdfFile.Dispose();
    return imageOutputRet;
}

        

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ 的一些概念。发布时间:2022-07-13
下一篇:
C++ STL bind1st bind2nd bind 的使用发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap