Example #1
0
 protected internal static void MarkObjectAsIndirect(PdfObject pdfObject)
 {
     if (pdfObject.GetIndirectReference() == null)
     {
         pdfObject.SetState(PdfObject.MUST_BE_INDIRECT);
     }
 }
Example #2
0
        /// <summary>Creates clone of the object which belongs to the same document as original object.</summary>
        /// <remarks>
        /// Creates clone of the object which belongs to the same document as original object.
        /// New object shall not be used in other documents.
        /// </remarks>
        /// <returns>cloned object.</returns>
        public virtual PdfObject Clone()
        {
            PdfObject newObject = NewInstance();

            if (indirectReference != null || CheckState(MUST_BE_INDIRECT))
            {
                newObject.SetState(MUST_BE_INDIRECT);
            }
            newObject.CopyContent(this, null);
            return(newObject);
        }
Example #3
0
 private void MarkObjectToFlush(PdfObject pdfObject)
 {
     if (pdfObject != null)
     {
         PdfIndirectReference indirectReference = pdfObject.GetIndirectReference();
         if (indirectReference != null)
         {
             if (!indirectReference.CheckState(PdfObject.FLUSHED))
             {
                 indirectReference.SetState(PdfObject.MUST_BE_FLUSHED);
             }
         }
         else
         {
             if (pdfObject.GetObjectType() == PdfObject.INDIRECT_REFERENCE)
             {
                 if (!pdfObject.CheckState(PdfObject.FLUSHED))
                 {
                     pdfObject.SetState(PdfObject.MUST_BE_FLUSHED);
                 }
             }
             else
             {
                 if (pdfObject.GetObjectType() == PdfObject.ARRAY)
                 {
                     MarkArrayContentToFlush((PdfArray)pdfObject);
                 }
                 else
                 {
                     if (pdfObject.GetObjectType() == PdfObject.DICTIONARY)
                     {
                         MarkDictionaryContentToFlush((PdfDictionary)pdfObject);
                     }
                 }
             }
         }
     }
 }