Как объединить PDF и картинки в один файл
Напрямую подмешать JPG к страницам PDF нельзя: это разные контейнеры. Работает связка из двух шагов — снимки собираются в отдельный PDF конвертером изображений, а затем этот PDF встаёт в общий список рядом с исходным документом и склеивается с ним. Порядок снимков внутри промежуточного файла задаёте вы, порядок кусков в итоговом — тоже.
Обновлено:
Коротко о цифрах
- Данные байт в байт
- JPEG, без метаданных камеры; PNG — без потерь, но сжимается заново
- Через канвас
- WebP, BMP, GIF: в JPEG 0,9, с прозрачностью — в PNG
- HEIC
- вне Safari на технике Apple не декодируется, файл пропускается
- Непрочитанные файлы
- перечисляются по именам, а не одним числом
- Ни одного открытого файла
- ошибка, а не пустой PDF
Какие форматы браузер откроет
- JPEG и PNG библиотека вкладывает сама — других форматов она не знает. Данные JPEG попадают в PDF байт в байт — вырезаются только метаданные камеры, — а PNG распаковывается и сжимается заново без потерь.
- WebP, BMP и GIF проходят через канвас и ложатся в документ как JPEG с качеством 0,9 — на фотографии разница незаметна. Картинки с прозрачностью сохраняются в PNG, чтобы прозрачность не пропала.
- HEIC с айфона за пределами Safari на технике Apple не декодирует ни один браузер. Такой файл будет пропущен, и вы увидите его имя в списке, а не общее «пропущено 3».
- Если не открылся ни один снимок, вы получите ошибку с объяснением, а не бодрое «Готово» и пустой PDF на ноль страниц.
Почему фотографии с телефона не переворачиваются
Снимок с телефона почти всегда лежит в файле горизонтально, а разворачивает его тег Orientation в EXIF. PDF этот тег не читает вовсе, а браузеры применяют его кто как, так что поворачивать приходится самим.
Поэтому у JPEG тег читается прямо из файла, ещё до того как метаданные камеры будут вырезаны, а доворот делает матрица на странице: данные изображения не меняются, а рисуется снимок так, как его показывает телефон. Браузер в этом не участвует вовсе — JPEG он даже не декодирует.
Порядок работы
- Соберите снимки в конвертере изображений: перетащите их пачкой и расставьте в нужном порядке.
- Выберите размер листа и поля, если хотите одинаковую рамку у всех страниц, и сохраните промежуточный PDF.
- Откройте объединение и добавьте туда исходный документ и только что полученный файл со снимками.
- Расставьте два файла в нужном порядке — фотографии в конец, в начало или между частями документа, если разбить его заранее.
- Объедините и, если пачка оказалась тяжёлой, прогоните итог через сжатие.
Частые вопросы
Можно ли вставить картинку в середину существующего PDF?
Да, но в три приёма: разделите документ по месту вставки, соберите снимок в отдельный PDF, затем склейте три куска в нужном порядке. Прямой вставки страницы в середину готового файла у нас нет.
Почему PDF из фотографий получился таким тяжёлым?
Снимок вставляется в исходном разрешении, а камера телефона выдаёт двенадцать и больше мегапикселей на кадр. Десяток таких кадров даёт файл на десятки мегабайт. Прогоните результат через сжатие, если файл нужно куда-то отправить.
Что делать с HEIC, если других копий снимка нет?
Пересохраните его в JPEG на самом устройстве: на айфоне это делается пунктом «Наиболее совместимые» в настройках камеры или простой отправкой снимка самому себе. Браузер на другой платформе HEIC не откроет в принципе.
Сохранится ли качество картинок после сборки?
У JPEG — полностью: данные изображения ложатся в PDF байт в байт, вырезаются только метаданные камеры. PNG тоже без потерь — пиксели те же, их лишь сжимают заново. WebP, BMP и GIF без прозрачности получают ещё одно поколение сжатия с потерями — JPEG с качеством 0,9, на фотографиях это незаметно; с прозрачностью они сохраняются в PNG.