add: protocol#to_pdf