Beispiel #1
0
        public void Read(PdfFile file)
        {
            while (_lexer.NextToken())
            {
                switch (_lexer.Token)
                {
                case Token.Header:
                    file.Version = _lexer.Version;
                    break;

                case Token.Number:
                {
                    var objId = _lexer.StringValue;
                    _lexer.NextToken();
                    if (_lexer.Token == Token.Number)
                    {
                        objId += $" {_lexer.StringValue}";
                        _lexer.NextToken();
                        if (_lexer.Token == Token.Ider)
                        {
                            switch (_lexer.Ider)
                            {
                            case Ider.obj:
                                var obj = ReadObject();
                                file.AddObject(objId, obj);
                                break;

                            default:
                                throw new LexerException($"unknown object {_lexer.Ider}");
                            }
                        }
                    }
                }
                break;
                }
            }
        }
 public PdfResource(PdfElement elem, PdfFile file)
     : base(elem)
 {
     _file = file;
 }
 public PdfContentBlock(PdfElement elem, PdfFile file, PdfPage page)
     : base(elem)
 {
     _file = file;
     _page = page;
 }
Beispiel #4
0
 public PdfPage(PdfDictionary dict, PdfFile file)
     : base(dict)
 {
     _file    = file;
     _content = new PageContent();
 }
 public static ContentReader Create(Stream stream, PdfFile file, PdfPage page)
 {
     return(new ContentReader(new BinaryReader(stream), file, page));
 }