[ID CC-CC2022] Скрипт InDesign вставка pdf по списку

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

1kuperster

Участник
Топикстартер
Сообщения
51
Реакции
1
Есть список файлов в .txt надо по этому списку вставить .pdf в рабою область inD. Размеры .pdf разные от 50 x 90 до 420 x 297. Размеры .pdf все прописаны в названии .pdf. Каждый pdf должен быть вставлен в отдельный фрейм. Пример .txt 85880-1.txt
 
Вот как раз эта задача через датамерж реализуема
За одним маленьким но, которое портит все дело
Размеры .pdf все прописаны в названии .pdf.
В такой постановке тоже скриптовать придется
 
область каждый раз разная?

надо взять все PDF-ки из папки и вставить? или только те что в списке?
 
область каждый раз разная?

надо взять все PDF-ки из папки и вставить? или только те что в списке?
Из папки. Да разная 990 x 630 или 990 x 680 или 427 x 630.
Главное чтобы pdf во фрейм с правильным размером становились.
 
Надо вставить PDF-ки в отведённые им фреймы согласно размеров?
Кто фреймы рисует?
Есть подозрение что спуск полос через ID делаете.
 
Надо вставить PDF-ки в отведённые им фреймы согласно размеров?
Кто фреймы рисует?
Есть подозрение что спуск полос через ID делаете.
Так и есть.
Фреймы приходится рисовать самому.
 
Вообще говоря, для более правильного понимания задачи вам бы следовало прикрепить не текстовый файл,а шаблон с заполняемыми фреймами. Или вы на самом деле хотите скрипт который бы сам полосу оптимально заполнял имеющимися макетами????
 
Так и есть.
Фреймы приходится рисовать самому.
Интересует возможность упростить это рутине действие с помощью скриптов
Есть работающий скрипт но проблема он только ставит в заданный размер фрейма в скрипте. Приходится сортировать по размерам.
 
Вообще говоря, для более правильного понимания задачи вам бы следовало прикрепить не текстовый файл,а шаблон с заполняемыми фреймами. Или вы на самом деле хотите скрипт который бы сам полосу оптимально заполнял имеющимися макетами??
Оптимально нет. Оптимально я сам это делаю. Надо по списку или с выбранной папки вставать pdf с размером.
 

Вложения

  • 2017-03-30_14-47-23.png
    2017-03-30_14-47-23.png
    26.2 КБ · Просм.: 995
Есть работающий скрипт но проблема он только ставит в заданный размер фрейма в скрипте. Приходится сортировать по размерам.
Держите кусок кода определяющий формат.
Код:
var myPDFFile = File.openDialog("Choose a PDF File", "PDF files:*.PDF"); 
if(myPDFFile == "" || myPDFFile == null) 
  exit(0); 
myDocument = app.documents.add(); 
myPage = myDocument.pages.item(0); 
myPlacePDF(myDocument, myPage, myPDFFile); 
 
w = (myDocument.allGraphics[0].geometricBounds[2]) - (myDocument.allGraphics[0].geometricBounds[0]);
h = (myDocument.allGraphics[0].geometricBounds[3]) - (myDocument.allGraphics[0].geometricBounds[1]);
 w = Math.round(w);
 h = Math.round(h);
 $.writeln (w);
 $.writeln (h);
  myDocument.close();
function myPlacePDF(myDocument, myPage, myPDFFile){ 
    var myPDFPage =1;
    app.pdfPlacePreferences.pdfCrop = PDFCrop.cropMedia;
    var myCounter = 1;
    var myBreak = false;
        myPDFPage = myPage.place(File(myPDFFile), [0,0])[0];
}
 
  • Спасибо
Реакции: 1kuperster
Держите кусок кода определяющий формат.
Код:
var myPDFFile = File.openDialog("Choose a PDF File", "PDF files:*.PDF");
if(myPDFFile == "" || myPDFFile == null)
  exit(0);
myDocument = app.documents.add();
myPage = myDocument.pages.item(0);
myPlacePDF(myDocument, myPage, myPDFFile);
 
w = (myDocument.allGraphics[0].geometricBounds[2]) - (myDocument.allGraphics[0].geometricBounds[0]);
h = (myDocument.allGraphics[0].geometricBounds[3]) - (myDocument.allGraphics[0].geometricBounds[1]);
 w = Math.round(w);
 h = Math.round(h);
 $.writeln (w);
 $.writeln (h);
  myDocument.close();
function myPlacePDF(myDocument, myPage, myPDFFile){
    var myPDFPage =1;
    app.pdfPlacePreferences.pdfCrop = PDFCrop.cropMedia;
    var myCounter = 1;
    var myBreak = false;
        myPDFPage = myPage.place(File(myPDFFile), [0,0])[0];
}
Это немного не то.
Нет возможности выбрать несколько файлов например 70 .pdf.
Вставка происходит с исходным размером .pdf но не с тем что указан в названии.
Быстрее crl+d
 
Все имена файлов, содержащие размеры, полезно скопировать (махом) через, например, Total Commander в Excel.
Там разобрать текст по столбцам, отсортировать. Можно присвоить условные типы — типоразмеры (у вас их какое-то ограниченное количество).
Потом делать в Total Commander выбор по маске только тех файлов, которые относятся к одному типу. И их уже либо кидать на Data Merge, либо делать Place.
Важно, что у вас будут отобраны файлы определённого размера, и вы не будете рассуждать, в какие фреймы их помещать.
 
Статус
Закрыто для дальнейших ответов.