zoukankan      html  css  js  c++  java
  • C# .net PDF文件预览

    首先引用 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;
    }
    
            
  • 相关阅读:
    mysql 开启sql执行日志
    opcache.revalidate_freq 修改无效
    centos7 maven3.6.3安装
    CentOS7.5下基于FTP服务的局域网yum源搭建
    Centos7——防火墙(Firewall)开启常见端口命令
    Linux系统通过firewall限制或开放IP及端口
    CentOS7 FTP安装与配置
    centos7 搭建个人-企业私有云盘-seafile
    Centos6-7下杀毒软件clamav的安装和使用 (已成功测试)-----转发
    tomcat 安全规范(tomcat安全加固和规范1)--转发
  • 原文地址:https://www.cnblogs.com/dyhao/p/12653765.html
Copyright © 2011-2022 走看看