I've read posts which suggest it is not possible to generate PDFs on servers running in medium trust. This restriction is imposed by the fact that the PDF library used (iTextSharp) requires full trust. Well in fact it doesn't require full trust to function - it's just that the library is built that way.
This atricle http://instantdevelopment.blogspot.com/2009/10/itextsharp-pdf-rendering-in-medium.html explains how to rebuild itextsharp with medium trust.
I performed the following steps, and it works fine for me:
1) Download iTextSharp v4.1.6 source
2) Add the following to AssemblyInfo.cs
[assembly: AllowPartiallyTrustedCallers()]
3) Rebuild iTextSharp in VS
4) Open nopCommerce solution in VS
5) In Nop.BusinessLogic project, reference the newly built iTextSharp DLL
6) Rebuild Nop.BusinessLogic project
7) Copy the new iTextSharp and Nop.BusinessLogic DLLs to your website bin folder
It would be great if the NopCommerce team could distribute the modified DLL in a future release, as from what I've seen this is the only limitation I've come across which prevents running in medium trust.
Regards, Chris.