首页 > 其他分享 >netcore 将图片转为pdf上传

netcore 将图片转为pdf上传

时间:2024-03-02 16:33:21浏览次数:21  
标签:string netcore var pdf fileUrl 上传 model filePathDic

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);
}
}
}
}

标签:string,netcore,var,pdf,fileUrl,上传,model,filePathDic
From: https://www.cnblogs.com/eileenfdx/p/18048782

相关文章

  • [python]将多张图片合并为单个pdf文件
    前言最近有个个人需求是要把多个图片文件合并为一个PDF文件,这样方便用PDF阅读器连续看,避免界面点一下,只会图片放大。(比如看漫画)主要思路是先把单张图片转换成单个PDF文件,然后把PDF文件进行合并。原先是用WPS的转换工具做的,但WPS每次只能批量转换30张,如果有大量图片文件,用WPS就不......
  • 记录一次 nginx+php 项目接口普通请求正常,但是上传接口500的问题
    由于nginx是我用brew命令安装的,很多配置都是没有更改的,包括 client_max_body_size都是默认的,上传文件时超出最大限制且缓存目录 client_body_temp没有设置写入权限,所以导致接口500打开nginx.conf将下面的配置追加到 http的最后,然后重启服务brewservicesrestartnginx......
  • 《哈利波特》1-7册全集高清PDF
    《哈利·波特》简介《哈利·波特》这个系列的图书自1997年在英国问世以来,迄今在全世界已发行超过四亿多册,创造了出版史上的奇迹,全套共7册,分别是:《HarryPotterandthePhilosopher’sStone哈利波特与魔法石》、《HarryPotterandtheChamberofSecrets哈利波特与密室》、......
  • 【专题】中国智能汽车产业发展与展望报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34111随着新一轮技术革命和产业变革的推动,以及国家政策的大力扶持,电动化、智能化、网联化已经成为汽车行业发展的新趋势。在这种背景下,各大企业纷纷争夺数字化人才,以推动产品的规模化落地和商业化创新应用。阅读原文,获取专题报告合集全文,解锁文末53......
  • 【专题】2024中国ESG消费报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=35253原文出处:拓端数据部落公众号消费者展现出了既有不变的坚持也有变化的需求。他们一直期望企业或品牌能够通过可持续产品与他们进行价值对话,例如产品配方的环境友好性、包装更新对生态利益的照顾以及循环再造的可能性等。这些具有可持续价值的......
  • NetCore 动态解析Razor代码
    第一步: Nuget引入:RazorEngine.NetCore 第二步:添加引用usingRazorEngine;usingRazorEngine.Templating; 第三步:代码实现模版替换publicclassFormModel:PageModel{publicstringHtmlCompile{set;get;}=string.Empty;publicvoidOnGet([From......
  • 图像压缩在上传客户端以及下载客户端的实现
    本地图像在上传服务器时,由于所占存储空间比较大,一般会进行压缩上传:一般分为前端压缩和后端压缩。前端压缩:在上传之前在客户端的进行压缩,然后再上传。后端压缩:在服务器端接收到上传的图片后,在服务器端对图片进行压缩。通常进行先进行前端压缩,然后如果图像仍然太大,则会进行二次......
  • pageoffice6后台生成单个PDF文档
    转载:后台生成单个PDF文档#后台生成单个PDF文档注意本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。在实际项目中经常遇到这样的场景,客户希望后台动态生成PDF文档,目前网上有一些针对此需求的方案,如果您想要了解这些......
  • 软考高级信息系统项目管理师教程(第4版)PDF下载
    《信息系统项目管理师教程》(第4版)是由全国计算机专业技术资格考试办公室组织编写的考试用书,根据2022年审定通过的《信息系统项目管理师考试大纲》编写,对信息系统项目管理师岗位所要求的主要知识及应用技术进行了阐述。《信息系统项目管理师教程》(第4版)主要内容包括:信息化发展、信......
  • 【专题】2024食品行业预制菜趋势报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=35240原文出处:拓端数据部落公众号预制菜行业经历了由默默无闻到备受争议,再到如今逐渐获得大众接受的历程。随着《中央一号文件》的推动,除夕节假日的利好安排,以及行业内对半年内有望出台国家标准的期待,预制菜行业吸引了众多头部主播的关注和数亿网......