iTextSharp.text.pdf.PdfReader.DuplicatePdfObject C# (CSharp) Метод

DuplicatePdfObject() защищенный статический Метод

protected static DuplicatePdfObject ( PdfObject original, PdfReader newReader ) : PdfObject
original PdfObject
newReader PdfReader
Результат PdfObject
        protected internal static PdfObject DuplicatePdfObject(PdfObject original, PdfReader newReader) {
            if (original == null)
                return null;
            switch (original.Type) {
                case PdfObject.DICTIONARY: {
                    return DuplicatePdfDictionary((PdfDictionary)original, null, newReader);
                }
                case PdfObject.STREAM: {
                    PRStream org = (PRStream)original;
                    PRStream stream = new PRStream(org, null, newReader);
                    DuplicatePdfDictionary(org, stream, newReader);
                    return stream;
                }
                case PdfObject.ARRAY: {
                    PdfArray arr = new PdfArray();
                    for (ListIterator it = ((PdfArray)original).GetListIterator(); it.HasNext();) {
                        arr.Add(DuplicatePdfObject((PdfObject)it.Next(), newReader));
                    }
                    return arr;
                }
                case PdfObject.INDIRECT: {
                    PRIndirectReference org = (PRIndirectReference)original;
                    return new PRIndirectReference(newReader, org.Number, org.Generation);
                }
                default:
                    return original;
            }
        }