1
0
mirror of https://github.com/pdf2htmlEX/pdf2htmlEX.git synced 2024-12-22 13:00:08 +00:00

Improve help texts for --svg-node-count-limit and --svg-embed-bitmap; rename --svg-nodes-limit to --svg-node-count-limit.

This commit is contained in:
Duan Yao 2014-06-11 23:20:09 +08:00
parent 5681fe11c0
commit fdbc70401f
5 changed files with 19 additions and 10 deletions

View File

@ -248,6 +248,16 @@ If set to 1, pdf2htmlEX will try to reduce the number of HTML elements used for
.B --bg-format <format> (Default: png) .B --bg-format <format> (Default: png)
Specify the background image format. Run `pdf2htmlEX -v` to check all supported formats. Specify the background image format. Run `pdf2htmlEX -v` to check all supported formats.
.TP
.B --svg-node-count-limit <limit> (Default: -1)
If node count in a svg background image exceeds this limit, fall back this page to bitmap background; negative value means no limit.
This option is only useful when '--bg-format svg' is specified. Note that node count in svg is just calculated approximately.
.TP
.B --svg-embed-bitmap <0|1> (Default: 1)
Whether embed bitmaps in svg background image. 1: embed bitmaps in svg background; 0: dump bitmaps to external files if possible.
JPEG images in a PDF are most possibly dumped. This option is only useful when '--bg-format svg' is specified.
.SS PDF Protection .SS PDF Protection
.TP .TP

View File

@ -44,7 +44,7 @@ BackgroundRenderer * BackgroundRenderer::getBackgroundRenderer(const std::string
BackgroundRenderer * BackgroundRenderer::getFallbackBackgroundRenderer(HTMLRenderer * html_renderer, const Param & param) BackgroundRenderer * BackgroundRenderer::getFallbackBackgroundRenderer(HTMLRenderer * html_renderer, const Param & param)
{ {
if (param.bg_format == "svg" && param.svg_nodes_limit > 0) if (param.bg_format == "svg" && param.svg_node_count_limit >= 0)
return new SplashBackgroundRenderer("", html_renderer, param); return new SplashBackgroundRenderer("", html_renderer, param);
return nullptr; return nullptr;
} }

View File

@ -130,7 +130,7 @@ bool CairoBackgroundRenderer::render_page(PDFDoc * doc, int pageno)
} }
//check node count in the svg file, fall back to bitmap_renderer if necessary. //check node count in the svg file, fall back to bitmap_renderer if necessary.
if (param.svg_nodes_limit > 0) if (param.svg_node_count_limit >= 0)
{ {
int n = 0; int n = 0;
char c; char c;
@ -140,7 +140,7 @@ bool CairoBackgroundRenderer::render_page(PDFDoc * doc, int pageno)
{ {
if (c == '<') if (c == '<')
++n; ++n;
if (n > param.svg_nodes_limit) if (n > param.svg_node_count_limit)
{ {
html_renderer->tmp_files.add(fn); html_renderer->tmp_files.add(fn);
return false; return false;
@ -149,8 +149,8 @@ bool CairoBackgroundRenderer::render_page(PDFDoc * doc, int pageno)
} }
// the svg file is actually used, so add its bitmaps' ref count. // the svg file is actually used, so add its bitmaps' ref count.
for (auto i = bitmaps_in_current_page.begin(); i != bitmaps_in_current_page.end(); i++) for (auto itr = bitmaps_in_current_page.begin(); itr != bitmaps_in_current_page.end(); itr++)
++bitmaps_ref_count[*i]; ++bitmaps_ref_count[*itr];
return true; return true;
} }

View File

@ -63,7 +63,7 @@ struct Param
// background image // background image
std::string bg_format; std::string bg_format;
int svg_nodes_limit; int svg_node_count_limit;
int svg_embed_bitmap; int svg_embed_bitmap;
// encryption // encryption

View File

@ -190,10 +190,9 @@ void parse_options (int argc, char **argv)
// background image // background image
.add("bg-format", &param.bg_format, "png", "specify background image format") .add("bg-format", &param.bg_format, "png", "specify background image format")
.add("svg-nodes-limit", &param.svg_nodes_limit, 0, "if node count in a svg background image exceeds this limit," .add("svg-node-count-limit", &param.svg_node_count_limit, -1, "if node count in a svg background image exceeds this limit,"
" fall back to bitmap background. 0 or negative means no limit.") " fall back this page to bitmap background; negative value means no limit.")
.add("svg-embed-bitmap", &param.svg_embed_bitmap, 1, "embed bitmaps in svg files or save them as external files" .add("svg-embed-bitmap", &param.svg_embed_bitmap, 1, "1: embed bitmaps in svg background; 0: dump bitmaps to external files if possible.")
" (even if 0 is specified, some bitmaps may still be embedded)")
// encryption // encryption
.add("owner-password,o", &param.owner_password, "", "owner password (for encrypted files)", true) .add("owner-password,o", &param.owner_password, "", "owner password (for encrypted files)", true)