diff options
| author | bulia byak <buliabyak@gmail.com> | 2008-04-16 06:43:33 +0000 |
|---|---|---|
| committer | buliabyak <buliabyak@users.sourceforge.net> | 2008-04-16 06:43:33 +0000 |
| commit | 9df8fb8fe0575f7a6e40f1afb83ca19fcfeb2da8 (patch) | |
| tree | 497f6769f3086f866e8ee5bec063a1b71287b680 /src/extension/internal/cairo-pdf-out.cpp | |
| parent | Cmake: Add simple CMakeLists.txt for 2geom and linking to inkscape (diff) | |
| download | inkscape-9df8fb8fe0575f7a6e40f1afb83ca19fcfeb2da8.tar.gz inkscape-9df8fb8fe0575f7a6e40f1afb83ca19fcfeb2da8.zip | |
make sure --export-area-canvas works for pdf export too
(bzr r5455)
Diffstat (limited to 'src/extension/internal/cairo-pdf-out.cpp')
| -rw-r--r-- | src/extension/internal/cairo-pdf-out.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/extension/internal/cairo-pdf-out.cpp b/src/extension/internal/cairo-pdf-out.cpp index b6ae0b6b2..71e9eda17 100644 --- a/src/extension/internal/cairo-pdf-out.cpp +++ b/src/extension/internal/cairo-pdf-out.cpp @@ -63,10 +63,14 @@ pdf_print_document_to_file(SPDocument *doc, gchar const *filename, unsigned int /* Create new arena */ const gchar* exportId = mod->get_param_string("exportId"); bool exportDrawing = mod->get_param_bool("exportDrawing"); + bool exportCanvas = mod->get_param_bool("exportCanvas"); if (exportId && strcmp(exportId, "")) { - // we want to export the given item only, not page + // we want to export the given item only mod->base = SP_ITEM(doc->getObjectById(exportId)); - mod->set_param_bool("pageBoundingBox", FALSE); + if (exportCanvas) + mod->set_param_bool("pageBoundingBox", TRUE); + else + mod->set_param_bool("pageBoundingBox", FALSE); } else { // we want to export the entire document from root mod->base = SP_ITEM(sp_document_root(doc)); @@ -166,6 +170,17 @@ CairoPdfOutput::save (Inkscape::Extension::Output *mod, SPDocument *doc, const g g_warning("Parameter <exportDrawing> might not exist"); } + bool old_exportCanvas = false; + bool new_exportCanvas = false; + try { + old_exportCanvas = ext->get_param_bool("exportCanvas"); + new_exportCanvas = mod->get_param_bool("exportCanvas"); + ext->set_param_bool("exportCanvas", new_exportCanvas); + } + catch(...) { + g_warning("Parameter <exportCanvas> might not exist"); + } + gchar * final_name; final_name = g_strdup_printf("> %s", uri); ret = pdf_print_document_to_file(doc, final_name, 0, new_textToPath, new_blurToBitmap); @@ -195,6 +210,12 @@ CairoPdfOutput::save (Inkscape::Extension::Output *mod, SPDocument *doc, const g catch(...) { g_warning("Parameter <exportDrawing> might not exist"); } + try { + ext->set_param_bool("exportCanvas", old_exportCanvas); + } + catch(...) { + g_warning("Parameter <exportCanvas> might not exist"); + } if (!ret) throw Inkscape::Extension::Output::save_failed(); @@ -224,6 +245,7 @@ CairoPdfOutput::init (void) "<param name=\"blurToBitmap\" gui-text=\"" N_("Convert blur effects to bitmaps") "\" type=\"boolean\">false</param>\n" "<param name=\"resolution\" gui-text=\"" N_("Preferred resolution (DPI) of bitmaps") "\" type=\"int\" min=\"72\" max=\"2400\">90</param>\n" "<param name=\"exportDrawing\" gui-text=\"" N_("Export drawing, not page") "\" type=\"boolean\">false</param>\n" + "<param name=\"exportCanvas\" gui-text=\"" N_("Export canvas") "\" type=\"boolean\">false</param>\n" "<param name=\"exportId\" gui-text=\"" N_("Limit export to the object with ID") "\" type=\"string\"></param>\n" "<output>\n" "<extension>.pdf</extension>\n" |
