C# Image转PDF(iTextSharp)

NuGet包下载最新iTextSharp

操作PDF文档时,打印是常见的需求之一。

将传过来的 json 生成 image 后,再把所有图片转成 PDF

要求:

1、PDF 打印出来的图片大小要符合实际要求的大小

2、PDF 文件(test.pdf)的纸张大小就是图片大小

复制代码
Document pdfDocument = new Document(new iTextSharp.text.Rectangle(0, 0), 0, 0, 0, 0);
string fileName = "C:\\Users\\Admin\\Desktop\\output\\test.pdf";
iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDocument, new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite));

pdfDocument.Open();

//Json生成的System.Drawing.Image image
image = printLayout.Draw();
//转iTextSharp.text.Image
ImageConverter imgconv = new ImageConverter();
byte[] bytes = (byte[])imgconv.ConvertTo(image, typeof(byte[]));
Stream stream = new MemoryStream(bytes);
iTextSharp.text.Image images;
images = iTextSharp.text.Image.GetInstance(stream);

//根据实际需求,换算图片大小,并添加到pdf中
float imageWidth = image.Width / 2.105f;
float imageHeight = image.Height / 2.105f;
images.ScaleToFit(imageWidth, imageHeight);
pdfDocument.SetPageSize(new iTextSharp.text.Rectangle(0, 0, imageWidth, imageHeight));
pdfDocument.NewPage();
pdfDocument.Add(images);

pdfDocument.Close();
复制代码

 

posted @   鱼仔鱼仔  阅读(1356)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示