Декодируйте Base64 в PDF
Коротко об инструменте
Бухгалтерские сервисы, банк-клиенты и электронный документооборот часто отдают счёт или акт не файлом, а длинной Base64 строкой внутри JSON. Эта страница превращает такую строку обратно в PDF: документ сразу открывается в предпросмотре, и его видно до того, как он попадёт на диск. Кнопка скачивания сохраняет тот же файл локально. Строка обрабатывается внутри вкладки, поэтому счёт или договор не пересылается через чужой сервер. Смотрите также: получить Base64-строку из файла обратно, сохранить Base64 как файл любого типа, разложить готовый PDF на картинки страниц.
Сначала проверьте начало строки: настоящий PDF после декодирования начинается с сигнатуры %PDF, а в Base64 это выглядит как JVBERi. Если начало другое, у вас на руках файл другого формата. Вторая причина — обрыв строки при копировании из консоли, где длинные значения сокращаются многоточием: скопируйте значение целиком из исходного ответа.
Счета и акты на несколько сотен килобайт открываются мгновенно. Многостраничные сканы на десятки мегабайт уже тяжелы: строка примерно на треть больше самого файла, и в памяти вкладки одновременно лежат текст, декодированные байты и отрисованный предпросмотр. Если вкладка задумалась надолго, скачайте файл и откройте его настольной программой.
Декодирование пароль не снимает: из строки получится ровно тот же защищённый документ. Предпросмотр передаёт файл встроенному просмотрщику браузера, и тот сам спросит пароль, если умеет. Права на печать и копирование, зашитые в документ, тоже сохраняются в неизменном виде.
Нет. Строка декодируется скриптом страницы, а предпросмотр и скачивание работают через временный объект, который живёт только в вашей вкладке. Отправки данных наружу здесь не происходит, поэтому договоры и платёжные документы можно разворачивать, не публикуя их на стороннем сервисе.
На том же, на котором открыта страница. В русской версии поле называется «Base64 на входе:», а кнопки — «Декодировать» и «Скачать PDF»; на английской версии сайта те же элементы подписаны по-английски. Раньше интерфейс инструмента был англоязычным независимо от языка сайта, поэтому в старых руководствах встречаются английские названия кнопок. Шаги выше названы ровно теми подписями, которые вы увидите на экране.
Для обратного направления есть страница «Файл в Base64»: выбираете PDF в поле выбора файла и получаете строку, которую можно вложить в JSON или в тело письма. Такая пара удобна при отладке интеграций, когда надо сравнить отправленную и полученную строку байт в байт.
До: {"docType": "invoice", "file": "JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFI..."} После: Счёт на двух страницах в предпросмотре и файл в папке загрузок
До: data:application/pdf;base64,JVBERi0xLjcKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2c...
После: Одностраничная квитанция открывается в просмотрщике браузера
Оценка и фидбек помогают понять, что улучшать дальше.