Использованные в PDF цвета в smartname

baraka

Участник
Сообщения
193
Реакции
90
Здравствуйте!
Возможно ли в ReportMaker'е получить в smartname не список используемых красок [inks] (Суan, PANTONE 485 ...), а цвета, (10% Cyan, 30% PANTONE 485 и.т.д....), которые задействованы в PDF файле? В XMP такого нет, вижу один выход - парсить PDF. Есть ли решение попроще?

Возможно, через тикет Create PAF / JPG / XML (LinkEdge) дергаешь xml (Extract XMP Report (XMP)).
В нём будет следующее
Код:
         <egInkCovL:coverage>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <egInkCov:pct>9.283576677</egInkCov:pct>
                  <egInkCov:mm2>3732.</egInkCov:mm2>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egInkCov:pct>11.41541623</egInkCov:pct>
                  <egInkCov:mm2>4589.</egInkCov:mm2>
               </rdf:li>...

В нём нам интересна строчка <egInkCov:mm2>4589.</egInkCov:mm2>, это площадь кв мм по каждой краске. Соответственно потом делишь на общую площадь, которую можно взять из ширины и высоты, или сумму из egInkCovL:coverage.
 

ACTPOHOM

12 лет на форуме
Сообщения
2 981
Реакции
1 133
Возможно, через тикет Create PAF / JPG / XML (LinkEdge) дергаешь xml (Extract XMP Report (XMP)).
В нём будет следующее
Код:
         <egInkCovL:coverage>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <egInkCov:pct>9.283576677</egInkCov:pct>
                  <egInkCov:mm2>3732.</egInkCov:mm2>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <egInkCov:pct>11.41541623</egInkCov:pct>
                  <egInkCov:mm2>4589.</egInkCov:mm2>
               </rdf:li>...

В нём нам интересна строчка <egInkCov:mm2>4589.</egInkCov:mm2>, это площадь кв мм по каждой краске. Соответственно потом делишь на общую площадь, которую можно взять из ширины и высоты, или сумму из egInkCovL:coverage.
Там все сложнее, эта инфа не заходит в XMP ПДФ, так как она занимает дофига места и в целях экономии просто режется
 

baraka

Участник
Сообщения
193
Реакции
90
Там все сложнее, эта инфа не заходит в XMP ПДФ, так как она занимает дофига места и в целях экономии просто режется

Этой инфы у меня не было в исходном pdf. Появилась только после Create PAF / JPG / XML (LinkEdge).
Вообщем здесь всё объясняется

Получается что-то вроде такого
1568113115311.png
 

ACTPOHOM

12 лет на форуме
Сообщения
2 981
Реакции
1 133
@baraka Вроде ТС хотел список % на каждый swatch на пример 3 объекта покрашены черным, black 10%, black 35%, black 100%

p.s. по крайней мере мы его так поняли.

а скрипт прикольный у тебя, у меня делается это несколько дольше.
 
Последнее редактирование:

baraka

Участник
Сообщения
193
Реакции
90
@baraka Вроде ТС хотел список % на каждый swatch на пример 3 объекта покрашены черным, black 10%, black 35%, black 100%

p.s. по крайней мере мы его так поняли.

а скрипт прикольный у тебя, у меня делается это несколько дольше.
Мне нужно не список объектов, а список цветов. К сожалению, некоторые заказчики хотят это видеть в текстовом виде в Бланке утверждения заказа. Писать вручную = ошибки и потеря времени.
 

ACTPOHOM

12 лет на форуме
Сообщения
2 981
Реакции
1 133
Мне нужно не список объектов, а список цветов. К сожалению, некоторые заказчики хотят это видеть в текстовом виде в Бланке утверждения заказа. Писать вручную = ошибки и потеря времени.
У меня список, только столбиком формируется в письме, разделители <br> только, но я дела/т это xpath ами, а не скриптом.
 

Spirit412

15 лет на форуме
Сообщения
870
Реакции
128
Почему нельзя в свочах создать глобальные цвета (не пантоны), которые записываются в XMP. Из XML взять из и расположить на бланке.
1569310925997.png


Пантоны как мне кажется то же не проблема выцепить из XMP
1569311072394.png

И делайте с этой информацией что хотите.
Можно и на бланке размещать.
 

ACTPOHOM

12 лет на форуме
Сообщения
2 981
Реакции
1 133
@Spirit412 не понял, на первом скрине у тебя реально в XMP лежит свотч не спот ?
 

Spirit412

15 лет на форуме
Сообщения
870
Реакции
128
@Spirit412 не понял, на первом скрине у тебя реально в XMP лежит свотч не спот ?
Да!

ктрл+шифт+альт+i
Можешь сам убедиться.

Единственный минус как я погляжу - файл нужно чистить от лишних свочей. Потому как они все будут в списке. Ну и еще параметра "global" для цвета я не нашел в XMP

Как вариант. Делать некий префикс к цвету. Скриптом парсить список и выводить только с префиксом. Ну а далее его обрезать.
Тогда 100% будет работать
 

ACTPOHOM

12 лет на форуме
Сообщения
2 981
Реакции
1 133
ты из AI сохраняешь как NormPDF ? в обычном PDF у меня не сохраняется инфа о СМИК свотчах
 

romyk

10 лет на форуме
Сообщения
1 353
Реакции
247
Единственный минус как я погляжу - файл нужно чистить от лишних свочей.
В свотчах - только два, в XMP - куча лишних. И второй вопрос- как автоматом загнать все используемые цвета в свотчи?
 

Вложения

  • 2019-09-24_14-12-47.jpg
    2019-09-24_14-12-47.jpg
    194.9 КБ · Просм.: 393

Spirit412

15 лет на форуме
Сообщения
870
Реакции
128
В свотчах - только два, в XMP - куча лишних. И второй вопрос- как автоматом загнать все используемые цвета в свотчи?
Сохрани документ и заново открой. Или просто пересохрани.

В нормализованном документе всё лишнее отрезается.
В ненормализованном всё есть. Достаточно блокнотом открыть, всё увидишь.
Create PAF / JPG / XML (LinkEdge) - тоже не поможет вытащить полное XMP из ненормализованного PDF

Нужно искать варианты: через питстоп
1569330742375.png


Либо стороннами библиотеками.
Тот же Python например. Через связку скриптраннер VBS -> Py
Python простой язык. Немного непривычен синтаксис, но в целом жить можно
Библиотеки подключаются в два клика.

Код запуска py скрипта через VBS с передачей скрипту параметров
Код:
Function Main(inputs, outputFolder, params)
Dim WshShell, fso, loc, cmd, sFile, pyExe, inputFile, outFolder, outXmlFile
Const Quote = """"
inputFile = inputs(0)
outFolder = outputFolder
outXmlFile = params(0)


Set fso = CreateObject("Scripting.FileSystemObject")
loc = fso.GetAbsolutePathName(".")
sFile = "C:\Esko\bg_data_fastserverscrrunnt_v100\Scripts\WindowsScript\MyPyScript.py "  & Quote & inputFile & Quote & " " & Quote & outFolder & Quote & " " & Quote & outXmlFile & Quote
pyExe = "C:\Python37\python.exe "
WScript.Echo pyExe + sFile



Set WshShell = CreateObject("WScript.Shell")
WshShell.Run (pyExe & sFile),1,true

if WScript.Arguments.Count = 0 then
    loc = fso.GetAbsolutePathName(".")
else
    loc = WScript.Arguments(0)
end if

Main = "OK"
End function

Кто-то ;) возможно и на JAVA тебе сделает.

Короче. Подходов море.

Как добавить все используемые цвета в макета:
add used colors в меню swatches
 

ACTPOHOM

12 лет на форуме
Сообщения
2 981
Реакции
1 133
насчет питона надо думать, но смысл тащить свотчи, которые не используются.
 

Вложения

  • Screen Shot 2019-09-24 at 17.13.41.png
    Screen Shot 2019-09-24 at 17.13.41.png
    82.3 КБ · Просм.: 392

Spirit412

15 лет на форуме
Сообщения
870
Реакции
128
Молодец. ты смартом вытащил? Да, можно и так. Забыл про этот способ. Давно с XMP не работал.
Ты префикс к именам нужных свочей добавь в AI. Ну а выборку xpath добавь условие сравнения первых 2х символов.
например двойное тире --
 

ACTPOHOM

12 лет на форуме
Сообщения
2 981
Реакции
1 133
У смарты большие возможности, но в заголовке перечислены все Swatch без упоминания, используется ли он или нет.
И еще надо приводить входные файлы к одному типу автоматически, иначе в разных форматах PDF заголовки будут разные.
поэтому метод парсинга иллюстраторовского PDF считаю порочным и придаю анафеме!