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

PdfStamperImp() защищенный Метод

protected PdfStamperImp ( PdfReader reader, Stream os, char pdfVersion, bool append ) : System
reader PdfReader
os Stream
pdfVersion char
append bool
Результат System
        protected internal PdfStamperImp(PdfReader reader, Stream os, char pdfVersion, bool append)
            : base(new PdfDocument(), os)
        {
            if (!reader.IsOpenedWithFullPermissions)
                throw new BadPasswordException(MessageLocalization.GetComposedMessage("pdfreader.not.opened.with.owner.password"));
            if (reader.Tampered)
                throw new DocumentException(MessageLocalization.GetComposedMessage("the.original.document.was.reused.read.it.again.from.file"));
            reader.Tampered = true;
            this.reader = reader;
            file = reader.SafeFile;
            this.append = append;
            if (append) {
                if (reader.IsRebuilt())
                    throw new DocumentException(MessageLocalization.GetComposedMessage("append.mode.requires.a.document.without.errors.even.if.recovery.was.possible"));
                if (reader.IsEncrypted())
                    crypto = new PdfEncryption(reader.Decrypt);
                pdf_version.SetAppendmode(true);
                file.ReOpen();
                byte[] buf = new byte[8192];
                int n;
                while ((n = file.Read(buf)) > 0)
                    this.os.Write(buf, 0, n);
                file.Close();
                prevxref = reader.LastXref;
                reader.Appendable = true;
            }
            else {
                if (pdfVersion == 0)
                    base.PdfVersion = reader.PdfVersion;
                else
                    base.PdfVersion = pdfVersion;
            }
            base.Open();
            pdf.AddWriter(this);
            if (append) {
                body.Refnum = reader.XrefSize;
                marked = new IntHashtable();
                if (reader.IsNewXrefType())
                    fullCompression = true;
                if (reader.IsHybridXref())
                    fullCompression = false;
            }
            initialXrefSize = reader.XrefSize;
        }