From 49a527759b3b12e40b723e58e0653ef5237a4c45 Mon Sep 17 00:00:00 2001 From: Lu Wang Date: Tue, 25 Sep 2012 00:55:41 +0800 Subject: [PATCH] effect is too bad with muliplier=1, change it back to 4 and use old scale behavior in order to bypass the firefox bug --- TODO | 2 ++ pdf2htmlEX.1.in | 2 +- src/HTMLRenderer/general.cc | 4 +++- src/HTMLRenderer/state.cc | 2 +- src/pdf2htmlEX.cc | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/TODO b/TODO index 2ebae23..66b0fa0 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,5 @@ +merge sub/sup into one line + bug found in baidu(ubuntu...) precise link dest diff --git a/pdf2htmlEX.1.in b/pdf2htmlEX.1.in index e3517f9..dbba91c 100644 --- a/pdf2htmlEX.1.in +++ b/pdf2htmlEX.1.in @@ -87,7 +87,7 @@ pdf2htmlEX would try to optimize the generated HTML file moving Text within this .B --space-threshold (Default: 1.0/6) pdf2htmlEX would insert a whitespace character ' ' if the distance between two consecutive letters in the same line is wider than ratio * font_size. .TP -.B --font-size-multiplier (Default: 1.0) +.B --font-size-multiplier (Default: 4.0) Many web browsers limit the minimum font size, and many would round the given font size, which results in incorrect rendering. Specify a ratio greater than 1 would resolve this issue, however it might freeze some browsers. diff --git a/src/HTMLRenderer/general.cc b/src/HTMLRenderer/general.cc index 37d44a9..c941b44 100644 --- a/src/HTMLRenderer/general.cc +++ b/src/HTMLRenderer/general.cc @@ -121,7 +121,7 @@ void HTMLRenderer::process(PDFDoc *doc) } } - doc->displayPage(this, i, scale_factor1 * DEFAULT_DPI, scale_factor1 * DEFAULT_DPI, + doc->displayPage(this, i, (param->zoom) * DEFAULT_DPI, (param->zoom) * DEFAULT_DPI, 0, true, false, false, nullptr, nullptr, nullptr, nullptr); @@ -162,11 +162,13 @@ void HTMLRenderer::startPage(int pageNum, GfxState *state) << pageWidth << "px;height:" << pageHeight << "px;"; + /* { auto prefixes = {"", "-ms-", "-moz-", "-webkit-", "-o-"}; for(auto iter = prefixes.begin(); iter != prefixes.end(); ++iter) html_fout << *iter << "transform:scale(" << scale_factor2 << ");"; } + */ if(param->process_nontext) { diff --git a/src/HTMLRenderer/state.cc b/src/HTMLRenderer/state.cc index fbe7f1c..f31b2bb 100644 --- a/src/HTMLRenderer/state.cc +++ b/src/HTMLRenderer/state.cc @@ -146,7 +146,7 @@ void HTMLRenderer::check_state_change(GfxState * state) double new_draw_ctm[6]; memcpy(new_draw_ctm, cur_ctm, sizeof(new_draw_ctm)); - double new_draw_scale = sqrt(new_draw_ctm[2] * new_draw_ctm[2] + new_draw_ctm[3] * new_draw_ctm[3]); + double new_draw_scale = scale_factor2 * sqrt(new_draw_ctm[2] * new_draw_ctm[2] + new_draw_ctm[3] * new_draw_ctm[3]); double new_draw_font_size = cur_font_size; if(_is_positive(new_draw_scale)) diff --git a/src/pdf2htmlEX.cc b/src/pdf2htmlEX.cc index 5673a72..5a58764 100644 --- a/src/pdf2htmlEX.cc +++ b/src/pdf2htmlEX.cc @@ -73,7 +73,7 @@ void parse_options (int argc, char **argv) .add("heps", ¶m.h_eps, 1.0, "max tolerated horizontal offset (in pixels)") .add("veps", ¶m.v_eps, 1.0, "max tolerated vertical offset (in pixels)") .add("space-threshold", ¶m.space_threshold, (1.0/8), "distance no thiner than (threshold * em) will be considered as a space character") - .add("font-size-multiplier", ¶m.font_size_multiplier, 1.0, "setting a value greater than 1 would increase the rendering accuracy") + .add("font-size-multiplier", ¶m.font_size_multiplier, 4.0, "setting a value greater than 1 would increase the rendering accuracy") .add("auto-hint", ¶m.auto_hint, 0, "Whether to generate hints for fonts") .add("tounicode", ¶m.tounicode, 0, "Specify how to deal with ToUnicode map, 0 for auto, 1 for forced, -1 for disabled") .add("space-as-offset", ¶m.space_as_offset, 0, "treat space characters as offsets")