2011-09-08 20 views
6

Muszę używać programu Adobe InDesign do tworzenia dokumentów. Zasadniczo potrzebujemy mieć kilka zmiennych w całym dokumencie (nazwa firmy, nazwa projektu, itp.), Które należy wypełnić.Programowe wstawianie danych do dokumentu InDesign

Zastanawiam się, czy istnieje sposób na wzięcie exisitng szablonu i może progrmatically wypełnić je w używając języka, który mi odpowiada (Ruby, Python, itp.). Próbowałem otworzyć plik Adobe InDesign za pomocą edytora tekstu - ale kiedy wprowadzam modyfikacje za pomocą Notepad ++, a następnie otwieram plik w programie InDesign, mówi mi, że plik jest uszkodzony.

Jeśli masz jakiś wgląd w programistyczne tworzenie dokumentów InDesign lub znasz tutoriale, które byłyby mile widziane.

PS. Próbowałem sprawdzić ExtendScript firmy Adobe, ale nie znalazłem zbyt wielu dokumentów dotyczących programu InDesign.

Dzięki za pomoc!

Odpowiedz

2

Nie ma (prawnych) sposobów na zrobienie tego w Ruby/Pythonie. Teoretycznie możliwe jest edytowanie dokumentów programu InDesign bezpośrednio przy użyciu dowolnego języka, ale:

  1. jest nawet w przybliżeniu tak proste, jak to tylko wprowadzenie pewnych modyfikacji tekstu, trzeba by dowiedzieć się więcej o formacie i
  2. Jest w bezpośrednim naruszenie umowy licencyjnej InDesign, co oznacza, że ​​możesz podjąć kroki prawne, jeśli Adobe się o tym dowie.

ExtendScript jest idealny do robienia małych rzeczy w ten sposób. Jeśli otworzysz pakiet narzędzi ExtendScript i ustawisz obiekt docelowy na InDesign, możesz łatwo przeglądać i przeszukiwać całe API. Wykonanie wyszukiwania/zamiany dla prostych zmiennych tekstowych nie jest wcale trudne.

Alternatywą byłby eksport dokumentów do języka .idml, który jest łatwiejszy i legalny do edycji poza programem InDesign.

+3

Użyłem metody .idml - jest to w zasadzie plik zip plików xml i folerów. Wewnątrz znajduje się plik o nazwie 'designmap.xml', w którym plik jest definiowany przez InDesign. Użyłem klejnotu Nokogiri, aby przejść przez html i zaktualizować wartości zmiennych tekstowych (w oparciu o ich atrybut nazwy), które chciałem. Pracuję teraz nad połączeniem tego skryptu z dokumentami google. Mam nadzieję, że pomoże to innym osobom w podobnej sytuacji. – aren55555

+0

Wydaje się, że jest to dobry sposób, ale jeśli twoje dane wejściowe to pliki .indd, musisz nadal korzystać z programu InDesign, aby przekonwertować je do formatu .idml. – MatsT

+0

Zachowuję mój szablon w .idml, a końcowy wynik w .idml - działa dla mnie - wszystko, co robię, jest drukowanie później. – aren55555

0

Musisz przekonwertować plik .indd na .idml i przekształcić go w unzi. W /Stories/Story_*.idml możesz znaleźć wszystkie zmienne tekstowe. I nie ma łatwych sposobów na zmianę zmiennych tekstowych w .indd bez produktów Adobe.

Powiązane problemy