Zasadniczo masz 3 problemy do rozwiązania
1) Zebranie danych
2) Wygenerowanie PDF
3) Wysłanie mail
Do zebrania danych możesz zrobić jakiś prosty formularz. Do generowania PDF możesz użyć libki do Javy albo użyć backend w tym celu. Wysyłasz dane do serwera i to serwer odpowiada za wygenerowanie pliku PDF. Temat wysyłki mailem jest raczej prosty i tutaj nie ma raczej komplikacji.
Pytanie też co to za dane, czy zawsze będziesz pytał o te same dane, czy formularz może się zmienić w zależności od sytuacji?