你的位置:首页 > 软件开发 > ASP.net > ITEXTSHARP学习整理

ITEXTSHARP学习整理

发布时间:2015-05-18 19:03:33
学习的版本iTextSharp.5.5.5。关于获取PDF中的图片资源   /// <summary> /// 将PDF中的图片资源转换成二进制 /// </summary> /// <param name="fil ...

  学习的版本iTextSharp.5.5.5。

关于获取PDF中的图片资源

  

    /// <summary>    /// 将PDF中的图片资源转换成二进制    /// </summary>    /// <param name="filePath"></param>    /// <returns></returns>    public List<byte[]> ConvertImageData(get='_blank'>string filePath)    {      List<byte[]> lst = new List<byte[]>();      using (PdfReader pdf = new PdfReader(filePath))      {        for (int i = 1; i <= pdf.NumberOfPages; i++)        {          byte[] result = null;           PdfDictionary page = pdf.GetPageN(pageNum);           PdfObject obj = FindImageInPDFDictionary(page);            if (obj != null)           {             PdfImageObject imageObj = null;            int XrefIndex = Convert.ToInt32(((PRIndirectReference)obj).Number.ToString(System.Globalization.CultureInfo.InvariantCulture));            PdfObject pdfObj = pdf.GetPdfObject(XrefIndex);            PRStream pdfStrem = (PRStream)pdfObj;            imageObj = new PdfImageObject(pdfStrem);            result = imageObj.GetImageAsBytes();           }         lst.Add(result);        }      }      return lst;    }

 

    /// <summary>    /// 提取图片元素    /// </summary>    /// <param name="pg"></param>    /// <returns></returns>    private static PdfObject FindImageInPDFDictionary(PdfDictionary pg)    {       PdfDictionary res = pg.GetAsDict(PdfName.RESOURCES);      PdfDictionary xobj = res.GetAsDict(PdfName.XOBJECT);      if (xobj != null)      {        foreach (PdfName name in xobj.Keys)        {          PdfObject obj = xobj.Get(name);          if (obj.IsIndirect())          {            PdfDictionary tg = (PdfDictionary)PdfReader.GetPdfObject(obj);            PdfName type = (PdfName)PdfReader.GetPdfObject(tg.Get(PdfName.SUBTYPE));                       if (PdfName.IMAGE.Equals(type))            {              return obj;            }// image inside a form            else if (PdfName.FORM.Equals(type) || PdfName.GROUP.Equals(type))            {              return FindImageInPDFDictionary(tg);            }          }        }      }      return null;    }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:ITEXTSHARP学习整理

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录