19 January 2018

How to create PDF Gantt chart extracts with dynamic labels in MS-Project ®

You are here:
How to create PDF Gantt chart extracts with dynamic labels in MS-Project

Part of a series on customising Microsoft® Project® to make working with project schedules more useful.

This post describes how to generate universally-readable ‘soft’ PDF Gantt charts to circulate to stakeholders, with dynamically generated labels that provide them with useful information about the view, and provide you with useful information about how you might re-create the view.

So why would you want to use this approach, how do you do it, and what’s in it for you as a result?

The Why

So you’ve created a useful programme schedule, you are now working on keeping it on the right track. You can create time-boxed, look-ahead, decluttered schedule extracts for stakeholders. But, they don’t have MS-Project (the licence isn’t cheap!) so you need to circulate your schedule as a PDF Gantt chart that stakeholders can view in their browser, even on their phones or tablets.

Given the dynamic nature of projects, it would probably also be useful if you could see at a glance what settings you used to create the schedule extract, so that when a stakeholder says “just like the one you sent me three weeks ago…”, you can work out from the file itself how to re-create the view with up-to-date information.

Although you can “Save As” a PDF Gantt chart in MS-Project, I don’t recommend it. The results are seldom anything like what you would expect to see, and the level of control over the output in terms of zoom, how many pages, headers and footers, date range, etc. is somewhere between poor and non-existent.

You can print the plan to an XPS file (which is like Microsoft’s own version of the PDF format), using the standard Windows XPS document writer (it will be in your list of printers, and impersonates a printer as far as MS-Project is concerned but creates a “virtual” XPS output file instead of printing on paper). However, this file format doesn’t play nicely with Apple® devices, so if you’re sending a plan extract to a senior stakeholder who wants to look at it on their iPad® or Mac® over the weekend then it won’t go down too well. So I don’t recommend it.

And as far as recording the settings is concerned, you can make a note of these in the printed page header or footer, but then you would have to update the notes each time you change a setting. Which means you would forget sooner or later (OK then, I would forget).

So how can we do it?

The How

The answer lies with embedding codes in the page header or footer, and using a PDF print driver to generate the PDF Gantt chart output.

Embedding field codes in page headers & footers

You can add custom headers and footers to printed pages in MS-Project 2016 by navigating to File → Print. If by this point you can’t see a preview of the printed output on the right hand half of the screen, click on the Print Preview button.

Now click on the option over to the left that says Page Setup, which should bring up a dialogue box like this:

Click on the Header or Footer tab to bring up the dialogue box:

As with Excel, you can set up pieces of text of text and information to print in the Left, Centre, or Right area of the header and/or footer. There are buttons to insert dynamic fields such as the current date and time, but you can also embed codes for many more pieces of data. You can select them using the “General” and “Project fields” drop-down menus in the Page Setup dialogue box – they appear in square brackets [like this]. I tend to go for mostly fields, wrapped in a little hard-coded text so it makes sense, for example these:

  • This copy printed / PDF created: &[Date] &[Time] (Top left)
  • &[Project Title] as at &[Status Date] (Top Centre, large and bold)
  • Filter: &[Filter]; View: &[View] (Top right)
  • This plan created and managed by , for &[Company] (Bottom left)
  • Page &[Page] (Bottom right)

You can specify the information behind [Project Title] and [Company] by going to (in MS-Project 2016)  File → Info → Project Information → Advanced Properties, which gets you to this dialogue box:

You will want to make sure you set these correctly to avoid the embarrassment of circulating a schedule extract with your last project’s (or even worse your last company’s) information on it!

MS-Project saves this information as part of a view (for more about what views are and how to create and use them, see ), so you can vary the level of detail to suit the view and the audience.

Creating the PDF

Rather than trying to save the file from MS-Project as a PDF Gantt chart, I recommend you print the plan to a good PDF print driver (that impersonates a printer as far as MS-Project is concerned but creates “virtual” PDF output instead of printing on paper).

The options are (in decreasing order of preference):

  1. If you are running Windows 10 you may already have a “Microsoft Print to PDF” print driver
  2. You can try asking IT to let you install the free PDF print driver available from CutePDF® or PDF995® but they may not let you do this due to security concerns (although I have used both without problems, even in Financial Services environments)
  3. Instead you could ask them to install Adobe® Acrobat® Pro, which (amongst a whole load of other things that you may or may not want) includes a “Print to PDF” driver – but this is far from free.

To print to PDF or paper is essentially the same, and involves following these steps:

  1. Make sure the plan is displayed in the view that you want to print (to change the view in MS-Project 2016, use View → Task Views / Gantt Chart, and  select the view you want from this drop down or click on More Views to see them all).
  2. Check that the window divider and timescales are adjusted to your liking (for more detail, see )
  3. Then select File → Print, set the date range for the Gantt chart (so that all the tasks of interest are included), hit Print, and specify where to save and what to call the PDF.

And that’s it!

The Result

The result is a PDF Gantt chart schedule extract file that you can circulate to people who don’t have MS-Project, with dynamically populated information on it that you don’t have to worry about updating.

So that’s how to create PDF Gantt chart schedule extracts from MS-Project for communicating project progress to stakeholders. This approach comes to you from my experience of doing things the hard way and coming up with something better.

Is this approach useful to you? How do you communicate project progress to stakeholders? Is it driven from the schedule like this? Let me know in the comments.

This approach comes to you from my experience of getting it wrong and coming up with a better way.

If you would like to have the benefits of an approach like this but would prefer not to get bogged down in the detail, The PMO Professionals can help. Why not take a look at our “Savvy scheduling” service, and if that looks interesting, get in touch to discuss how we can help you?


® Microsoft and Project are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

® Apple, iPad and Mac are registered trademarks or trademarks of Apple Corporation in the United States and/or other countries.

® Acrobat is a registered trademark or trademark of Adobe in the United States and/or other countries.

® CutePDF is a registered trademark or trademark of Acro Software in the United States and/or other countries.

® PDF995 is a registered trademark or trademark of 995 Software in the United States and/or other countries.