netcore 将图片转为pdf上传

private static string GetImageUrl(SaveWeldListInput model)
{
var fileUrl = model.ProcedureFiles[0].File_Url;
//获取文件扩展名
string extension = Path.GetExtension(fileUrl);
string filePathDic = "";
if (extension == ".pdf")
{
var pdfFullUrl = $"{model.HostEnvironmentRootPath}/wwwroot/{fileUrl}";
var strList = fileUrl.Split('.');
var imageFileUrl = strList[0];
filePathDic = $"{imageFileUrl}.jpg";
var path = $"{model.HostEnvironmentRootPath}/wwwroot/{filePathDic}";
PDFConvertToJPG(pdfFullUrl, path);
}
else
filePathDic = fileUrl;
return filePathDic;
}

/// <summary>
/// PDF转JPG(PdfiumViewer)
/// </summary>
/// <param name="inFilePath">输入物理路径(E:\\pdf\\test.pdf)</param>
/// <param name="outFilePath">输出物理路径(E:\\img\\test.jpg)</param>
public static void PDFConvertToJPG(string inFilePath, string outFilePath)
{
using (var document = PdfiumViewer.PdfDocument.Load(inFilePath))
{
var pageCount = document.PageCount;
for (int i = 0; i < pageCount; i++)
{
var dpi = 300;
using (var image = document.Render(0, dpi, dpi, PdfRenderFlags.CorrectFromDpi))
{
var encoder = ImageCodecInfo.GetImageEncoders()
.First(c => c.FormatID == ImageFormat.Jpeg.Guid);
var encParams = new EncoderParameters(1);
encParams.Param[0] = new EncoderParameter(
System.Drawing.Imaging.Encoder.Quality, 10L);

image.Save(outFilePath, encoder, encParams);
}
}
}
}

posted @ 2024-03-02 16:26  爱吃糖的宝宝  阅读(21)  评论(0编辑  收藏  举报