From 2e4689915b11c126ddd1ff49a9bca5ed5a446db5 Mon Sep 17 00:00:00 2001 From: Denis Sablic Date: Thu, 9 Jan 2014 11:17:20 +0100 Subject: [PATCH 1/2] Honor vdpi and hdpi parameters with SVG background output --- src/BackgroundRenderer/CairoBackgroundRenderer.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/BackgroundRenderer/CairoBackgroundRenderer.cc b/src/BackgroundRenderer/CairoBackgroundRenderer.cc index 346c0a0..abb160b 100644 --- a/src/BackgroundRenderer/CairoBackgroundRenderer.cc +++ b/src/BackgroundRenderer/CairoBackgroundRenderer.cc @@ -72,13 +72,14 @@ void CairoBackgroundRenderer::render_page(PDFDoc * doc, int pageno) if(param.embed_image) html_renderer->tmp_files.add((char*)fn); - surface = cairo_svg_surface_create((char*)fn, page_width * DEFAULT_DPI, page_height * DEFAULT_DPI); + surface = cairo_svg_surface_create((char*)fn, page_width * param.h_dpi / DEFAULT_DPI, page_height * param.v_dpi / DEFAULT_DPI); } cairo_svg_surface_restrict_to_version(surface, CAIRO_SVG_VERSION_1_2); cairo_surface_set_fallback_resolution(surface, param.h_dpi, param.v_dpi); cairo_t * cr = cairo_create(surface); setCairo(cr); + /* setPrinting(false); // TODO, check the parameter cairo_save(cr); @@ -89,15 +90,16 @@ void CairoBackgroundRenderer::render_page(PDFDoc * doc, int pageno) cairo_matrix_scale(&matrix, DEFAULT_DPI, DEFAULT_DPI); cairo_transform(cr, &matrix); } - - doc->displayPage(this, pageno, DEFAULT_DPI, DEFAULT_DPI, + */ + + doc->displayPage(this, pageno, param.h_dpi, param.v_dpi, 0, (!(param.use_cropbox)), false, false, nullptr, nullptr, &annot_cb, nullptr); - cairo_restore(cr); + // cairo_restore(cr); setCairo(nullptr); { From 7b2fc64462f0feaee5f5049965f6e52b78b8a07b Mon Sep 17 00:00:00 2001 From: Denis Sablic Date: Thu, 9 Jan 2014 13:07:10 +0100 Subject: [PATCH 2/2] Removed commented-out code --- AUTHORS | 1 + src/BackgroundRenderer/CairoBackgroundRenderer.cc | 14 -------------- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/AUTHORS b/AUTHORS index 6002472..14aec0a 100644 --- a/AUTHORS +++ b/AUTHORS @@ -5,6 +5,7 @@ Contributors: Chris Cinelli Daniel Bonniot de Ruisselet Deepak +Denis Sablic filodej hasufell Herbert Jones diff --git a/src/BackgroundRenderer/CairoBackgroundRenderer.cc b/src/BackgroundRenderer/CairoBackgroundRenderer.cc index abb160b..b99aa40 100644 --- a/src/BackgroundRenderer/CairoBackgroundRenderer.cc +++ b/src/BackgroundRenderer/CairoBackgroundRenderer.cc @@ -79,18 +79,6 @@ void CairoBackgroundRenderer::render_page(PDFDoc * doc, int pageno) cairo_t * cr = cairo_create(surface); setCairo(cr); - /* - setPrinting(false); // TODO, check the parameter - cairo_save(cr); - - // zoom the image to prevent CairoOutputDev from rounding/increasing thin borders - { - cairo_matrix_t matrix; - cairo_matrix_init_identity(&matrix); - cairo_matrix_scale(&matrix, DEFAULT_DPI, DEFAULT_DPI); - cairo_transform(cr, &matrix); - } - */ doc->displayPage(this, pageno, param.h_dpi, param.v_dpi, 0, @@ -99,7 +87,6 @@ void CairoBackgroundRenderer::render_page(PDFDoc * doc, int pageno) false, nullptr, nullptr, &annot_cb, nullptr); - // cairo_restore(cr); setCairo(nullptr); { @@ -109,7 +96,6 @@ void CairoBackgroundRenderer::render_page(PDFDoc * doc, int pageno) throw string("Cairo error: ") + cairo_status_to_string(status); } -// cairo_surface_show_page(surface); cairo_surface_finish(surface); { auto status = cairo_surface_status(surface);