Opened 13 years ago

Last modified 13 years ago

#3250 new bug

Vector layers printed/exported as rasters, even when "Print as Raster" is unchecked

Reported by: Alister Owned by: nobody
Priority: major: does not work as expected Milestone: Version 1.7.0
Component: Printing Version: Trunk
Keywords: Printing, Exporting, Composer, PDF Cc:
Must Fix for Release: No Platform: Windows
Platform Version: Awaiting user input: no

Description

Print or export to PDF from the composer: Any vector layers will be rasterized in the output.

Perhaps the current behaviour is a workaround for the bug in QT (or whatever it was) that prevented layers from being clipped to the visible region... Is it?

Attachments (2)

document1.pdf (89.8 KB ) - added by Alister 13 years ago.
partly rasterised print output
document2.pdf (56.5 KB ) - added by Alister 13 years ago.
sorry, forgot document2.pdf

Download all attachments as: .zip

Change History (14)

comment:1 by Alister, 13 years ago

Wait... Exporting to PDF always behaves as described. Printing doesn't seem to now, although I'm pretty sure it did before I restarted QGIS...

comment:2 by mhugent, 13 years ago

Cannot reproduce this. Exporting a line layer to PDF and opening in inkspace showed the lines to be vector. Note that point marker symbols are sometimes printed as raster (new symbology svn markers should be vector though)

comment:3 by Alister, 13 years ago

It is with line and polygon layers. I'm getting the same results on two different computers, with 1.5, 1.6 and trunk, and with new and old symbology. Both machines are running Windows. I guess I'd better find a machine to do a clean install on... maybe that will show up a setting that affects it.

in reply to:  3 comment:4 by andskog, 13 years ago

Also an issue here. Running 1.6 on two computers (W7 and XP). Same result with QG 1.5. It workes just fine in 1.4, however.

comment:5 by wildintellect, 13 years ago

Priority: minor: annoyancemajor: does not work as expected

I have done further testing on this issue under QGIS 1.6 and QGIS Trunk r15130. I can confirm that this bug happens on windows and not linux. I tried both new and old symbology, but have not yet tried only point, line or polygon one at a time yet.

Here's a link to an easy to use simple dataset and example pdfs made on windows and linux. http://blog.wildintellect.com/files/qgisbug/

I think this issue would be more minor if the SVG export was better, though I think fixing he pdf export might be more realistic. I am changing the Priority, for several Windows users I know this is a major deal breaker as it really impedes their ability to make quality maps without pdf as vector or svg that clips to extent and preserves scale.

comment:6 by Alister, 13 years ago

without pdf as vector

Have you tried printing to a virtual pdf "printer"? That produces vector output for me now...

svg that clips to extent and preserves scale

Scale should be preserved now - see #3224

Is clip-to-extent necessary simply to minimise file size? Personally I'm quite happy now with exporting to svg and then printing the svg to PDF. But of course it would be much better not having to do a two-step process...

comment:7 by Alister, 13 years ago

Have you tried printing to a virtual pdf "printer"? That produces vector output for me now...

Sorry, no, I'm wrong. It doesn't anymore - printing rasterizes everything. So my original description for this bug is accurate again.

have not yet tried only point, line or polygon one at a time yet

I've tried that, but only with new symbology. It is always rasterised.

comment:8 by Alister, 13 years ago

Ah. But it is affected by other things on the layoout e.g. if an arrow overlaps the map then part of the map is rasterised. If a basic shape overlaps the map then the whole map is rasterised. Also svg images are partly rasterised (I guess it depends on the layers inside the svg). See attached example.

by Alister, 13 years ago

Attachment: document1.pdf added

partly rasterised print output

comment:9 by Alister, 13 years ago

Sorry, no. It is more complicated than that.

If a basic shape overlaps the map then the whole map is rasterised.

No, this isn't correct - see document2.pdf

Also svg images are partly rasterised (I guess it depends on the layers inside the svg).

I see this wasn't demonstrated in document1.pdf - more of the svg was rasterised than I expected (I guess due to the svg being in line with the basic shape or something). See document2.pdf instead.

I don't think I'm achieving anything here ;)

comment:10 by Alister, 13 years ago

This should possibly be marked as duplicate of #3480

Also IIRC there is a bug where map labels cause any vector layers they overlap to be rasterised (or partly rasterised).

by Alister, 13 years ago

Attachment: document2.pdf added

sorry, forgot document2.pdf

in reply to:  6 comment:11 by wildintellect, 13 years ago

Replying to Alister:

without pdf as vector

Have you tried printing to a virtual pdf "printer"? That produces vector output for me now...

I will double check but the last time I did so to PDF Creator it was still rasterized.

svg that clips to extent and preserves scale

Scale should be preserved now - see #3224

Is clip-to-extent necessary simply to minimise file size? Personally I'm quite happy now with exporting to svg and then printing the svg to PDF. But of course it would be much better not having to do a two-step process...

  1. it's a lot of work to manually hide lines that cross the neatline of the map (maps are not always full page)
  2. not necessarily file size but the related number of vectors/nodes has a huge impact on the behavior and stability of Inkscape and Illustrator. We found that using Natural Earth data if you only wanted to export 1-3 countries as part of your map SVG would leave you with 90% of the world as extra data. One could clip everything in QGIS before export but that seems to defeat the purpose of the map composer (however it is a suggested workaround.

I need to go back and check more about Labelling since we also need labels to come out as Text objects in both SVG and PDF unless a user explicity chooses to convert text to paths. Either way it should never be rasterized.

comment:12 by Alister, 13 years ago

I need to go back and check more about Labelling since we also need labels to come out as Text objects in both SVG and PDF unless a user explicity chooses to convert text to paths. Either way it should never be rasterized.

"new" labelling is always rasterized - this is not a glitch, but the way it is designed. I'm pretty sure there is a ticket requesting it to be output as text, but I can't find it in a hurry.

Note: See TracTickets for help on using tickets.