Ejemplo n.º 1
0
            private static PdfArray GetIndexedCsArray(PdfObject @base, int hival, PdfString lookup)
            {
                PdfArray indexed = new PdfArray();

                indexed.Add(PdfName.Indexed);
                indexed.Add(@base);
                indexed.Add(new PdfNumber(hival));
                indexed.Add(lookup.SetHexWriting(true));
                return(indexed);
            }
Ejemplo n.º 2
0
        virtual public void stringObjects()
        {
            byte[] bytes = new byte[256];
            for (int i = 0; i < 256; i++)
            {
                bytes[i] = (byte)i;
            }
            PdfString    str  = new PdfString(bytes);
            MemoryStream baos = new MemoryStream();

            str.SetHexWriting(true);
            str.ToPdf(null, baos);
            String s = Encoding.UTF8.GetString(baos.ToArray());

            Assert.AreEqual(514, s.Length);
        }
Ejemplo n.º 3
0
        internal void AddRange(PdfString from, PdfString to, PdfObject code)
        {
            byte[] a1 = DecodeStringToByte(from);
            byte[] a2 = DecodeStringToByte(to);
            if (a1.Length != a2.Length || a1.Length == 0)
            {
                throw new ArgumentException("Invalid map.");
            }
            byte[] sout = null;
            if (code is PdfString)
            {
                sout = DecodeStringToByte((PdfString)code);
            }
            int start = a1[a1.Length - 1] & 0xff;
            int end   = a2[a2.Length - 1] & 0xff;

            for (int k = start; k <= end; ++k)
            {
                a1[a1.Length - 1] = (byte)k;
                PdfString s = new PdfString(a1);
                s.SetHexWriting(true);
                if (code is PdfArray)
                {
                    AddChar(s, ((PdfArray)code)[k - start]);
                }
                else if (code is PdfNumber)
                {
                    int nn = ((PdfNumber)code).IntValue + k - start;
                    AddChar(s, new PdfNumber(nn));
                }
                else if (code is PdfString)
                {
                    PdfString s1 = new PdfString(sout);
                    s1.SetHexWriting(true);
                    ++sout[sout.Length - 1];
                    AddChar(s, s1);
                }
            }
        }