PDF не загружается на сайт
Прочитайте текст рядом с полем загрузки — там почти всегда написано ограничение, и гадать не нужно. Дальше проверяйте по порядку: размер файла против названного лимита, наличие пароля, целостность структуры и то, действительно ли внутри PDF. Четвёртый пункт кажется странным до первого случая, когда выясняется, что файл получили из мессенджера, где картинку переименовали в документ.
Коротко о цифрах
- Первая проверка
- подпись %PDF- в начале файла
- Наш лимит в браузере
- 1 ГБ на клиентских инструментах
- Наш лимит на сервере
- 50 МБ на восстановлении, защите и снятии защиты
- Побочный эффект сжатия
- страницы становятся изображениями, текстовый слой теряется
- Чего мы не знаем
- требований конкретного портала — их пишет получатель
Четыре проверки по порядку
- Размер. Сравните вес файла с ограничением, которое указано у формы. Это самая частая причина и единственная, где отказ предсказуем заранее.
- Шифрование. Приёмник разбирает файл, чтобы посчитать страницы или снять превью, и на зашифрованном документе спотыкается. Снимите защиту до загрузки.
- Структура. Сломанная таблица ссылок ломает разбор на той стороне, даже если у вас файл открывается: браузерный движок терпимее серверной библиотеки.
- Содержимое. Откройте начало файла в текстовом редакторе: у настоящего PDF там подпись %PDF-. Переименованные картинка или архив её не содержат.
Что делать с каждой причиной
- Не проходит по размеру — сожмите документ или разделите его на части, если форма принимает несколько файлов.
- Просит пароль при открытии у вас — сначала снимите защиту, приёмнику зашифрованный файл не разобрать.
- Открывается у вас, но отклоняется формой — прогоните его через восстановление: оно перепишет структуру начисто, содержимое останется прежним.
- Нет подписи в начале — запросите файл заново, желательно не через мессенджер, который умеет менять вложения.
- Форма молчит и ничего не происходит — попробуйте другой браузер: расширения и блокировщики иногда обрывают отправку без сообщения.
Чего мы не знаем о чужой форме
Мы не знаем требований конкретного портала и не будем их выдумывать. Лимит по размеру, допустимое число страниц, разрешённое разрешение сканов и требование к текстовому слою у каждого получателя свои, и единственный достоверный источник — та самая надпись рядом с полем загрузки или инструкция, которую вам выдали.
Одно предупреждение общего свойства всё же уместно. Сжатие, которое подгоняет файл под размер, перерисовывает страницы в изображения, и текстовый слой при этом теряется. Если получатель требует именно машиночитаемый текст, такой файл он отклонит уже по другой причине, и лучше уменьшить документ иначе: оптимизацией структуры или удалением лишних страниц.
Частые вопросы
Файл открывается у меня, но форма пишет, что он повреждён. Кто прав?
Оба. Браузерный движок достраивает недостающие ссылки на лету и показывает документ, а серверная библиотека на той стороне требует формально корректной структуры и отказывается от файла, который вы видите нормальным.
Помогает ли переименование файла?
Только если проблема была в самом имени: пробелы, кавычки и очень длинное название иногда мешают отправке. Содержимое от переименования не меняется, поэтому по всем остальным причинам отказ останется прежним.
Почему сайт не принимает документ с паролем, который я знаю?
Потому что пароль знаете вы, а не приёмник. Чтобы посчитать страницы или построить превью, ему нужно разобрать содержимое, а зашифрованный файл этого не позволяет и отклоняется до всякой проверки по существу.
Стоит ли сжимать документ до предела на всякий случай?
Нет. Чрезмерное сжатие превращает печати и мелкий шрифт в кашу, и получатель вернёт документ уже за нечитаемость. Уменьшайте ровно до заявленного лимита и проверяйте результат по самой мелкой детали.