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 { /// /// 将pdf文件转换为图片文件 /// /// pdf文件流 /// 要转换的pdf页索引(从0开始) /// dpi /// dpi /// mime类型 /// 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; } } } } }