Как скриптом экспортировать определенную страницу в PNG?

  • Автор темы Автор темы teatral
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

teatral

Участник
Топикстартер
Сообщения
350
Реакции
365
Я знаю, что есть метод Export, который есть у документа, элементов страницы, но не у самой страницы

Нашел также, что можно экспортировать определенную страницу в Jpeg, указав ее в JPEGExportPreferences (аналогично для некоторых других форматов)

Но как экспортировать определенную страницу именно в PNG?
 
Ответ: Как скриптом экспортировать определенную страницу в PNG?

Там делается экспорт через группу, но если группа охватывает не всю площадь страницы, то мы увидим в Png только группу, а белые поля страницы туда не войдут.
 
Ответ: Как скриптом экспортировать определенную страницу в PNG?

А иначе никак по моему. Создайте пустую рамку вокруг страницы, экспортните вместе с ней а потом уберите.
 
Ответ: Как скриптом экспортировать определенную страницу в PNG?

я делаю экспорт страницы в pdf, ее открываю в фотошопе, и сохраняю уже в png. прямой экспорт все равно не дает поменять разрешение, так что пользы от него мало.
для простоты использования скрипт для фотошопа генерится в скрипте индизайна, и запускается из него - с бриджем возиться неохота.

PHP:
if (pdfFiles.length>0)
{
//run photoshop
var psScript="#target photoshop\r\n";
psScript+="app.displayDialogs = DialogModes.NO;\r\n";
psScript+="app.preferences.rulerUnits = Units.MM;\r\n";
psScript+="var openOptions = new PDFOpenOptions;\r\n";
psScript+="openOptions.bitsPerChannel=BitsPerChannelType.EIGHT;\r\n";
psScript+="openOptions.mode=OpenDocumentMode.RGB;\r\n";
psScript+="openOptions.cropPage=CropToType.CROPBOX;\r\n";
psScript+="openOptions.resolution=300;\r\n";
psScript+="openOptions.suppressWarnings=true;\r\n";

psScript+="var myFiles=new Array();\r\n";
for(var j=0;j<pdfFiles.length;j++)
{
psScript+="myFile=new Object();\r\n";	
psScript+="myFile.file=new File(\""+pdfFiles[j].file+"\");\r\n";	
psScript+="myFile.crop=["+pdfFiles[j].crop+"];\r\n";
psScript+="myFiles.push(myFile);\r\n";
}

psScript+="for (var i=0;i<myFiles.length;i++) {\r\n";

psScript+="docRef=open(myFiles[i].file,openOptions);\r\n";
psScript+="docRef.crop([UnitValue(myFiles[i].crop[1],\"mm\"),UnitValue(myFiles[i].crop[0],\"mm\"),UnitValue(myFiles[i].crop[3],\"mm\"),UnitValue(myFiles[i].crop[2],\"mm\")]);\r\n";
psScript+="docRef.saveAs(File(myFiles[i].file.fullName.substring(0,myFiles[i].file.fullName.lastIndexOf(\".\"))+\".png\"), new PNGSaveOptions, true);\r\n";
psScript+="docRef.close(SaveOptions.DONOTSAVECHANGES);\r\n";
psScript+="myFiles[i].file.remove();"
psScript+="}\r\n";
psScript+="app.displayDialogs = DialogModes.ALL;\r\n";
app.doScript(psScript);

}
 
Ответ: Как скриптом экспортировать определенную страницу в PNG?

А иначе никак по моему. Создайте пустую рамку вокруг страницы, экспортните вместе с ней а потом уберите.

Видимо прийдется рамку.
Либо экспортировать в Jpeg, а потом программой IrfanView можно через командную строку конвертировать в PNG
 
Ответ: Как скриптом экспортировать определенную страницу в PNG?

А фотошоп чем не устраивает - не установлен что ли?
 
Ответ: Как скриптом экспортировать определенную страницу в PNG?

А фотошоп чем не устраивает - не установлен что ли?
Я просто не изучал, есть ли у Photoshop командная строка, которая может делать манипуляции с изменением формата файлов, разрешения, размеров картинки
У IrfanView все это можно делать командной строкой (и я его использую также на компьютерах сотрудников, у которых нет Photoshop)

У меня цель, чтобы делать это не вручную, а программой - для экономии времени, так как это регулярное действие
 
Ответ: Как скриптом экспортировать определенную страницу в PNG?

Я просто не изучал, есть ли у Photoshop командная строка, которая может делать манипуляции с изменением формата файлов, разрешения, размеров картинки

Так в сообщении #5 и приведен скрипт который фотошоп автоматом запускает из индизайна и делает что надо.
 
Статус
Закрыто для дальнейших ответов.