Files
core/PdfReader/Src/Parser.h
Ilya.Kirillov 65d72ae4ec Убраны лишние файлы. Все файлы сконвертированы в UTF8.
git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@62550 954022d7-b5bf-4e40-9824-e11837661b57
2016-05-21 00:02:55 +03:00

51 lines
1.4 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _PDF_READER_PARSER_H
#define _PDF_READER_PARSER_H
#include "Lexer.h"
namespace PdfReader
{
//------------------------------------------------------------------------
// Parser
//------------------------------------------------------------------------
class Parser
{
public:
Parser(XRef *pXref, Lexer *pLexer, bool bAllowStreams);
~Parser();
// Считываем следующий объект из потока.
Object *GetObject(Object *pObject, unsigned char *sDecryptKey = NULL, CryptAlgorithm eEncryptAlgorithm = cryptRC4, int nKeyLength = 0, int nObjectNum = 0, int nObjectGen = 0);
Stream *GetStream()
{
return m_pLexer->GetStream();
}
int GetPos()
{
return m_pLexer->GetPos();
}
private:
Stream *CreateStream(Object *pDict, unsigned char *sDecryptKey, CryptAlgorithm eEncryptAlgorithm, int nKeyLength, int nObjectNum, int nObjectGen);
void Shift();
private:
XRef *m_pXref; // Таблица Xref для даннthe xref table for this PDF file
Lexer *m_pLexer; // Входящий поток
bool m_bAllowStreams; // Будем ли парсить Stream Objects?
Object m_oBuffer1; // Два следующих объекта
Object m_oBuffer2; //
int m_nInlineImage; // Устанавливаем, когда сталкиваемся с Inline Image
};
}
#endif // _PDF_READER_PARSER_H