Cross-platform printer settings, preview and printng


Hi all,

I know there’s already one or two topics for this subject, but I really have bad with this question.

I want to find a clean way to do that on the 3 major platforms (Win, Mac & Linux), but i don’t have the time to write specific code for each one.

I understand the orientation of Juce API, this is not critical if the application is audio-oriented. My project is more document-oriented than audio (music score), but the audio will be available. As i’ve say in other topic, I produce my graphics using AGG (screen) and Cairo (various outputs). This is a complete vectorial drawing, so i’m able to provide anything I want to send to the printer (bitmap, postscript …)

I know that’s not very complex to get the printer handle and send data to it, but I don’t find sample code to have example, and i’m afraid about the cross-platform question. I’m not really experimented with MacOS specificities.

I don’t know if a free API already exists (not a part of a global toolkit) or if someone have some code to share ?

Let me know, i need advice. And thank you by advance.


I don’t know of any such library. I’ve been meaning to write one for a long time, but just haven’t found time yet, sorry!


I don’t have more solution that write my own cross-platform printing framework, in all case i need that for my project. I will be happy to share the code when it will be ok.

Thank’s for reply Jules.


I think the best solution is to enhance the Postscript renderer posted in another thread (might be in Juce SVN’s code base).

All platform have code to send PS to printer directly.