Не имея возможности запустить свой код, на этот вопрос нелегко ответить.
Возможная проблема в том, что вы не закрываете класс PdfDocument
.
В результате базовые ресурсы не освобождаются, а байты не очищаются.
В результате создается недействительный (иногда даже пустой) документ PDF, который, конечно, принтер не будет (или не может) печатать.
Если вы можете сохранить PDF-файл и он правильно отображается в средстве просмотра, то, скорее всего, вы что-то делаете неправильно в печатной части приложения.