예제 #1
0
        private void ParseConversionTables(IList <string> objContents)
        {
            var parser = new ObjectParser(TokenStreamer.CreateFromList(objContents));

            PdfAtom command;
            var     paramList = new List <IPdfTerm>();

            do
            {
                command = parser.ReadNextCommand(paramList);

                switch (command?.AsString())
                {
                case CodeSpaceSectionEnd:
                    CheckSidSize(paramList);
                    break;

                case BfCharSectionEnd:
                    FillSidToCharMap(paramList);
                    break;

                case BfRangeSectionEnd:
                    FillSidToCharMapFromRanges(paramList);
                    break;
                }

                paramList.Clear();
            }while(command != null);
        }
예제 #2
0
        private void ExtractTextFromPage(PdfPage page)
        {
            var streamer = TokenStreamer.CreateFromList(page.RawContent);
            var parser   = new ObjectParser(streamer);

            PdfAtom command;
            var     paramList = new List <IPdfTerm>();

            do
            {
                command = parser.ReadNextCommand(paramList);

                if (command != null)
                {
                    InterpretPdfCommand(command.AsString(), paramList);
                }

                paramList.Clear();
            }while(command != null);
        }