Вы можете использовать JSPdf-библиотеку для этого случая. Вам нужно взять плагин JavaScript и плагин addImage исходные коды этой библиотеки, чтобы увидеть, как можно вложить файл. Я думаю, что исходный код плагина JavaScript более понятен для этого случая.
Я не ищу полного решения
Да, полное решение вы должны написать сами, потому что теперь эта библиотека не поддерживает пользовательское вложение файла.
Файлы прикрепляются с использованием потоков двоичных файлов, как это выглядит в файле PDF:
32 0 obj
<</Type /EmbeddedFile /Subtype /{mimetype} /Length 72>>
stream
{file data}
endstream
endobj
Да, вам нужно написать что-то подобное. Вы должны понимать, что вы должны написать код для чтения из файла PDF тоже.
Альтернативное решение
Но, если это слишком сложно или слишком много для вас, вам нужно подумать обо всем этом на стороне сервера. Вы можете отправить на сервер запрос, используя AJAX, и сервер сделает это и вернет вам новый PDF.
В этом случае вы можете редактировать сторону PDF-сервера с бесплатной библиотекой PHP, например, FPDI . С FPDI можно читать и редактировать документы PDF (для чтения PDF используйте метод createByFile()
). FPDI является расширенной версией библиотеки FPDF , которая имеет плагин для вложений .