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;
    }
    
            
  • 相关阅读:
    paip.提升性能---- 网站并发数的总结.txt
    paip.mysql 5.6 安装总结
    UIView上添加了一个按钮和一个单击手势的事件相应,互相不影响的处理方法。。
    paip.mysql备份慢的解决
    paip.输入法编程---词频顺序order by py
    paip.超实用 360浏览器最近频繁奔溃解决流程.
    hdu 4044 GeoDefense (树形dp | 多叉树转二叉树)
    给定一个字符串,仅由a,b,c 3种小写字母组成。
    汉语-词语:心境2
    汉语-词语:休咎
  • 原文地址:https://www.cnblogs.com/dyhao/p/12653765.html
Copyright © 2011-2022 走看看