16 ноября 2012 г.

CorelDraw: массовый импорт текста на примере игровых карт

Я уже говорил, что ленивый и не люблю долго работать? :) Так вот, была у меня не так давно задача - подготовить комплект игровых карт для самодельной настольной игры. Карты просты, минимум графики, но много текста и самих карт более 200 штук. Вот пример таких карт:


Понятное дело, что Copy&Paste будет очень долгим, нудным и, наверняка что-то пропущу в процессе. Кстати, источник текст для всех карт был аккуратно подготовлен в электронную таблицу, где все данные были разделены по соответствующим полям.

На помощь мне пришла замечательная возможность CorelDraw - "Слияние при печати". В итоге все карты удалось сделать за пару часов.

Что бы повторить этот трюк понадобится:

1. Макет карты, например, такой

2. Электронная таблица с исходными данными, например, такая:
Первая строка - обязательно заголовки столбцов.

3. CorelDraw начиная с версии X4 (в нем "слияние" точно есть, в других версиях - не знаю).

Алгоритм работы такой:

1. Сохраняем электронную таблицу в формате "CSV (разделители - запятые)"

2. Открываем в CorelDraw пункт "Файл - Слияние при печати - Создать/загрузить поля"

 3. Выбираем "Импортировать тест из файла".

4. На шаге "Добавление  полей" можно добавить/удалить поля, если при создании электронной таблицы не все поля были созданы или остались лишние:

5. На следующем шаге ("Добавление и редактирование записей") видим все записи, импортированные из источника:
В этой форме тоже можно внести правки в импортированные данные или снять пометки с тех строк (записей), которые не нужны в итоговом документе.

6. На последнем шаге можно сохранить настройки, а можно не сохранять. Я просто нажимал "Готово"

Когда все это проделано - появится вот такая панелька со списком импортированных полей данных:


Её можно прикрепить к верхнему меню CorelDraw, что бы она не мешала при работе с документом дальше.

7. Когда импорт закончен - надо в макет карты вставить в нужные места соответствующие поля полученных данных. Для этого нужно 1) выделить текст на макете; 2) выбрать вставляемое поле; 3) вставить это поле:

Когда поле вставлено в нужное место макета - оно выглядит так:

Далее надо проделать эту операцию со всеми полями в макете.

8. Когда все поля вставлены - надо выделить все объекты макета (мышкой или CTRL+A) и сгруппировать (с помощью контекстного меню или CTRL+G)

9. В конце всех этих манипуляций нужно нажать кнопку "Выполнить слияние с новым документом":

Если все сделано верно - создается новый документ, на каждой странице которого будет отдельный макет с вставленным в него текстом. Если все карты со всех страниц переместить на один лист - получится вот что (в нашем примере):

Весь текст успешно вставлен в нужные места на картах - что мы и хотели получить. Вот такой способ быстро вставить текст в большое число однотипных объектов.

К сожалению, импортировать картинки в карты таким способом не получится - здесь нам поможет только заграница умение работать с макросами в CorelDraw (импортировать ссылки на изображения, макросом по этой ссылке найти и вставить картинку - как-то так, сам не пробовал).

Вот и всё.

1 комментарий:

Отправить комментарий