protected internal static void MarkObjectAsIndirect(PdfObject pdfObject) { if (pdfObject.GetIndirectReference() == null) { pdfObject.SetState(PdfObject.MUST_BE_INDIRECT); } }
/// <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); }
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); } } } } } }