I don't know the answer to your first question, but I can help with questions #2 and #3.
You can convert HTML content to a byte array containing PDF content by calling the HTMLToPDF activity in @baseclass. Refer to the Description and Usage fields on the History tab of the activity to understand how it works.
iText capabilities are encapsulated in the GenerateEForm and ConcatenateEForms activities. These are not that well documented, and can be a bit more difficult to use.
In both cases, there are Java API calls that wrap direct access to either the PD4ML or iText libraries. There is nothing to prevent you from calling these libraries directly from java, but we do not recommend this.