Exemple #1
0
        internal static CMapToUnicode ProcessToUnicode(PdfObject toUnicode)
        {
            CMapToUnicode cMapToUnicode = null;

            if (toUnicode is PdfStream)
            {
                try {
                    byte[]        uniBytes = ((PdfStream)toUnicode).GetBytes();
                    ICMapLocation lb       = new CMapLocationFromBytes(uniBytes);
                    cMapToUnicode = new CMapToUnicode();
                    CMapParser.ParseCid("", cMapToUnicode, lb);
                }
                catch (Exception) {
                    ILogger logger = LoggerFactory.GetLogger(typeof(CMapToUnicode));
                    logger.Error(LogMessageConstant.UNKNOWN_ERROR_WHILE_PROCESSING_CMAP);
                    cMapToUnicode = CMapToUnicode.EmptyCMapToUnicodeMap;
                }
            }
            else
            {
                if (PdfName.IdentityH.Equals(toUnicode))
                {
                    cMapToUnicode = CMapToUnicode.GetIdentity();
                }
            }
            return(cMapToUnicode);
        }
Exemple #2
0
 private static T ParseCmap <T>(String name, T cmap)
     where T : AbstractCMap
 {
     try {
         CMapParser.ParseCid(name, cmap, new CMapLocationResource());
     }
     catch (System.IO.IOException e) {
         throw new iText.IO.IOException(iText.IO.IOException.IoException, e);
     }
     return(cmap);
 }
Exemple #3
0
 public CMapEncoding(String cmap, byte[] cmapBytes)
 {
     this.cmap = cmap;
     cid2Code  = new CMapCidByte();
     try {
         CMapParser.ParseCid(cmap, cid2Code, new CMapLocationFromBytes(cmapBytes));
         code2Cid             = cid2Code.GetReversMap();
         this.codeSpaceRanges = cid2Code.GetCodeSpaceRanges();
     }
     catch (System.IO.IOException) {
         LogManager.GetLogger(GetType()).Error(iText.IO.LogMessageConstant.FAILED_TO_PARSE_ENCODING_STREAM);
     }
 }