Как пользоваться
- Перетащите PDF-файл в область загрузки или нажмите на неё, чтобы выбрать файл (до 100 МБ).
- Посмотрите на предпросмотр и убедитесь, что это нужный документ.
- Выберите в поле «Формат вывода» вариант «Base64» для запросов к API или «Data URI», чтобы встроить PDF в веб-страницу.
- Скопируйте результат или скачайте его в виде файла .txt.
Отправка PDF через JSON API
В JSON нет двоичного типа, поэтому REST API, принимающие документы, обычно получают их в виде строки Base64. Платформы электронной подписи, системы выставления счетов и электронного документооборота, сервисы печати и почтовой рассылки, системы OCR и архивы документов часто принимают PDF именно так — в поле вроде content, file или documentBase64, а имя файла передаётся в отдельном поле. Некоторые сервисы так же возвращают PDF; инструмент Base64 в PDF превращает такие строки обратно в файлы.
Отправляйте чистый Base64 без переносов строк, если в документации API не сказано иное: многие API отклоняют значение, в котором остался префикс data:application/pdf;base64,. Учитывайте и ограничения на размер запроса: PDF размером 7,5 МБ превращается примерно в 10 МБ Base64.
Как узнать PDF в Base64
Файл PDF начинается с символов %PDF-, за которыми следует номер версии. В кодировке Base64 эти байты всегда дают строку, начинающуюся с JVBERi0. Длинная строка, которая начинается с JVBER, в ответе API, столбце базы данных или лог-файле почти наверняка содержит PDF. Та же проверка пригодится и перед отправкой данных: если ваша строка начинается с чего-то другого, возможно, вы закодировали не те данные или закодировали их дважды.
Встраивание PDF в HTML
Data URI помещает весь PDF внутрь HTML-страницы, так что размещать отдельный файл не нужно:
<embed src="data:application/pdf;base64,JVBERi0..." type="application/pdf" width="100%" height="600">
<iframe src="data:application/pdf;base64,JVBERi0..." width="100%" height="600"></iframe>
Это работает в настольных браузерах со встроенным просмотрщиком PDF, но есть ограничения. Многие мобильные браузеры вообще не показывают PDF внутри страницы. Кроме того, Chrome и некоторые другие браузеры не позволяют странице открыть URL data: во всей вкладке, поэтому ссылка или вызов window.open, указывающие на URI data:application/pdf, могут открыть пустую вкладку или вообще ничего не сделать. Чтобы открыть PDF в новой вкладке из JavaScript, преобразуйте Base64 в Blob URL. Для документов размером больше нескольких мегабайт обычно лучше подходит обычная ссылка на файл.
Кодирование PDF в коде
# Python: формируем тело JSON-запроса
import base64, json
from pathlib import Path
pdf_b64 = base64.b64encode(Path('invoice.pdf').read_bytes()).decode('ascii')
body = json.dumps({'filename': 'invoice.pdf', 'content': pdf_b64})
// Браузер: файл получен из <input type="file">
const reader = new FileReader();
reader.onload = () => {
const pdfBase64 = reader.result.split(',')[1]; // отбрасываем префикс data URI
};
reader.readAsDataURL(file);
Часто задаваемые вопросы
Почему моя строка Base64 с PDF начинается с JVBERi0?
%PDF-, заголовка в начале каждого PDF-файла. Если вы их видите, значит, строка содержит PDF.Загружается ли PDF на сервер при преобразовании?
Нет. Файл читается, кодируется и отображается локально в вашем браузере. Договоры, счета и другие конфиденциальные документы не покидают ваше устройство.
Изменяет или сжимает ли кодирование PDF?
Нет. Строка Base64 декодируется в точно такие же байты, поэтому защита паролем, цифровые подписи, поля форм и метаданные сохраняются. Текст примерно на 33% больше PDF; чтобы уменьшить размер, сожмите PDF перед кодированием.
Нужно ли включать перенос строк?
Только если этого требует формат, например когда вы вручную собираете письмо MIME, где строки вложений ограничены 76 символами. JSON API и data URI в HTML ожидают одну непрерывную строку.
Какого размера может быть PDF?
Инструмент принимает файлы до 100 МБ. Для API практический предел обычно ниже, поэтому проверьте максимальный размер запроса и помните, что Base64 добавляет около трети. Очень длинный результат может медленно отображаться на экране, поэтому для больших документов используйте кнопку «Скачать».