Импорт SVG в Illustrator с правильным размером viewBox

Когда я пытаюсь открыть svgфайл в Illustrator, Illustrator по умолчанию использует тот размер монтажной области, который использовался в последний раз при открытии файла. Таким образом, svg, если он не того же размера, что и предыдущая монтажная область, затем помещается и автоматически изменяется в этой монтажной области.

Есть ли обходной путь для этого, который не включает открытие поддельного документа с размером монтажной области svg, а затем закрытие этого документа и File > Openфактического svg?

Примечание. Я не хочу сохранять svg из Illustrator с помощью «сохранить возможности редактирования Illustrator» в диалоговом окне «Сохранить как svg».

Вы можете проверить это с любым svg, но вот очень простой 320 x 240:

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     viewBox="0 0 320 240" enable-background="new 0 0 320 240" xml:space="preserve">
<rect width="320" height="240"/>
<text transform="matrix(1 0 0 1 98.6523 133)" fill="#FFFFFF" font-family="'ArialMT'" font-size="48">Why?</text>
</svg>
Вы можете написать обходной путь, и в этом случае он не будет отображаться для пользователя как обходной путь. Действительно, любой программист, даже основные разработчики, сделал бы это таким образом, так что, вероятно, это не обходной путь на тот момент.
Спасибо, @joojaa, вот как мы сейчас к этому подходим. Просто удивлен, что Illustrator не видит размер viewBox в svg.

Ответы (2)

Я нашел своего рода решение для этого. Когда вы сохраняете свой SVG из Illustrator, вы должны снять флажок «отзывчивый».

Illustrator не заботится о свойстве viewBox, но заботится о свойствах ширины/высоты. Когда установлен флажок «отзывчивый», элемент SVG не имеет этих свойств, и поэтому он не учитывает их при повторном открытии SVG.

Я знаю, что это не совсем тот ответ, который вам нужен, но я работаю в основном с SVG, ограничивая его использование с Illustrator, потому что вы можете легко работать непосредственно с текстом. Illustrator добавляет много бессмысленного кода, который я предпочитаю не иметь в своих файлах SVG, я использую его только тогда, когда мне нужно сформировать «путь», который мне нужно использовать.

Мои 2 цента: во-первых, наличие приличного номера окна просмотра очень помогает при работе с элементами SVG. Таким образом, вы можете захотеть иметь окно просмотра квадратной формы, а не прямоугольной, что-то вроде «0 0 32 32» или «0 0 100 100», чтобы вы могли перемещать элемент SVG и изменять его размер, просто изменяя SVG в текстовом редакторе. а не из иллюстратора.

Даже потому, что если вы измените размер элемента только по высоте, он все равно будет ограничен его максимальной шириной. Работать в квадрате как в метрике проще.

1) Создайте пустое поле с помощью текстового редактора со значением «0 0 100 100» (это будет ваш стандартный файл, который вы будете открывать с этого момента). Не забудьте сохранить его с расширением .svg.

2) Избегайте использования реального текстового шрифта внутри файла иллюстратора, «расширяйте» их, чтобы они были векторными и могли без проблем изменять размер (если в ОС нет этого шрифта, он будет отображать шрифт системы) .

3) Откройте файл в иллюстраторе, скопируйте и вставьте свою работу. Сгруппируйте элементы и ПОДГОТОВЬТЕ ОБЪЕКТ К АРТБОРДУ (не наоборот). Вы можете сделать это по-разному, главное, чтобы вы соблюдали пропорции всех элементов.

Используйте из и сейчас и всегда созданный файл, чтобы вставить всю фигуру, которую вы хотите, в эту пропорцию «0 0 100 100». Неважно, вставляете ли вы прямоугольный элемент внутрь холста, вокруг которого много пустого пространства, в Интернете, когда вы связываете файл svg, это белое пространство холста будет прозрачным, потому что на самом деле его нет.

Бонус: используйте https://jakearchibald.github.io/svgomg/ , чтобы упростить путь вашего svg к основному фрагменту текста.