Bueno, observa que con el while() recorres todos los elementos, y al finalizar todo el while() es que imprimes en el PDF.
¿No te parece que por eso sólo imprimes el último? ¿No deberías ir imprimiendo el PDF dentro del while()?
Caray, es lógica básica y me sorpendería mucho que no lo entiendas.