Our team recently finished designing an explainer to help users understand certain PDF documents they may view. To connect the notes to the PDF, we needed to annotate the PDFs themselves. Generally, PDF-JS (or pdfjs-dist) is a great library to use for manipulating PDFs.
Full article