PDF в Base64 — бесплатно, мгновенно, прямо в браузере
Конвертер PDF в Base64
До 10 МБ. Ничего не загружается — файл не покидает ваше устройство.
Используйте это в атрибуте <img src> или в CSS url().
Без префикса data: — для JSON и API.
Показывает документ прямо на странице. Для ссылки на скачивание вставьте data URI в <a href> с атрибутом download.
Ваши файлы остаются конфиденциальными
Это преобразование целиком выполняется в вашем браузере. Изображение никогда не загружается, поэтому ничто из закодированного здесь не попадает ни на наш сервер, ни к кому-либо ещё.
О преобразовании PDF в Base64
Кодирование картинки в Base64 — обычно решение о производительности сайта. Кодирование PDF почти никогда таковым не является. Документы переводят в текст потому, что нечто на другой стороне — сервис электронной подписи, система выставления счетов, налоговая, API обмена сообщениями — принимает файлы только как текст внутри поля JSON. Это задача передачи, и правила здесь другие.
Как преобразовать PDF в Base64
- 1 Перетащите файл .pdf в область загрузки.
- 2 Посмотрите на строку размера: закодированная строка примерно на треть больше, и лимит вашего API применяется именно к этому числу.
- 3 Скопируйте «сырую» строку для поля JSON или data URI, если документ нужно показать или дать на него ссылку.
Для чего это на самом деле
JSON не умеет переносить сырые байты. Если API хочет получить документ внутри тела JSON, документ сначала должен стать строкой, и Base64 — стандартный способ это сделать. Вы столкнётесь с этим, отправляя договор сервису электронной подписи, подавая счёт на государственный портал, прикрепляя файл через API транзакционной почты или отправляя документ в очередь сообщений. В каждом случае альтернатива — multipart-загрузка, которую многие API поддерживают, а некоторые нет.
Не встраивайте PDF в веб-страницу
Фрагмент embed на этой странице существует для редкого случая, когда он действительно нужен: самодостаточный HTML-файл, офлайн-отчёт, предпросмотр письма. Публиковать документ так не стоит. Связанный ссылкой PDF можно передавать потоком: просмотрщик скачивает первые страницы и показывает их, пока приходит остальное. Data URI так не умеет — браузер обязан держать в памяти весь раскодированный документ, прежде чем просмотрщик увидит хоть один байт. На файле в несколько мегабайт это превращает мгновенный предпросмотр в подвисание, да и страницу нельзя закешировать отдельно от документа.
Следите за лимитом запроса, а не за размером файла
PDF на 4 МБ превращается примерно в 5,4 МБ текста, и ваш API измеряет именно это большее число. Ограничения тела запроса в несколько мегабайт встречаются часто, поэтому документ, который как файл кажется с запасом укладывающимся в лимит, после кодирования может быть отклонён. Упершись в эту стену, обычно не стоит сильнее сжимать PDF: проверьте, есть ли у API отдельная точка загрузки файлов или предподписанная ссылка — они принимают сырые байты и обходят эти 33% целиком. Эта страница останавливается на 10 МБ, что уже больше, чем принимает большинство JSON-эндпоинтов.