C#使用iTextSharp将多张图片转一个PDF(图片页面大小一致)
框架安装最新版官网图片大小(毫米)图片像素* 25.4/图片分辨率便携文档格式大小(毫米)图片大小(毫米)* 2。
///摘要///将多张图片合成到一个便携文档格式内完美填充页页大小(毫米)为图片大小(mm) ////summary ///param name输出目录最终的便携文档格式输出目录/param ///param name图片路径图片的路径集合/param公共静态作废PDF生成(字符串输出目录,列表字符串图片路径) { //获取便携文档格式页的实际长宽(毫米)浮动[] xy新浮动[2];使用(文件流文件系统新文件流(图片路径[0],文件模式。打开){系统。绘图。图像图片系统画画。形象。来自流(fs);内部图像宽度;内部图像。身高;浮动w_dpi图像.水平分辨率;//水平分辨率浮动h_dpi图像.VerticalResolution//垂直分辨率xy[0](浮点)(宽* 25.4 /宽_dpi * 2 .);//PDF实际宽度(毫米)要乘2.xy[1](浮点)(h * 25.4/h_dpi * 2 .);} //创建页属性对象矩形设置长宽最后四个0设置左右上下边距iTextSharp.text.Document文档新itext夏普。文字。文档(新itext sharp。文字。矩形(0,0,xy[0],xy[1]),0,0,0,0);使用(文件流文件系统新文件流(输出目录,文件模式. create)){ itext sharp。文字。pdf。pdf writer。getinstance(文档,fs);//将页设置与便携文档格式输出流合并文档. open();//打开PDF //插入图片一个图片占满一页for(int I 0;我图片路径。数数;i) { string imgPath图片路径[I];使用(FileStream imgFs新的FileStream(img path,FileMode .open)){ itext sharp。文字。图像img itext sharp。文字。形象。getinstance(im GFS);//从流读取图片//img .对齐元素ALIGN _ CENTER//图片居中//img .SetAbsolutePosition(0,0);//设置图片位置便携文档格式原点是左下角img .ScaleAbsolute(xy[0],xy[1]);//设置图片大小文档. new page();//创建新页并指向新页文档。添加(img);//往新页中添加图片imgFs .close();//重要防止内存溢出必要时可调用乔治勋章强制等待清理} }文档dispose();//关闭PDF } }
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的