C# PDF文件转图片

摘要:
Ten=10}publicstaticclassPDFTranImgHelp{///<paramname=“definition”>Directory.Exists(imageOutputPath)){Directory.CreateDirectory(imageOutoutPath);}//validatepageNumif(startPageNum<

1、使用的插件O2S.Components.PDFRender4NET

C# PDF文件转图片第1张C# PDF文件转图片第2张
public enum Definition
    {
        One = 1, Two = 2, Three = 3, Four = 4, Five = 5, Six = 6, Seven = 7, Eight = 8, Nine = 9, Ten = 10
    }
    public static class PDFTranImgHelp
    {
        /// <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, int startPageNum, int endPageNum, ImageFormat imageFormat, Definition definition)
        {
            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
            for (int i = startPageNum; i <= endPageNum; i++)
            {
                Bitmap pageImage = pdfFile.GetPageImage(i - 1, 56 * (int)definition);
                pageImage.Save(imageOutputPath + imageName + i.ToString() + "." + imageFormat.ToString(), imageFormat);
                pageImage.Dispose();
            }
            pdfFile.Dispose();
        }
View Code

dll下载地址:https://files.cnblogs.com/files/yhnet/O2S.Components.PDFRender4NET.dll.7z

免责声明:文章转载自《C# PDF文件转图片》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇安卓构建内核(转载待查)Java中如何解决double和float精度不准的问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[大数据学习研究]1.在Mac上利用VirtualBox搭建本地虚拟机环境

  1. 大数据和Hadoop 研究学习大数据,自然要从Hadoop开始。 Hadoop不是一个简单的软件,而是有一些列软件形成的生态,其核心思想来自Google当初发布的三篇论文,后来做了开源的实现, 谷歌的实现和Hadoop的实现大致可以做这样的对应: Google Map/Reduce <---> Hadoop MapReduceGoog...

使用XDocReport将HTML格式数据转换为Word

文档地址:https://github.com/opensagres/xdocreport/wiki/DocxReportingQuickStart 本文采用XDocReport集合Freemaiker进行处理 1. 引入Maven依赖: <dependency> <groupId>fr.opensagres.xdocre...

asterisk 基本配置

Asterisk译为星号(*)在很多应用中被用做通配符,Astrisk做为PBX系统的完美名称,原因之一是Asterisk可以连接数目庞大的接口类型,包括:  1模拟接接口,如你的电话线或模拟电话.   2数字线路,如T-1和E-1线路   3Voip协议,如SIP和IAX   目前正式版本是IAX2,但是IAX1的所有格式都已经停掉.所以当说到IAX都是...

oracle—排名函数与窗口函数

一、排名函数 1.rank()——跳跃排名 按照年龄进行排名; SQL> select * from employees ; EMPLOYEE_ID EMPLOYEE_NAME EMPLOYEE_POSITION EMPLOYEE_AGE EMPLOYEE_ADD EMPLOYEE_BIRTH ----------- ----...

怎么彻底关闭flash助手弹窗?

日常使用中,flash助手弹窗不胜其扰,天天推荐游戏,早看它不顺眼了,那么怎么彻底关闭flash助手弹窗呢?我认真分析了下,做了个教程 1.打开任务管理器,并打开服务  右键->属性->禁用->应用 经过这些操作,就可以彻底禁掉flash助手频繁弹窗,打扰正常工作了. 喜欢的点个赞或者评论下,搞定收工!...

spark+kafka 小案例

(1)下载kafka的jar包 http://kafka.apache.org/downloads spark2.1 支持kafka0.8.2.1以上的jar,我是spark2.0.2,下载的kafka_2.11-0.10.2.0 (2)Consumer代码 package com.sparkstreaming import org.apache.spa...