Конвертер Base64 в PDF

Вставьте Base64 из ответа API, письма или базы данных и превратите его обратно в PDF. Прочитайте документ во встроенном просмотрщике, а затем сохраните его как обычный файл .pdf.

Работает полностью в браузере. Данные никуда не загружаются.

Как пользоваться

  1. Вставьте строку Base64 или data URI, начинающийся с data:application/pdf;base64, в поле ввода.
  2. Убедитесь, что файл определён как PDF, и прочитайте его в просмотрщике.
  3. Скачайте PDF, чтобы сохранить его на устройстве.

Как скопировать Base64 из ответа API

Сервисы, которые формируют счета, транспортные этикетки, отчёты или подписанные договоры, часто возвращают PDF внутри JSON, например {"filename": "label.pdf", "data": "JVBERi0..."}. Копируйте только текст между кавычками после имени поля и обращайте внимание на следующие детали:

  • Экранированные косые черты. Некоторые кодировщики JSON, в том числе функция PHP json_encode, записывают каждый символ / как \/. Поскольку / — обычный символ Base64, перед вставкой замените \/ на / или сначала разберите JSON и скопируйте значение.
  • Кавычки и запятые. Не копируйте окружающие кавычки и запятую в конце.
  • Переносы строк. Пробелы и настоящие переводы строк внутри Base64, например в значении, перенесённом через 76 символов, допустимы, и удалять их не нужно. Буквальные последовательности \n или \r\n в необработанном JSON — другое дело: они состоят из символов обратной косой черты и букв, и их нужно удалить.

Если скопировать значение из разобранного представления в инструментах разработчика браузера, всех этих проблем с экранированием можно избежать.

Как извлечь PDF-вложение из письма

Вложения хранятся внутри исходного текста письма в кодировке Base64. Откройте исходный код письма («Показать оригинал» в Gmail, «Исходный текст сообщения» в Thunderbird, «Необработанный источник» в Apple Mail) и найдите часть, в заголовках которой есть Content-Type: application/pdf (или application/octet-stream с именем файла .pdf) и Content-Transfer-Encoding: base64. Скопируйте блок, который начинается после пустой строки под этими заголовками и заканчивается перед следующей строкой, начинающейся с --, — это граница MIME. Вставьте его сюда как есть: переносы строк игнорируются.

Как показать PDF из Base64 в своём веб-приложении

Когда фронтенд получает PDF в Base64 и должен его отобразить, Blob URL надёжнее, чем data URI, который некоторые браузеры отказываются открывать в новой вкладке:

const bytes = Uint8Array.from(atob(base64), c => c.charCodeAt(0));
const blob = new Blob([bytes], { type: 'application/pdf' });
const url = URL.createObjectURL(blob);
window.open(url); // или используйте его как src для <iframe>

Когда документ больше не нужен, вызовите URL.revokeObjectURL(url), чтобы освободить память. Учтите, что atob принимает только стандартный алфавит Base64, поэтому данные в варианте, безопасном для URL (- и _), нужно сначала преобразовать.

Часто задаваемые вопросы

Почему мой Base64 не определяется как PDF?
PDF в Base64 начинается с JVBERi0 — это кодировка %PDF-. Если ваша строка начинается с кавычки, имени поля или другого текста, удалите его. Если она начинается с SlZCRVJ, PDF был закодирован в Base64 дважды: декодируйте его один раз с помощью декодера Base64 и вставьте результат сюда. В остальных случаях данные могут оказаться файлом другого типа, который определит инструмент Base64 в файл.
PDF скачивается, но не открывается. В чём дело?

Скорее всего, строка Base64 была обрезана. Логи, консоли и инструменты для работы с базами данных часто укорачивают длинные значения, а PDF без окончания прочитать нельзя, потому что таблица перекрёстных ссылок, по которой находятся все страницы, хранится ближе к концу файла. Скопируйте значение полностью ещё раз, лучше всего сохранив исходный ответ в файл.

На телефоне предпросмотр пустой. Файл повреждён?

Не обязательно. Некоторые мобильные браузеры не умеют показывать PDF внутри страницы. Скачайте файл и откройте его в программе для чтения PDF, чтобы проверить.

Можно ли декодировать PDF, защищённый паролем?

Да. Декодирование восстанавливает файл байт в байт, включая шифрование. Предпросмотр может запросить пароль или остаться пустым, а скачанный файл откроется в любой программе для чтения PDF после ввода пароля.

Загружается ли документ куда-нибудь?

Нет. Декодирование и предпросмотр выполняются в вашем браузере, поэтому конфиденциальные PDF, например договоры, расчётные листки или медицинские документы, остаются на вашем устройстве.