public PdfPage(PdfSize pageSize, PdfContent content)
 {
     _pageSize    = pageSize;
     _cropBox.llx = PdfDistance.Zero;
     _cropBox.lly = PdfDistance.Zero;
     _cropBox.urx = pageSize.width;
     _cropBox.ury = pageSize.height;
     _bleedBox    = _cropBox;
     _trimBox     = _cropBox;
     _artBox      = _cropBox;
     _content     = content;
 }
示例#2
0
        public PdfContent(PdfContent parent)
        {
            _parent = parent;
            _init();

            if (parent != null)
            {
                for (int i = 0; i < parent._resources.Count; ++i)
                {
                    _resources.Add(parent._resources[i]);
                }
            }
        }
示例#3
0
        private void                                _readPageContent(PdfDictionary page)
        {
            var contents = page.ValueByName("Contents");

            if (contents is PdfArray pdfArray)
            {
                var        contentsArray = pdfArray.Children;
                PdfContent Parent        = null;

                for (int i = 0; i < contentsArray.Count - 1; ++i)
                {
                    if (!(contentsArray[i] is PdfReferenceReader))
                    {
                        throw new PdfException("Invalid content referecen.");
                    }

                    Parent = new PdfContent(Parent, ((PdfReferenceReader)contentsArray[i]).Object);
                }

                if (!(contentsArray[contentsArray.Count - 1] is PdfReferenceReader))
                {
                    throw new PdfException("Invalid content referecen.");
                }

                _parent = Parent;
                _readContent(((PdfReferenceReader)contentsArray[contentsArray.Count - 1]).Object);
            }
            else if (contents is PdfReferenceReader pdfRR)
            {
                _readContent(pdfRR.Object);
            }
            else
            {
                throw new PdfExceptionReader("Unknown Content " + contents.GetType().Name);
            }
        }
示例#4
0
 public void                    AddPage(PdfSize pageSize, PdfContent content)
 {
     AddObj(new PdfPage(pageSize, content));
 }
示例#5
0
 private PdfContent(PdfContent parent, PdfObjectReader obj)
 {
     _parent = parent;
     _init();
     _readContent(obj);
 }