2013-04-06 16:42:54 +00:00
|
|
|
/*
|
|
|
|
* Header file for HTMLTextPage
|
|
|
|
* Copyright (C) 2013 Lu Wang <coolwanglu@gmail.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef HTMLTEXTPAGE_H__
|
|
|
|
#define HTMLTEXTPAGE_H__
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
#include <memory>
|
|
|
|
#include <ostream>
|
|
|
|
|
|
|
|
#include "Param.h"
|
|
|
|
#include "StateManager.h"
|
|
|
|
#include "HTMLTextLine.h"
|
|
|
|
#include "HTMLState.h"
|
|
|
|
|
|
|
|
namespace pdf2htmlEX {
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Store and optimize a page of text in HTML
|
|
|
|
*
|
|
|
|
* contains a series of HTMLTextLine
|
|
|
|
*/
|
|
|
|
|
|
|
|
class HTMLTextPage
|
|
|
|
{
|
|
|
|
public:
|
2013-04-07 08:10:52 +00:00
|
|
|
HTMLTextPage (const Param & param, AllStateManager & all_manager);
|
2013-04-06 16:42:54 +00:00
|
|
|
|
2013-04-07 15:50:23 +00:00
|
|
|
HTMLTextLine * get_cur_line(void) const { return cur_line; }
|
2013-04-06 16:42:54 +00:00
|
|
|
|
|
|
|
void dump_text(std::ostream & out);
|
|
|
|
void dump_css(std::ostream & out);
|
|
|
|
void clear(void);
|
|
|
|
|
2013-04-07 15:50:23 +00:00
|
|
|
void open_new_line(const HTMLLineState & line_state);
|
2013-04-06 16:42:54 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
void optimize(void);
|
|
|
|
|
|
|
|
const Param & param;
|
2013-04-07 08:10:52 +00:00
|
|
|
AllStateManager & all_manager;
|
2013-04-07 15:50:23 +00:00
|
|
|
HTMLTextLine * cur_line;
|
2013-04-06 16:42:54 +00:00
|
|
|
std::vector<std::unique_ptr<HTMLTextLine>> text_lines;
|
|
|
|
};
|
|
|
|
|
|
|
|
} //namespace pdf2htmlEX
|
|
|
|
#endif //HTMLTEXTPAGE_H__
|