ITextSharp将图片转成pdf(自适应图片大小)

public static void ImageToPDF(string[] files, string trageFullName)
        {
            using (iTextSharp.text.Document document = new Document(new iTextSharp.text.Rectangle(0, 0), 0, 0, 0, 0))
            {
                iTextSharp.text.pdf.PdfWriter.GetInstance(document, new FileStream(trageFullName, FileMode.Create, FileAccess.ReadWrite));
                document.Open();
                iTextSharp.text.Image image;
                for (int i = 0; i < files.Length; i++)
                {
                    image = iTextSharp.text.Image.GetInstance(files[i]);
                    image.ScaleToFit(image.Width, image.Height);
                    document.SetPageSize(new iTextSharp.text.Rectangle(0, 0, image.Width, image.Height));
                    document.NewPage();
                    document.Add(image);
                }
            }
        }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用iTextSharpPDF换为图片可以分为以下几个步骤: 1. 安装iTextSharp NuGet包。可以在Visual Studio中打开NuGet包管理器,搜索并安装iTextSharp。 2. 编写C#代码。使用iTextSharp打开PDF文件,并将每一页换为图片。 ```csharp using iTextSharp.text.pdf; using iTextSharp.text; using System.IO; // 打开PDF文件 PdfReader pdfReader = new PdfReader("test.pdf"); // 遍历每一页 for (int pageNumber = 1; pageNumber <= pdfReader.NumberOfPages; pageNumber++) { // 获取当前页 PdfDictionary pageDictionary = pdfReader.GetPageN(pageNumber); Rectangle pageRectangle = PageSize.GetRectangle(pageDictionary.GetAsString(PdfName.CROPBOX).ToString()); // 创建Bitmap对象 using (Bitmap bitmap = new Bitmap((int)pageRectangle.Width, (int)pageRectangle.Height)) { // 创建Graphics对象 using (Graphics graphics = Graphics.FromImage(bitmap)) { // 渲染PDF文件到Graphics PdfContentByte pdfContentByte = new PdfContentByte(null); pdfContentByte.SetLiteral("q 1 0 0 1 0 0 cm"); PdfImportedPage pdfImportedPage = writer.GetImportedPage(pdfReader, pageNumber); pdfContentByte.AddTemplate(pdfImportedPage, 1f, 0, 0, 1f, -pageRectangle.Left, -pageRectangle.Bottom); pdfContentByte.SetLiteral("Q"); graphics.Clear(Color.White); graphics.DrawImage(bitmap, 0, 0); } // 保存图片 using (MemoryStream memoryStream = new MemoryStream()) { bitmap.Save(memoryStream, ImageFormat.Jpeg); File.WriteAllBytes("page_" + pageNumber + ".jpg", memoryStream.ToArray()); } } } ``` 以上代码将PDF文件中的每一页换为JPEG格式的图片,并将其保存到磁盘上。请注意,以上代码中的部分变量需要进行声明和初始化,例如writer、pdfReader等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值