[CDR 2017-2021] Символы - зло

MrDesigner

Топикстартер
15 лет на форуме
Сообщения
2 074
Реакции
767
Символы (Symbol) в Кореле - зло.

Макет, содержащий Symbol, невозможно средствами Корела перевести в битмап. Зачастую (во всяком случае, нам) это необходимо: клиенты несут навороченные файлы, например, для широкоформатной печати под оклейку машины, и чтобы не копаться во всём этом фарше, нужно весь макет перевести скопом в битмап...
 

Йожег

без телевизора
12 лет на форуме
Сообщения
8 836
Реакции
4 275
Что мешает (по окончании редактирования) превратить "зло" в объект?
120002

Если заливка предназначена для стоков, такое с ней проделать даже необходимо.
 

MrDesigner

Топикстартер
15 лет на форуме
Сообщения
2 074
Реакции
767
Что мешает (по окончании редактирования) превратить "зло" в объект?
Это мне ответ? Я не редактирую файлы. Приносят клиенты, и рыться в их фарше времени нет. Нужно просто забитмапить макет и послать на широкоформатку.
 

Йожег

без телевизора
12 лет на форуме
Сообщения
8 836
Реакции
4 275

MrDesigner

Топикстартер
15 лет на форуме
Сообщения
2 074
Реакции
767
Всего одна операция и у вас все получится
Оффтопик, конечно же, в этой теме.
Вот такую радость (и это не самый маленький файл) порой приносят. Нужно распечатать на широкоформатке, на фолии. Разбираться, где символы, полупрозрачности, линзы, тени и тыды, нет времени.

Меню Convert to Bitmap неактивно из-за символов в макете и ещё чёрт его знает какого мусора...

120011
 

Йожег

без телевизора
12 лет на форуме
Сообщения
8 836
Реакции
4 275

Не по теме:
Лигу упразднили, но есть же еще спортлото.
Принимайте сразу битмапы и жизнь станет сразу легче и веселее.
 
Последнее редактирование:

lev

Модератор
20 лет на форуме
Сообщения
2 145
Реакции
2 071

Йожег

без телевизора
12 лет на форуме
Сообщения
8 836
Реакции
4 275
Автор знает что символы зло и блокируют его любимую фишку.
1) на любой мешанине объектов, достаточно щелкнуть правой кнопкой и заглянуть в пункт "Symbol" Если в куче есть хоть один символ будет активен пункт "Revert to object"
2) Символы прекрасно видно в палитре символов.
Единственное на мой взгляд неудобство, что они никак не ищутся поиском, а при выборе символа Find... выдает ошибку
120016


ps не знал о такой склонности символов и порой сам отдавал макеты не разобранными ;]] Впрочем в пдф они ничему не мешают.
 
Последнее редактирование:

Йожег

без телевизора
12 лет на форуме
Сообщения
8 836
Реакции
4 275
Что характерно "лидер отрасли" плющит символы запросто, но у корела (прямо как у нас) - свой особый путь '))'
 

izrukvruki

15 лет на форуме
Сообщения
1 839
Реакции
304
Это глюк из той же оперы, что если выделить все и Ctrl+Q - то кривления не будет, если есть хоть один битмап
 

dastin

Некромант-любитель
12 лет на форуме
Сообщения
2 145
Реакции
2 043
[CDR 2019] - Конкурс для знатоков CorelDraw. Выиграй пожизненную лицензию! (до 9 Мая). Гм, вам не нравится то, что наличие определенных типов объектов в выделении блокирует данный пункт? По мне так не сильное неудобство
forum.rudtp.ru
forum.rudtp.ru
Кстати ... код
Код:
Sub del_symbs()
  Dim sd As SymbolDefinition
  For Each sd In ActiveDocument.SymbolLibrary.Symbols
    For Each symb In sd.Instances
    symb.Symbol.RevertToShapes
    Next symb
  Next sd
End Sub
в 2019 не работает ... затыкается на For Each sd In ActiveDocument.SymbolLibrary.Symbols
120042
 

lev

Модератор
20 лет на форуме
Сообщения
2 145
Реакции
2 071
CorelDRAW 2019 под рукой нет, но, судя по документации, теперь у документа может быть несколько библиотек символов (https://community.coreldraw.com/sdk/api/draw/21/c/symbollibraries) и надо сделать дополнительный перебор по ним.
Проверить не могу. Должно быть примерно так:
Код:
Sub del_symbs()
  For Each sl In ActiveDocument.SymbolLibraries
    For Each sd In sl
      For Each symb In sd.Instances
        symb.Symbol.RevertToShapes
      Next symb
    Next sd
  Next sl
End Sub
https://community.coreldraw.com/sdk/api/draw/21/c/symbollibraries
 

dastin

Некромант-любитель
12 лет на форуме
Сообщения
2 145
Реакции
2 043
и надо сделать дополнительный перебор по ним.
пробовал уже эту идею ...
та же ошибка, в том же месте
...
причем в той же документации - нет разницы между 20
(https://community.coreldraw.com/sdk/api/draw/20/c/symbollibraries)
и 21
(https://community.coreldraw.com/sdk/api/draw/21/c/symbollibraries)
версией,
однако же в 20 версии всё без проблем

не говоря уже о том, что чуть ниже
указано
120087


ИМХО чего-то недопилили
 
Последнее редактирование:

dastin

Некромант-любитель
12 лет на форуме
Сообщения
2 145
Реакции
2 043
А вот простой двойной перебор ошибок не вызывает ...
Код:
Sub del_symbs()
  Dim sd As SymbolDefinition, sds As SymbolDefinitions, i As Integer, j As Integer
  Set sds = ActiveDocument.SymbolLibrary.Symbols
For i = 1 To sds.Count
    Set sd = sds.Item(i)
For j = 1 To sd.InstanceCount
    sd.Instances.Item(j).Symbol.RevertToShapes
    Next j
  Next i
End Sub
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Ты меня опередил - только хотел сказать, что конструкция For each - это зло
 

lev

Модератор
20 лет на форуме
Сообщения
2 145
Реакции
2 071
чуть ниже указано ... X7
Угу, наврал, сбила фраза "The SymbolLibraries class represents a collection of all the symbol libraries (or SymbolLibrary objects) in a document." А они оказались не свойством документа, а свойством приложения.
Ради интереса поэкспериментировал. Подключаемые библиотеки символов живут во внешних файлах (вот радость забыть её при передаче файла на сторону :) ). Дополнительных мер с кодом для перевода символов из подключенных библиотек в объекты принимать не нужно, достаточно наших вариантов.
 
  • Спасибо
Реакции: Nray