PDF是一种在我们日常工作学习中最常用到的文档格式之一,但常常也会因为文档的不易编辑的特点,在遇到需要编辑PDF文档内容或者转换文件格式的情况时让人苦恼。通常对于开发者而言,可选择通过使用组件的方式来实现PDF文档的编辑或者格式转换,因此本文将介绍如何通过使用免费版的组件Free Spire.PDF for .NET来转换PDF文档。这里介绍将PDF转换多种不同格式的图像文件格式,如PNG,BMP,EMF,TIFF等,同时,转换文档也分为转换全部文档和转换部分文档为图片两种情况,本文也将作进一步介绍。下面是实现转换功能的详述,供参考。

提示:下载安装该组件后,在项目中注意添加引用Spire.PDF.dll文件,如下图:

一、转换整个PDF文档为图片

(一)PDF转Png

usingSpire.Pdf;usingSystem.Drawing;namespacePDFtoImage1
{classProgram{static void Main(string[] args){//初始化一个PdfDocument类实例,并加载PDF文档PdfDocument doc = newPdfDocument();doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");//遍历PDF每一页for (int i = 0; i < doc.Pages.Count; i++){//将PDF页转换成Bitmap图形System.Drawing.Image bmp =doc.SaveAsImage(i);//将Bitmap图形保存为Png格式的图片string fileName = string.Format("Page-{0}.png", i + 1);bmp.Save(fileName, System.Drawing.Imaging.ImageFormat.Png);}}}
}

调试运行程序,生成文档。

运行结果:

Spire.PDF支持将PDF文档转换为多种图像格式的文件,可根据需要选择相应的文件格式,这里以Png为例。

(二) PDF转TIFF

usingSystem;usingSystem.Drawing;usingSystem.Drawing.Imaging;usingSpire.Pdf;namespaceSavePdfAsTiff
{classProgram{static void Main(string[] args){//创建一个PdfDocument类对象,并加载PDF文档PdfDocument document = newPdfDocument();document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");//调用方法SaveAsImage()将PDF文档保存为tiff格式JoinTiffImages(SaveAsImage(document), "result.tiff", EncoderValue.CompressionLZW);System.Diagnostics.Process.Start("result.tiff");}//自定义方法SaveAsImage()将PDF文档保存图像文件private staticImage[] SaveAsImage(PdfDocument document){Image[] images= newImage[document.Pages.Count];for (int i = 0; i < document.Pages.Count; i++){images[i]=document.SaveAsImage(i);}returnimages;}private static ImageCodecInfo GetEncoderInfo(stringmimeType){ImageCodecInfo[] encoders=ImageCodecInfo.GetImageEncoders();for (int j = 0; j < encoders.Length; j++){if (encoders[j].MimeType ==mimeType)returnencoders[j];}throw new Exception(mimeType + "mime type not found in ImageCodecInfo");}//自定义JoinTiffImages()方法,使用指定编码器和图像编码器参数将图像从pdf页面保存到tiff图像类型,。public static void JoinTiffImages(Image[] images, stringoutFile, EncoderValue compressEncoder){Encoder enc=Encoder.SaveFlag;EncoderParameters ep= new EncoderParameters(2);ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.MultiFrame);ep.Param[1] = new EncoderParameter(Encoder.Compression, (long)compressEncoder);Image pages= images[0];int frame = 0;ImageCodecInfo info= GetEncoderInfo("image/tiff");foreach (Image img inimages){if (frame == 0){pages=img;pages.Save(outFile, info, ep);}else{ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.FrameDimensionPage);pages.SaveAdd(img, ep);}if (frame == images.Length - 1){ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.Flush);pages.SaveAdd(ep);}frame++;}}}
}

运行结果:

二、 转换PDF指定页为图片( PDF转Png、Bmp、Emf)

usingSpire.Pdf;usingSystem.Drawing;usingSystem.Drawing.Imaging;namespacePDFtoImage
{classProgram{static void Main(string[] args){//实例化一个PdfDocument类对象,并加载PDF文档PdfDocument doc = newPdfDocument();doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");//调用方法SaveAsImage()将PDF第二页保存为Bmp格式Image bmp = doc.SaveAsImage(1);//调用另一个SaveAsImage()方法,并将指定页面保存保存为Emf、PngImage emf = doc.SaveAsImage(0, Spire.Pdf.Graphics.PdfImageType.Metafile);Image zoomImg= new Bitmap((int)(emf.Size.Width * 2), (int)(emf.Size.Height * 2));using (Graphics g =Graphics.FromImage(zoomImg)){g.ScaleTransform(2.0f, 2.0f);g.DrawImage(emf,new Rectangle(new Point(0, 0), emf.Size), new Rectangle(new Point(0, 0), emf.Size), GraphicsUnit.Pixel);}//命名保存的文件并打开bmp.Save("convertToBmp.bmp", ImageFormat.Bmp);System.Diagnostics.Process.Start("convertToBmp.bmp");emf.Save("convertToEmf.emf", ImageFormat.Emf);System.Diagnostics.Process.Start("convertToEmf.emf");zoomImg.Save("convertToZoom.png", ImageFormat.Png);System.Diagnostics.Process.Start("convertToZoom.png");}}
}

运行结果:

PS:更多关于PDF转换功能的介绍可参见以下博客内容:

  • XPS to PDF
  • HTML to PDF
  • PDF to Word
  • PDF to XPS
  • PDF to SVG

以上全部内容为本篇文章关于PDF转为多种图像文件的方法介绍,如果喜欢本文欢迎转载(转载请注明出处)。

感谢阅读!

转载于:https://www.cnblogs.com/Yesi/p/8423008.html

C# 如何将PDF转为多种图像文件格式(Png/Bmp/Emf/Tiff)相关推荐

  1. .net core image怎么保存_C# 将PDF转为多种Image图像文件格式(Png/Bmp/Emf/Tiff)

    PDF是一种在我们日常工作学习中最常用到的文档格式之一,但常常也会因为文档的不易编辑的特点,在遇到需要编辑PDF文档内容或者转换文件格式的情况时让人苦恼.通常对于开发者而言,可选择通过使用组件的方式来 ...

  2. Python PIL支持的图像文件格式

    Python PIL 支持的图像文件格式: BMP BUFR (identify only) CUR (read only) DCX (read only) EPS (write-only) FITS ...

  3. word文档转为PDF以及多种文档格式转换

    word文档转为PDF以及多种文档格式转换 项目地址:https://gitee.com/Jakewabc/word-of-pdf.git 相关案例: https://github.com/aspos ...

  4. 计算机的图形图像文件格式,常见图形图像文件格式.ppt

    常见图形图像文件格式 课程简介 1.多媒体技术的基本概念 2.多媒体特征与关键技术 3.多媒体计算机系统(软件和硬件) 4.常见多媒体文件格式 5.多媒体技术的发展与应用 6.多媒体作品设计的一般流程 ...

  5. 通过Python的pdfplumber库将pdf转为图片

    文章目录 前言 一.pdfplumber库是什么? 二.安装pdfplumber库 三.查看pdfplumber库版本 四.pdf素材 五.将pdf转为图片 1.引入库 2.定义pdf路径 3.打开P ...

  6. [VC6] 图像文件格式数据查看器

    在今天较少有情况需要去研究图像的文件格式,除非某些特定场合.在这里我还是去先做了这样一个小工具,目前已经支持展示BMP, ICO, CUR文件格式内容.实际上只要你知道一个文件的格式定义,你就可以去展 ...

  7. 计算机常用图像文件格式,常用的图像文件格式

    常用的图像文件格式介绍 常用的图像文件格式 图像的文件格式决定了图像数据的存储内容和存储方式,以及文件是否与一些应用程序兼容,另外还涉及到如何与其他程序交换数据等.我们现在来列举一些常用的图像文件格式 ...

  8. 如何将pdf转为word使用?

    如何将pdf转为word使用?为什么我们要将pdf文件转换成word再使用呢,因为pdf文件是一种比较稳定的文件格式,它不好编辑,转成word后我们就能随意对文件内容进行编辑修改.由于pdf文件越来越 ...

  9. 图形图像文件格式分类

    图形图像文件大致上可以分为两大类:一类为位图文件:另一类称为描绘类.矢量 类或面向对象图形图像文件.前者以点阵形式描述图形图像,后者是以数学方法描 述的一种由几何元素组成的图形图像.一般说来,后者对图 ...

最新文章

  1. 人工智能(5)---一文解读人工智能创业的5大坑
  2. 算法提高课-图论-负环-AcWing 904. 虫洞:spfa求负环裸题
  3. mysql like 中文版_MySQL使用like查询中文不准确的解决方法
  4. WebSocket数据加密——AES与RSA混合加密
  5. 用python+turtle画太阳花
  6. c 程序语言的溢出错误,C语言中溢出错误分析和防范
  7. 函数右括号错误! PreTranslateMessage(MSG* pMsg)未返回
  8. 团队管理的“五大核心要素”,非常重要!
  9. 谷歌地球桌面版Google earth pro连不上服务器,地点备份
  10. 计算机总出现安全警报如何处理,打开文件出现安全警告怎么取消?
  11. UI设计中个人页面设计攻略
  12. 计算机谱写的音乐,用WPSOffice谱写音乐简谱
  13. “会员制营销”和“EMAIL营销”培训方案
  14. uniapp nvue使用live-pusher组件以及腾讯云实现直播推拉流
  15. U盘随身带,工作任我行
  16. Java资料总结(全)
  17. uboot常用命令汇总
  18. 使用canvas在一张图片上动态显示文字信息,并支持图片下载。
  19. 房产税或促使二手房东抛售套现,成为压垮房价的最后一根稻草
  20. 八路抢答器(51单片机)

热门文章

  1. hdu 2005 第几天?(java)
  2. 会声会影12(X2)中文版入门视频教程(高清)
  3. mysql dts_DTS(数据传输)
  4. 《设计模式:可复用面向对象软件的基础》——创建型模式(2)(笔记)
  5. html 字体思源_思源雅黑字体包 7款 完整免费版
  6. 数字城市“质变”:青岛如何与华为云共谋高质量发展“新基准”
  7. 【转】‘压缩传感’(Compressive Sensing)引论--沙威
  8. 手撸一个springsecurity,了解一下security原理
  9. 自动化方向的EI期刊
  10. 初学docker第一周