zl程序教程

您现在的位置是:首页 >  其他

当前栏目

C#使用iTextSharp将多张图片转一个PDF(图片页面大小一致)

2023-03-07 09:50:28 时间

框架安装最新版官网图片大小(毫米)图片像素* 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 } }