Exemplo n.º 1
0
 public void WriteChildsObject(IPdfValue value)
 {
     if (value.isObjectRef())
     {
         WriteObjectWithChilds(gpr.ReadObject(value.valueObjectId));
     }
     else if (value.isObject())
     {
         foreach (PdfNValue nvalue in value.objectValues.Values)
         {
             WriteChildsObject(nvalue.value);
         }
     }
     else if (value.isArray())
     {
         foreach (IPdfValue value2 in value.arrayValues)
         {
             WriteChildsObject(value2);
         }
     }
 }
Exemplo n.º 2
0
        public PdfNValue ReadPdfNValue(ref string s)
        {
            // /Name ...
            // /Pages 1 0 R
            // /PageLayout /OneColumn
            // /OpenAction [3 0 R /FitH null]
            // /MediaBox [0 0 907.09 1292.59]
            Regex rg1   = new Regex("^/([a-zA-Z][a-zA-Z0-9]*) +", RegexOptions.Compiled);
            Match match = rg1.Match(s);

            if (!match.Success)
            {
                throw new PBException("error reading value {0} line {1} \"{2}\"", gpsr.ObjectName, gpsr.LineNumber, s);
            }
            string name = match.Groups[1].Value;

            s = s.Substring(match.Length);
            IPdfValue value = ReadPdfValue(ref s);

            return(new PdfNValue {
                name = name, value = value
            });
        }
Exemplo n.º 3
0
 private void WriteValue(IPdfValue value)
 {
     if (value.isNull())
     {
         // /OpenAction [3 0 R /FitH null]
         gw.Write("null");
     }
     else if (value.isBool())
     {
         // /OP true /Type /ExtGState
         gw.Write(value.valueBool ? "true" : "false");
     }
     else if (value.isInt())
     {
         // /MediaBox [0 0 907.09 1292.59]
         gw.Write(value.valueInt.ToString());
     }
     else if (value.isDouble())
     {
         // /MediaBox [0 0 907.09 1292.59]
         gw.Write(value.valueDouble.ToString("0.00"));
     }
     else if (value.isName())
     {
         // /PageLayout /OneColumn
         gw.Write("/{0}", value.valueName);
     }
     else if (value.isString())
     {
         // /Producer (FPDF 1.6)
         gw.Write("({0})", value.valueString);
     }
     else if (value.isDateTime())
     {
         // /CreationDate (D:20121205105056)
         gw.Write("(D:{0:yyyyMMddHHmmss})", value.valueDateTime);
     }
     else if (value.isObjectRef())
     {
         // /Pages 1 0 R
         gw.Write("{0} {1} R", value.valueObjectId, value.valueObjectGenerationNumber);
     }
     else if (value.isObject())
     {
         // <<
         // /Type /Page
         // /Parent 1 0 R
         // /MediaBox [0 0 907.09 1292.59]
         // /Resources 2 0 R
         // /Contents 4 0 R
         // >>
         gw.Write("<<\n");
         foreach (PdfNValue nvalue in value.objectValues.Values)
         {
             gw.Write("/{0} ", nvalue.name);
             WriteValue(nvalue.value);
             gw.Write("\n");
         }
         gw.Write(">>");
     }
     else if (value.isArray())
     {
         // /OpenAction [3 0 R /FitH null]
         gw.Write("[");
         bool first = true;
         foreach (IPdfValue value2 in value.arrayValues)
         {
             if (!first)
             {
                 gw.Write(" ");
             }
             WriteValue(value2);
             first = false;
         }
         gw.Write("]");
     }
 }
Exemplo n.º 4
0
 private void WriteValue(IPdfValue value)
 {
     if (value.isNull())
     {
         // /OpenAction [3 0 R /FitH null]
         gw.Write("null");
     }
     else if (value.isBool())
     {
         // /OP true /Type /ExtGState
         gw.Write(value.valueBool ? "true" : "false");
     }
     else if (value.isInt())
     {
         // /MediaBox [0 0 907.09 1292.59]
         gw.Write(value.valueInt.ToString());
     }
     else if (value.isDouble())
     {
         // /MediaBox [0 0 907.09 1292.59]
         gw.Write(value.valueDouble.ToString("0.00"));
     }
     else if (value.isName())
     {
         // /PageLayout /OneColumn
         gw.Write("/{0}", value.valueName);
     }
     else if (value.isString())
     {
         // /Producer (FPDF 1.6)
         gw.Write("({0})", value.valueString);
     }
     else if (value.isDateTime())
     {
         // /CreationDate (D:20121205105056)
         gw.Write("(D:{0:yyyyMMddHHmmss})", value.valueDateTime);
     }
     else if (value.isObjectRef())
     {
         // /Pages 1 0 R
         gw.Write("{0} {1} R", value.valueObjectId, value.valueObjectGenerationNumber);
     }
     else if (value.isObject())
     {
         // <<
         // /Type /Page
         // /Parent 1 0 R
         // /MediaBox [0 0 907.09 1292.59]
         // /Resources 2 0 R
         // /Contents 4 0 R
         // >>
         gw.Write("<<\n");
         foreach (PdfNValue nvalue in value.objectValues.Values)
         {
             gw.Write("/{0} ", nvalue.name);
             WriteValue(nvalue.value);
             gw.Write("\n");
         }
         gw.Write(">>");
     }
     else if (value.isArray())
     {
         // /OpenAction [3 0 R /FitH null]
         gw.Write("[");
         bool first = true;
         foreach (IPdfValue value2 in value.arrayValues)
         {
             if (!first)
                 gw.Write(" ");
             WriteValue(value2);
             first = false;
         }
         gw.Write("]");
     }
 }
Exemplo n.º 5
0
 public void WriteChildsObject(IPdfValue value)
 {
     if (value.isObjectRef())
     {
         WriteObjectWithChilds(gpr.ReadObject(value.valueObjectId));
     }
     else if (value.isObject())
     {
         foreach (PdfNValue nvalue in value.objectValues.Values)
         {
             WriteChildsObject(nvalue.value);
         }
     }
     else if (value.isArray())
     {
         foreach (IPdfValue value2 in value.arrayValues)
         {
             WriteChildsObject(value2);
         }
     }
 }