You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							1.9 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							1.9 KiB
						
					
					
				
								using Spire.Pdf;
							 | 
						|
								using System;
							 | 
						|
								using System.Drawing;
							 | 
						|
								using System.Drawing.Imaging;
							 | 
						|
								using System.IO;
							 | 
						|
								using System.Linq;
							 | 
						|
								
							 | 
						|
								namespace ShenTun.Ecg.Common
							 | 
						|
								{
							 | 
						|
								    public class PdfHelper
							 | 
						|
								    {
							 | 
						|
								        /// <summary>
							 | 
						|
								        /// 将pdf文件转换为图片文件
							 | 
						|
								        /// </summary>
							 | 
						|
								        /// <param name="stream">pdf文件流</param>
							 | 
						|
								        /// <param name="pageIndex">要转换的pdf页索引(从0开始)</param>
							 | 
						|
								        /// <param name="dpiX">dpi</param>
							 | 
						|
								        /// <param name="dpiY">dpi</param>
							 | 
						|
								        /// <param name="mimeType">mime类型</param>
							 | 
						|
								        /// <returns></returns>
							 | 
						|
								        public static Stream PdfToImage(Stream stream, int pageIndex = 0, int dpiX = 300, int dpiY = 300, string mimeType = "image/jpg")
							 | 
						|
								        {
							 | 
						|
								            using (PdfDocument document = new PdfDocument())
							 | 
						|
								            {
							 | 
						|
								                document.LoadFromStream(stream);
							 | 
						|
								
							 | 
						|
								                // 图片类型选择为Bitmap
							 | 
						|
								                Spire.Pdf.Graphics.PdfImageType pdfImageType = Spire.Pdf.Graphics.PdfImageType.Bitmap;
							 | 
						|
								                // 将pdf中指定的页码转换为图片对象并返回
							 | 
						|
								                using (Image image = document.SaveAsImage(pageIndex, pdfImageType, dpiX, dpiY))
							 | 
						|
								                {
							 | 
						|
								                    // 获取相应的编码器
							 | 
						|
								                    ImageCodecInfo codecInfo = (
							 | 
						|
								                        from item in ImageCodecInfo.GetImageEncoders()
							 | 
						|
								                        where mimeType.Equals(item.MimeType)
							 | 
						|
								                        select item
							 | 
						|
								                    ).FirstOrDefault();
							 | 
						|
								
							 | 
						|
								                    EncoderParameters encoderParams = new EncoderParameters(1);
							 | 
						|
								                    encoderParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								                    MemoryStream result = new MemoryStream();
							 | 
						|
								                    image.Save(result, codecInfo, encoderParams);
							 | 
						|
								                    result.Position = 0;
							 | 
						|
								
							 | 
						|
								                    return result;
							 | 
						|
								                }
							 | 
						|
								            }
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								}
							 |