AEM renders pages into HTML. You can auto generate a cq:Page (based on a template) with the appropriate content in it to result in the rendered HTML you're seeking. Take a look at the PageManager API for use in your workflow.
Assuming the PDFs being used are in DAM you could consider the PDF case much like the image component case where the asset resides in DAM but your component, included on the page, references it.
During export you could add a custom ContentSync handler to pull the PDF out of DAM and store with with your article (dps-folio export config). If the PDFs can be shared across articles or there's a finite set of them you may prefer to include them in the HTMLResources using existing handlers such as 'assets'. Depending the approach the PDF's location will change and the component use of that asset on disk will need to adjust to avoid bad paths.