SVG открывается пустым: семь проверок до восстановления
Пустой SVG может быть за холстом, невидимым, обрезанным, неподдерживаемым, некорректным или растровой оболочкой. Сохраните его и выполните семь проверок.
На этой странице
- 1. Сохраните файл и проверьте наличие данных
- 2. Сравните браузер и векторный редактор
- 3. Выделите всё и проверьте габариты
- 4. Сравните рисунок с viewBox
- 5. Проверьте окраску и видимость
- 6. Проверьте функции, которые целевая программа может не поддерживать
- 7. Проверьте или заново экспортируйте файл
- Когда восстанавливать или векторизовать заново
- Где полезен PerfectVector
- Частые вопросы
- Источники
Если SVG открывается пустым, сделайте копию до любого сохранения или экспорта. Рисунок может оставаться в файле, но находиться за видимым viewBox, быть прозрачным или белым, скрытым обтравкой или маской либо построенным с функцией, которую приложение не поддерживает. Повторное сохранение пустого документа может превратить восстанавливаемый файл в действительно пустой.
Откройте копию в браузере и векторном редакторе. Это первое разделение диагностики: если рисунок виден в одном, но пуст в другом, причина обычно в поддержке приложения или структуре документа; если пуст везде, вероятнее проблемы области просмотра, окраски, обтравки, некорректной разметки или отсутствующего содержимого.
Семь проверок
- Сохраните оригинал и проверьте размер файла.
- Сравните браузер с векторным редактором.
- Выделите всё и проверьте габариты объектов.
- Сравните габариты с
viewBox,widthиheight. - Проверьте заливку, обводку, непрозрачность, display и visibility.
- Проверьте обтравки, маски, узоры, фильтры,
<image>и<foreignObject>. - Проверьте разметку валидатором или экспортируйте заново до решения о повторной векторизации.
Это схема диагностики, а не семь несвязанных исправлений. Подтвердите наличие геометрии, затем проверьте её границы, масштаб, окраску, обтравку, поддержку эффектов и зависимости, прежде чем что-либо заменять.

1. Сохраните файл и проверьте наличие данных
Сделайте копию с новым именем. Затем проверьте размер и откройте её в обычном текстовом редакторе.
Из файла размером ноль байт или документа только с пустым корневым элементом <svg> почти нечего восстановить. Файл с контурами, группами, стилями или большим блоком закодированных данных не пуст лишь потому, что холст выглядит пустым.
Не делайте слишком много выводов из большого размера. В файле может быть встроенное изображение высокого разрешения, повторяющиеся стили или некорректные данные. Размер лишь говорит, что дальнейшая проверка имеет смысл.
2. Сравните браузер и векторный редактор
Перетащите SVG в современный браузер, затем откройте ту же копию в Inkscape, Illustrator, Figma или другом векторном редакторе.
| Браузер | Редактор | Вероятное направление диагностики |
|---|---|---|
| Видно | Пусто | Неподдерживаемая функция, встроенное веб-содержимое, узор, фильтр, маска или ограничение импортёра |
| Пусто | Видно | Проблема браузерной разметки, CSS, ресурса или безопасности |
| Пусто | Пусто | Область просмотра, окраска, обтравка, некорректная разметка или отсутствие содержимого |
| Видно | Видно | Исходный симптом может относиться к миниатюрам, способу импорта или конкретному приложению |
Отображение в браузере не доказывает наличия переносимых векторных контуров. Браузеры могут показывать встроенные растровые изображения и веб-содержимое, которые CAD или векторный редактор игнорирует.
3. Выделите всё и проверьте габариты
В векторном редакторе используйте Select All. Найдите рамку выделения, координаты, ширину и высоту.
- Рамка далеко за страницей означает, что рисунок вне холста.
- Огромная рамка может указывать на случайную точку, объект обтравки или прямоугольник фона.
- Обычная рамка с невидимым рисунком указывает на окраску, непрозрачность или обтравку.
- Отсутствие выделяемых объектов предполагает неподдерживаемое содержимое, пустой документ или неудачный импорт.
Если объекты вне холста, переместите выделение на страницу или подгоните страницу под рисунок. Не масштабируйте контуры, если их реальные размеры правильные.
4. Сравните рисунок с viewBox
Откройте SVG как текст и проверьте корневой элемент:
<svg xmlns="http://www.w3.org/2000/svg"
width="800" height="600" viewBox="0 0 800 600">Четыре числа viewBox — минимальный x, минимальный y, ширина и высота, как определяет спецификация систем координат SVG. Рисунок с координатами около 10000,10000 не появится внутри viewBox="0 0 800 600". Нулевая или отрицательная размерность viewBox отключает отображение этого элемента.
Исправьте видимые границы по фактической геометрии. Не вставляйте случайный viewBox из другого файла. Руководство по неправильному размеру SVG объясняет взаимодействие viewBox и размеров области просмотра, когда рисунок виден, но неверно масштабирован.
5. Проверьте окраску и видимость
Выделите объект и проверьте и заливку, и обводку. Частые невидимые состояния:
fill="none"без обводки;- белая заливка на белом холсте;
opacity="0",fill-opacity="0"илиstroke-opacity="0";display="none"илиvisibility="hidden";- класс, таблица стилей которого применяет одно из этих значений;
- очень тонкая обводка в текущем масштабе.
Временно поместите цветной прямоугольник позади рисунка или задайте яркую пробную заливку копии одного контура. Если он появился, восстановите нужные стили, не оставляя диагностический цвет в конечном файле.
Если заливки видны, а отдельные линии исчезают после экспорта, используйте руководство по исчезающим обводкам SVG, чтобы проверить окраску обводки, обтравку, масштаб и неподдерживаемое оформление без повторной трассировки хорошей геометрии.
6. Проверьте функции, которые целевая программа может не поддерживать
Найдите в разметке clipPath, mask, pattern, filter, <image> и <foreignObject>.
Обтравки и маски могут скрыть всё при нарушенных системах координат или ссылках; модель отображения SVG включает обтравку, маскирование, фильтрацию и композицию в последовательность рендеринга. Узоры и фильтры могут отображаться иначе в разных импортёрах. Элемент <image> встраивает изображение в контейнер SVG, а <foreignObject> может содержать данные другого пространства имён XML, как описывает спецификация встроенного содержимого SVG.
Если фигуры сохраняются, но HTML-подписи исчезают, сравните foreignObject с нативным текстом SVG и замените только проблемную подпись.
Если контуры видны, но тень обрезана, диагностируйте обрезанную тень SVG, отдельно проверив область фильтра и внешнюю область просмотра.
Ссылки тоже могут перестать работать. Проверьте, что идентификаторы из url(#name) существуют и уникальны. Если SVG зависит от внешнего изображения, шрифта, таблицы стилей или связанного файла, перемещение могло нарушить доступ к ресурсу.
Для приложения Qt руководство по отображению SVG в Qt отделяет проверки модулей и загрузки от ограничений поддерживаемых функций. Сначала сравните маленький исходник, затем проверьте рисунок выбранным способом отображения.
Если браузер показывает рисунок, а CAD ничего не импортирует, ищите обычные <path>, <rect>, <circle> и похожую векторную геометрию. У видимого встроенного PNG нет кривых для CAD.
7. Проверьте или заново экспортируйте файл
Некорректный XML, недопустимые атрибуты и специфические структуры экспортёра могут приниматься одним средством отображения и отвергаться другим. Если есть исходный рисунок, откройте его в приложении, где он был создан, и экспортируйте обычную или упрощённую копию SVG. Преобразуйте в обычную геометрию только те элементы оформления, с которыми не справляется целевая программа, и сравните новый файл с исходником.
Если исходника нет, используйте валидатор SVG/XML или текстовый редактор, сообщающий о синтаксических ошибках. Работайте с копией и сначала исправьте первую структурную ошибку: последующие сообщения могут быть её следствием.
Не запускайте оптимизатор на единственной копии. Оптимизация переписывает структуру и может осложнить восстановление, если проблема ещё не понята.
Когда восстанавливать или векторизовать заново
Повторная векторизация уместна, если файл содержит только встроенный растр, созданная структура SVG непригодна вне браузера или редактируемый исходник не сохранился. Извлеките или найдите растр наилучшего качества и трассируйте его в настоящие контуры.
Это неверное решение для контуров за холстом, сломанного viewBox, белых заливок или одной неподдерживаемой маски. В таких файлах уже есть геометрия, и её сохранение предотвращает ненужную потерю качества.
Если весь рисунок выделяется одним пиксельным изображением или становится блочным при сильном увеличении, используйте диагностику скрытых пикселей до восстановления.
Где полезен PerfectVector
Процесс преобразования изображения в вектор в PerfectVector подходит для растровой ветки диагностики. Загрузите лучший PNG, JPG или другое поддерживаемое изображение и проверьте векторный предпросмотр: настоящие фигуры, аккуратные края, негативное пространство и удобные контуры.
Он не исправляет произвольную разметку SVG и не восстанавливает внешние ресурсы. Если в файле уже хорошие контуры, исправьте область просмотра, стили или неподдерживаемую функцию в векторном редакторе. Если это лишь растр в оболочке SVG, восстановление видимого рисунка как контуров даст переносимый вектор вместо ещё одной оболочки.
Частые вопросы
Почему SVG пуст в Illustrator, но виден в Chrome? Возможно, файл использует функцию, поддерживаемую браузером, но не импортируемую Illustrator: встроенное веб-содержимое, сложный узор, фильтр, маску или растровую оболочку. Проверьте разметку и наличие обычных векторных контуров перед повторным экспортом более простой копии SVG.
Как найти рисунок SVG за пределами холста?
Используйте Select All и проверьте границы или координаты выделения. Если рамка далеко от страницы, переместите её на страницу или подгоните страницу под рисунок. Затем обновите viewBox под нужную видимую геометрию.
Может SVG быть белым и выглядеть пустым?
Да. Белые заливки и обводки исчезают на белом холсте. Файл также может иметь нулевую непрозрачность, display="none" или visibility="hidden". Проверьте его на цветном фоне и изучите вычисленные стили.
Почему SVG импортируется пустым в Fusion или другой CAD?
Файл может содержать встроенный растр или неподдерживаемое веб-содержимое вместо векторных кривых. CAD нужна импортируемая геометрия контуров. Ищите <path> и связанные фигуры и проверьте, не находится ли видимое содержимое внутри <image> или <foreignObject>.
Стоит преобразовать пустой SVG в PNG и обратно в SVG? Только если в SVG нет восстанавливаемой векторной геометрии, а растровый вид — лучший сохранившийся исходник. Промежуточный PNG уничтожает существующую структуру контуров. Сначала диагностируйте область просмотра, видимость, обтравку и поддержку.
Источники
- W3C — системы координат SVG 2 — Определения областей просмотра,
viewBox, единиц и преобразований. - W3C — модель отображения SVG 2 — Обтравка, маскирование, фильтрация, композиция и порядок отображения.
- W3C — встроенное содержимое SVG 2 — Определения встроенных изображений и внешнего содержимого в SVG.
- W3C — служба проверки разметки — Проверка документов по стандартам для отладки разметки.
Если сохранившийся файл — только пиксели в контейнере SVG, восстановите рисунок как редактируемые векторные контуры и проверьте предпросмотр. Если хорошие контуры уже есть, сохраните их и исправьте минимальную проблемную часть документа.
Ещё из блога

Острые выступы SVG: исправьте углы без обрезки
Соединение miter в SVG может создать длинный выступ или обрезаться у края страницы. Сравните пределы miter, bevel, round и запас области просмотра перед редактированием контуров.
SVG-спрайты на основе symbol: сохраните ID, viewBox и цвета
Создайте SVG-спрайт на основе symbol с двумя иконками. Сохраните ID и viewBox, задайте поведение цветов и проверьте внешние ссылки и доступные имена в контексте.