Your task - if I understand it correctly - has three parts:
(Forgive me if I misunderstand your level of knowledge - I'm hoping this answer may be at the level you need, and if it isn't your subsequent questions may help people to understand what you are struggling with - note also my alternative answer at the bottom of this text)
1) Get data from OSM
You want to fetch data from the Openstreetmap database. There are a number of ways to do this. It's relatively simple to do - start with a careful search of this site or just use Google.
When you do this the data may end up on your local machine in a number of different formats - stored in a number of different ways (relevant below). (Data may be stored in a database, as shapefiles, and so on)
2) Style the data
The data you get from OSM is plain simple geographical GIS data. It'll record, for example, that there is a road or a patch of grass. It doesn't say that grass should be green or that a road should be drawn 3mm wide. You need to style the data how you want it (green grass etc).
This task is NOT simple. Depending on what you want your map to show it could be extremely complex. You should look for existing styles that people have put up on the internet, but these may not look how you want.
What also makes things even more complex is that other people's styles tend to work on only one of the formats I mentioned in point 1 (at least in simple terms anyway).
3) You need to export/print the finished map to pdf
This is a relatively trivial step if you've got the other things sorted. You can use the tools in the QGIS print composer (or 'print' to pdf).
BUT you may want to consider other options. A key option is to use the export option from www.openstreetmap.org - which is limited but effective. Look for the share button at the right of the map. Make sure that you are on the standard rendering of the map (not the cycle rendering or whatever). There's an option to export as pdf or svg - b0th vector formats. Which you choose may depend how you are going to handle the vector image afterwards.
highway=* and type:way
will work. You can export the output in geojson format and then open it in QGIS.