From 8020737b828be7b6e6211bf7854c13df378c6186 Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Sat, 22 Sep 2012 14:41:29 +0800 Subject: [PATCH] add jquery --- README.md | 1 + src/HTMLRenderer/general.cc | 22 ++-------------------- src/Preprocessor.cc | 21 ++++++++++++++++++++- src/include/HTMLRenderer.h | 9 --------- src/include/Preprocessor.h | 12 +++++++++++- 5 files changed, 34 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index dad7c2f..3f8d432 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,7 @@ pdf2htmlEX is made possible thanks to the following projects: * [poppler](http://poppler.freedesktop.org/) * [Fontforge](http://fontforge.org/) +* [jQuery](http://jquery.com/) pdf2htmlEX is inspired by the following projects: diff --git a/src/HTMLRenderer/general.cc b/src/HTMLRenderer/general.cc index 0b129c0..d60e497 100644 --- a/src/HTMLRenderer/general.cc +++ b/src/HTMLRenderer/general.cc @@ -33,6 +33,7 @@ HTMLRenderer::HTMLRenderer(const Param * param) :OutputDev() ,line_opened(false) ,line_buf(this) + ,preprocessor(param) ,image_count(0) ,param(param) { @@ -67,14 +68,7 @@ void HTMLRenderer::process(PDFDoc *doc) xref = doc->getXRef(); cerr << "Preprocessing: "; - for(int i = param->first_page; i <= param->last_page ; ++i) - { - doc->displayPage(&preprocessor, i, param->h_dpi, param->v_dpi, - 0, true, false, false, - nullptr, nullptr, nullptr, nullptr); - cerr << "." << flush; - } - cerr << endl; + preprocessor.process(doc); cerr << "Working: "; BackgroundRenderer * bg_renderer = nullptr; @@ -144,18 +138,6 @@ void HTMLRenderer::setDefaultCTM(double *ctm) memcpy(default_ctm, ctm, sizeof(default_ctm)); } -GBool HTMLRenderer::checkPageSlice(Page *page, double hDPI, double vDPI, - int rotate, GBool useMediaBox, GBool crop, - int sliceX, int sliceY, int sliceW, int sliceH, - GBool printing, - GBool (* abortCheckCbk)(void *data), - void * abortCheckCbkData, - GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data), - void *annotDisplayDecideCbkData) -{ - return gTrue; -} - void HTMLRenderer::startPage(int pageNum, GfxState *state) { this->pageNum = pageNum; diff --git a/src/Preprocessor.cc b/src/Preprocessor.cc index b984b1d..d82fe6c 100644 --- a/src/Preprocessor.cc +++ b/src/Preprocessor.cc @@ -8,6 +8,7 @@ */ #include +#include #include #include @@ -17,8 +18,13 @@ namespace pdf2htmlEX { -Preprocessor::Preprocessor(void) +using std::cerr; +using std::endl; +using std::flush; + +Preprocessor::Preprocessor(const Param * param) : OutputDev() + , param(param) , cur_font_id(0) , cur_code_map(nullptr) { } @@ -29,6 +35,19 @@ Preprocessor::~Preprocessor(void) delete [] iter->second; } +void Preprocessor::process(PDFDoc * doc) +{ + for(int i = param->first_page; i <= param->last_page ; ++i) + { + doc->displayPage(this, i, param->h_dpi, param->v_dpi, + 0, true, false, false, + nullptr, nullptr, nullptr, nullptr); + + cerr << "." << flush; + } + cerr << endl; +} + void Preprocessor::drawChar(GfxState *state, double x, double y, double dx, double dy, double originX, double originY, diff --git a/src/include/HTMLRenderer.h b/src/include/HTMLRenderer.h index 7e0e5ad..b755951 100644 --- a/src/include/HTMLRenderer.h +++ b/src/include/HTMLRenderer.h @@ -83,15 +83,6 @@ class HTMLRenderer : public OutputDev virtual void setDefaultCTM(double *ctm); - virtual GBool checkPageSlice(Page *page, double hDPI, double vDPI, - int rotate, GBool useMediaBox, GBool crop, - int sliceX, int sliceY, int sliceW, int sliceH, - GBool printing, - GBool (* abortCheckCbk)(void *data) = NULL, - void * abortCheckCbkData = NULL, - GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) = NULL, - void *annotDisplayDecideCbkData = NULL); - // Start a page. virtual void startPage(int pageNum, GfxState *state); diff --git a/src/include/Preprocessor.h b/src/include/Preprocessor.h index 0a51186..46062b1 100644 --- a/src/include/Preprocessor.h +++ b/src/include/Preprocessor.h @@ -4,6 +4,7 @@ * PDF is so complicated that we have to scan twice * * Check used codes for each font + * Collect all used link destinations * * by WangLu * 2012.09.07 @@ -16,18 +17,25 @@ #include #include +#include +#include + +#include "Param.h" namespace pdf2htmlEX { class Preprocessor : public OutputDev { public: - Preprocessor(void); + Preprocessor(const Param * param); virtual ~Preprocessor(void); + void process(PDFDoc * doc); + virtual GBool upsideDown() { return gFalse; } virtual GBool useDrawChar() { return gTrue; } virtual GBool interpretType3Chars() { return gFalse; } virtual GBool needNonText() { return gFalse; } + virtual void drawChar(GfxState *state, double x, double y, double dx, double dy, double originX, double originY, @@ -36,6 +44,8 @@ public: const char * get_code_map (long long font_id) const; protected: + const Param * param; + long long cur_font_id; char * cur_code_map;