using PdfiumViewer; using System.Drawing.Imaging; using System.Drawing; using System; using System.Linq; using System.Threading.Tasks; using System.IO; using System.Collections.Generic; namespace Shentun.Utilities { public class PdfiumConverter { public static List ConvertPdfToImages(string pdfBase64) { List base64Images = new List(); //try //{ if (pdfBase64.Contains("base64,")) { pdfBase64 = pdfBase64.Substring(pdfBase64.IndexOf(",") + 1); } // 将Base64字符串转换为字节数组 byte[] pdfBytes = Convert.FromBase64String(pdfBase64); Stream pdfStream = new MemoryStream(pdfBytes); using var document = PdfDocument.Load(pdfStream); for (int i = 0; i < document.PageCount; i++) { // 将页面转换为图片 using (Image image = document.Render(i, 600, 600, true)) { // 将图片转换为Base64字符串 string base64 = ImageToBase64(image, ImageFormat.Jpeg); base64Images.Add(base64); } } //} //catch (Exception ex) //{ //} return base64Images; } private static string ImageToBase64(Image image, ImageFormat format) { using (MemoryStream ms = new MemoryStream()) { image.Save(ms, format); byte[] imageBytes = ms.ToArray(); return Convert.ToBase64String(imageBytes); } } } }