I believe the correct terminology is portrait (not vertical) and landscape (not horizontal) - you would have better luck searching if you'd used the correct terms
you need to take this line :-
using (Document doc = new Document(PageSize.A4))
and make it this :-
using (Document doc = new Document(PageSize.A4.Rotate()))