diff --git a/share/base.css b/share/base.css index cc27d01..d4cdc7d 100644 --- a/share/base.css +++ b/share/base.css @@ -1,5 +1,8 @@ /* Base CSS */ /* by Wang Lu */ +body { + position:relative; +} #pdf-main { position:absolute; top:0; diff --git a/src/HTMLRenderer/export.cc b/src/HTMLRenderer/export.cc index fa5a706..19df5e5 100644 --- a/src/HTMLRenderer/export.cc +++ b/src/HTMLRenderer/export.cc @@ -97,18 +97,27 @@ void HTMLRenderer::export_transform_matrix (long long tm_id, const double * tm) // we have already shifted the origin // TODO: recognize common matices - auto prefixes = {"", "-ms-", "-moz-", "-webkit-", "-o-"}; - for(auto iter = prefixes.begin(); iter != prefixes.end(); ++iter) + if(_tm_euqal(tm, id_matrix, 4)) { - const auto & prefix = *iter; - // PDF use a different coordinate system from Web - css_fout << prefix << "transform:matrix(" - << _round(tm[0]) << ',' - << _round(-tm[1]) << ',' - << _round(-tm[2]) << ',' - << _round(tm[3]) << ','; + auto prefixes = {"", "-ms-", "-moz-", "-webkit-", "-o-"}; + for(auto iter = prefixes.begin(); iter != prefixes.end(); ++iter) + css_fout << prefix << "transform:none;"; + } + else + { + auto prefixes = {"", "-ms-", "-moz-", "-webkit-", "-o-"}; + for(auto iter = prefixes.begin(); iter != prefixes.end(); ++iter) + { + const auto & prefix = *iter; + // PDF use a different coordinate system from Web + css_fout << prefix << "transform:matrix(" + << _round(tm[0]) << ',' + << _round(-tm[1]) << ',' + << _round(-tm[2]) << ',' + << _round(tm[3]) << ','; - css_fout << "0,0);"; + css_fout << "0,0);"; + } } css_fout << "}" << endl; }