Печать в PDF. Как передать для Document.print путь для печати, чтобы не вылезал диалог выбора папки?

Статус
Закрыто для дальнейших ответов.

aporiy zenonov

Топикстартер
12 лет на форуме
Сообщения
115
Реакции
60
Собственно, вопрос обозначен в теме - нужно передать функции Document.print маршрут для печати в виде переменной. Уточнение - на JavaScript. В объектной модели я, вроде, такой возможности не увидел, хотя, может, просто затупил. Есть ли обходные пути? Или, как альтернатива - возможно, настройки печати в VBA, Python, Delphi более разнообразны и позволяют это сделать?
Исходная задача, собственно, такая - в зависимости от расположения исходного indd-файла организовать экспорт/печать файла для вывода в разных форматах (tiff/pdf) и цветовых моделях(cmyk/grayscale) - что тоже зависит от расположения исходника и превьюшки (jpg) - все это - по разным маршрутам. Проблема в том, что при печати вылезает диалог выбора папки, что в данном случае убивает саму идею автоматизации данного процесса. Подошел бы и экспорт в pdf (там выбор маршрута - не проблема), но там нет возможности выбрать экспорт в grayscale (во всяком случае, я такой возможности не увидел).
Как быть? Буду благодарен за советы.
 
[Document].printPreferences.printFile
Data Type: File
The PostScript file to print to. Note: Valid only when the current printer is defined as postscript file.
 
Подошел бы и экспорт в pdf (там выбор маршрута - не проблема), но там нет возможности выбрать экспорт в grayscale (во всяком случае, я такой возможности не увидел).
Код:
with (app) {
    var doc = activeDocument;
    pdfExportPreferences.pdfColorSpace = PDFColorSpace.GRAY;
    efile = File(doc.fullName.toString().replace(/\.indd/gim, '.pdf'));
    doc.exportFile(ExportFormat.PDF_TYPE, efile, false);
    }
 
Спасибо, но это, наверное, только для CS6 работает. У меня (да и на многих других компьютерах, где этот скрипт должен работать) стоит CS5 - забыл сразу указать это в первоначальном письме.
Про CS6 читал, что там экспорт pdf в grayscale наладили, но меня это не спасает :(.
У меня на строку:
pdfExportPreferences.pdfColorSpace = PDFColorSpace.GRAY;
выдает ошибку: Object does not support the property or method 'GRAY'
:(:(:(
 
До CS5.5 включительно у PDFColorSpace свойства только CMYK, RGB да UNCHANGED_COLOR_SPACE...
 
Реально интересная фича! Она только в Adobe Distiller XI появилась? :)
Даже не беря в расчет отсутствие данной версии - на полутора десятках компьютеров 2 десятка (если не больше) папок в Distiller'е вручную настраивать... А если потом переустановки, изменения/добавления маршрутов...
Вообще аналогичная мысль с использованием Distiller'а приходила в голову, только имелось ввиду реализовать через BridgeTalk, но пока я в этой мысли еще окончательно не утвердился - слишком уж попахивает извращением. :)
Надеялся, что какой-то вариант средствами самого InDesign'а я упустил...
 
В доках Distiller не числится среди доступных через BridgeTalk, как и сам Acrobat.
 
В доках Distiller не числится среди доступных через BridgeTalk, как и сам Acrobat.

К сожалению, как выяснилось - да, не доступен. Меня просто сначала обнадежило обсуждение этого вопроса на Adobe'овском форуме Касьяном Серветским и Peter Kahrel (не знаю, как его правильно транскрибировать). У них, типа, в 2010 году такой фокус проходил ;)
Намедни решил проверить.
Код:
alert(BridgeTalk.getSpecifier("acrobat"));
alert(BridgeTalk.getTargets());
Первый алерт выдает null, в списке второго Acrobat тоже не значится :-(
Пока эту задачу отложил из-за других дел, но, вообще-то сильно удивляет, что вплоть до CS6-го невозможно экспортировать документ в ч/б или напечатать его без вызова диалога выбора папки. 'hmmm'
 
на полутора десятках компьютеров 2 десятка (если не больше) папок в Distiller'е вручную настраивать... А если потом переустановки, изменения/добавления маршрутов...

Настройте на одном, расшарьте папку, расскажите коллегам. Мы давно так работаем. Если понадобится что-то поменять не нужно бегать между двумя десятками компьютеров синхронизируя настройки.
 
Настройте на одном, расшарьте папку, расскажите коллегам. Мы давно так работаем.
Не забывайте, что такой метод является прямым нарушением лицензионного соглашения. Adobe об этом пишет отдельно, под значком Important:
Screen Shot 2013-12-02 at 15.24.33.png
 
Ну если акробат на всех рабочих местах, то эвери юзер и так имеют лицензию. Просто настройки будут в одном месте.
 
Статус
Закрыто для дальнейших ответов.