Этот код не будет генерировать правильное двоичное вложение, потому что полный data
URL не является строкой base64. Удалите заголовок из данных и расшифруйте его, то есть удалите префикс data:application/pdf;filename=generated.pdf;base64,
перед тем, как пытаться его декодировать.
Если вы получаете строку из генератора PDF PHP, вы сможете получить двоичная строка PDF непосредственно из той, которую вы можете передать непосредственно в PHPMailer, который будет заниматься ее кодированием для вас.