Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
-
5. září 2024
Matrixmedia - Obsluha a tisk na velkoformátových digitálních tiskárnách
-
30. září 2024
-
4. října 2024
-
14. listopadu 2024
Sazba
Skriptujeme InDesign (20): Obrázky poprvé
Adobe InDesign sazba
31. července 2006, 00.00 | V této části našeho výkladu se dostáváme k dalšímu velmi komplexnímu tématu, kterým je
skriptování práce s grafikou. Dnes se budeme věnovat převážně způsobům umisťování daného
typu obsahu do dokumentů InDesignu. Naší pozornosti přitom neuniknou ani zajímavé
skripty pro hromadné vkládání obrázků a stránek z PDF dokumentů.
V této části našeho výkladu se dostáváme k dalšímu velmi komplexnímu tématu, kterým je skriptování práce s grafikou. Dnes se budeme věnovat převážně způsobům umisťování daného typu obsahu do dokumentů InDesignu. Naší pozornosti přitom neuniknou ani zajímavé skripty pro hromadné vkládání obrázků a stránek z PDF dokumentů.
Jak na umístění obrázku?
Import grafiky do dokumentu lze při skriptování zajistit v podstatě dvěma způsoby: umístěním obrázku na určitou zadanou pozici v dokumentu s automatickým vytvořením jeho rámečku nebo načtením obrázku do obsahu rámečku již existujícího. V prvním případě lze použít například metodu place pro objekt stránka, obdobně by bylo možno umisťovat přes objekt dvojstránka (spread). Obecný tvar daného příkazu je následující:
place(soubor,umístění,vrstva,import,autoflow,vlastnosti)
kde soubor (jediný povinný parametr) značí soubor, jež má být importován, umístění je pozice na stránce udaná v podobě souřadnic [x,y] (výchozí hodnota je [0,0], čili levý horní roh stránky), vrstva je vrstva v dokumentu, na kterou se obrázek umisťuje, import je logická hodnota, kterou rozhodneme, zda chceme při importu zobrazit importní dialog. Autoflow se týká textu, vlastnosti definuje pole počátečních vlastností umístěného obrázku.
Umisťovat daným způsobem lze všechny podporované formáty bitmapové grafiky (JPEG, TIFF, PNG aj.) a dále EPS, AI a PDF. Pro dané formáty existuje možnost kontrolovat různé specifické parametry (které se jinak nastavují vždy v příslušném importním dialogu interaktivně), na jejich volby se podíváme za chvíli. Umístěním vzniká objekt Image pro bitmapovou grafiku, EPS pro EPS soubory a PDF pro PDF. K vložené grafice všech těchto typů lze přistupovat různými způsoby, typicky přes metody dokumentu allGraphics či links - viz výklad v příštím díle. Teď ukázkový příklad jak umístit grafiku daným způsobem na stránku:
//Umístí obrázek vaza.jpg na první stránku dokumentu, do
vrstvy Obrázky a to bez importního dialogu
var myDocument=app.activeDocument;
myDocument.layers.add({name: "Obrázky"});
myImage=myDocument.pages[0].place(File("/c/clanky/skriptid/vaza.jpg"),["10mm","10mm"],"Obrázky",false);
Mimo pevného určení názvu souboru lze zvolit řadu dalších variant podle potřeb - viz další příklady a náš dřívější výklad o práci se soubory. Specifický je způsob umisťování PDF dokumentů, viz příklad o kousek dále.
Rámeček pro umístění obrázku může být libovolného typu, tj. mimo grafického (kdy je
možno přepsat původní obsah) lze použít i textový, případně lze obrázek vložit do
složeného tvaru, např. textu převedeného na křivky nebo jím lze zaměnit existující
inline grafiku. Metoda place
má pro daný typ rámečků o něco jednodušší syntaxi:
place(soubor,import,vlastnosti)
kde význam jednotlivých parametrů je stejný jak je uvedeno výše. Malý příklad:
//Nechá uživatele vybrat EPS soubor.
//Poté na druhou stranu v dokumentu umístí obdélníkový rámeček a vloží
do daný EPS
var myEPS=File.openDialog("Vyberte EPS dokument k načtení","Dokumenty
EPS: *.EPS");
if(myEPS!=null){myFrame=myDocument.pages[1].rectangles.add({geometricBounds:
["8cm","0cm","18cm","21cm"]});myFrame.place(myEPS)}
K nastavení importních preferencí
Pro bitmapovou grafiku lze v případě importu (pokud nechceme použít interaktivní
importní dialog) provést odpovídající nastavení parametrů pomocí app.imageIOpreferences
.
Nabídka možností je zde poměrně chudá (viz s. 819-820 referenční příručky), zahrnuje
pouze povolení automatického vkládání, určení jména alfa kanálu a aplikaci ořezové cesty
Photoshopu. Dané vlastnosti se ukládají s obrázkem a lze je v něm dále měnit.
app.imageIOpreferences={allowAutoEmbeding: false, alphaChannelName: "První kanál", applyPhotoshopClippingPath: true};
Pro EPS grafiku zde je nastavení app.EPSImportPreference
(s. 710 referenční příručky),
které dovoluje zapnout vytvoření rámečků z ořezových cest v obrázku, stanovit způsob
generování náhledu (Proxy) a použít OPI záměn.
app.epsImportPreferences.properties={epsFrames: false,
//Další možná hodnota epsProxy je always
epsProxy: CreateProxy.asNeeded,
opiComments: true};
Pro nastavení importu PDF zde jsou app.PDFPlacePreference (viz s. 1 015 referenční příručky). V nich lze nastavit heslo pro otevírání dokumentu (samozřejmě jen je-li potřeba), číslo stránky která se má vložit, způsob ořezu obsahu a průhlednost pozadí. Daná nastavení se pak použijí ke vložení PDF grafiky do dokumentu následovně:
//V tomto příkladu určíme, že chceme importovat obsah první
stránky
//určený ohraničovacím rámečkem (Bouding Box).
//Pozadí nebude průhledné, použijeme otevírací heslo "123"
app.pdfPlacePreferences.properties= {openDocumentPassword: "123",
pageNumber:1,
//Další hodnoty pro pdfCrop jsou cropArt (obraz), cropPDF (crop -
oříznutí), cropTrim (řezací značky), cropBleed (spadávka), cropMedia
(media)
pdfCrop: PDFCrop.cropContent, transparentBackground: false};
//Vybraný PDF obsah umístíme na první stranu do horního levého rohu
dokumentu
var myPDF=File.openDialog("Vyberte PDF dokument k načtení","Dokumenty
PDF: *.pdf");
if(myPDF!=null){myDocument.pages[0].place(myPDF)};
Přizpůsobení velikosti grafiky
Bezprostředně po vložení obrázku do dokumentu je žádoucí provedení různých transformací. Nejvíce vhod takto přijde metoda fit, která dovoluje přizpůsobit vzájemně velikost rozměrů obrázku a rámečku. Jejími možnými hodnotami jsou contentToFrame (obsah se roztáhne do rámečku), frameToContent (rámeček se přizpůsobí obsahu), centerContent (obsah obrázku se vycentruje v rámečku) a proportionally (obrázek se přizpůsobí rozměrům rámečku proporcionálně).
//Zarovná obsah umístěného obrázku do rámečku proporciálně
a poté nastaví rozměr rámečku na rozměr zarovnaného obrázku
myFrame=myDocument.pages[0].rectangles.add({geometricBounds:
["0","0cm","10cm","10cm"]});
myImage=myFrame.place(File("/c/clanky/skriptid/tiger.eps"));
myImage.fit(FitOptions.proportionally);
myImage.fit(FitOptions.frameToContent);
Různá kouzla se dají provádět při zarovnávání obrázku vůči rámečku odpovídající manipulací s pozicí grafiky uvnitř rámečku pomocí metody move. Více viz například zajímavý skript D. Saunderse. Mimo daných nastavení pak bývá již při načtení vhodné kontrolovat například rychlost zobrazení, aplikovat efekty typu vrženého stínu, měnit velikost apod. - výklad o těchto i dalších prvcích (mj. práci s odkazy na obrázky) si necháme do příštího dílu.
ImageCatalog a PlaceMultipage PDF: dva vysoce užitečné skripty
Principy naznačené výše lze využít různorodými způsoby. Jedním z nejobvyklejších je hromadné umisťování grafiky do dokumentu, při kterém může skriptování ušetřit neskutečné množství práce. Pro ty, kdo nějakou takovouto vlastnost vyžadují, je zde dvojice vysoce užitečných skriptů, dodávaných přímo s InDesignem.
ImageCatalog vytvoří grafický katalog z obrázkových souborů umístěných v zadané složce. Editaci odpovídajícího pole v úvodu skriptu přitom uživatel určí, jaké typy souborů se mají načítat. Po spuštění skriptu nejprve skript prohledá zadanou složku, poté nabídne dialog s informací o počtu souborů vyhovujících zadaným kritériím. V dialogu je možno nastavit několik další parametrů katalogu, poté se provede samotné sestavení do nového dokumentu (stránky se přidávají podle potřeb), obrázky jsou rozmístěny na stránkách v tabulkách, u kterých lze nastavit počet řádků a sloupců, horizontální a vertikální odstup a způsob zarovnání obrázků v jejich rámečcích. Ke každému obrázku je pak možno připojit textový popisek, informující o názvu jeho souboru, popisky jsou umístěny do zvláštní vrstvy (pro snadné skrytí) a formátovány speciálním stylem (pro snadné změny nastavení). Skript je zajímavý i z technického hlediska, neboť ošetřuje specifika práce se souborovými typy na platformách Windows i Macintosh (a je tedy bez problémů na daných platformách použitelný). Zajímavé jsou v něm i kalkulace rozvržení tabulky a samozřejmě i použití mnohých vlastností a metod, které jsme popsali výše.
Skript PlaceMultipagePDF již není tak komplexní, ale je rovněž užitečný. Do zadaného či nového dokumentu vloží všechny stránky určeného PDF dokumentu. Ořez stránky je nastaven volbou cropMedia (tedy na velikost stránky původního dokumentu), importované rámečky jsou umístěny do levého horního rohu stránky. Minimálně zmíněné dva parametry lze ve skriptu snadno měnit, k dispozici jsou pochopitelně mnohé další úpravy zadaného skriptu podle potřeb. (Drobná, ale užitečná modifikace pro ty, kdo ví, že jejich PDF dokumenty mají vždy příponu PDF: Na desátém řádku skriptu nahraďte tento kód
var myPDFFile = File.openDialog("Choose a PDF File");
následujícím
var myPDFFile = File.openDialog("Choose a PDF File","PDF: *.pdf");)
.)
Obsah seriálu (více o seriálu):
- Skriptujeme InDesign (1): Úvod
- Skriptujeme InDesign (2): První kroky
- Skriptujeme InDesign (3): Základy JavaScriptu poprvé
- Skriptujeme InDesign (4): Základy JavaScriptu podruhé
- Skriptujeme InDesign (5): Dokumenty poprvé
- Skriptujeme InDesign (6): Dokumenty podruhé
- Skriptujeme InDesign (7): Výstup
- Skriptujeme InDesign (8): Stránky
- Skriptujeme InDesign (9): Stránkové objekty poprvé
- Skriptujeme InDesign (10): Stránkové objekty podruhé
- Skriptujeme InDesign (11): Dialogy
- Skriptujeme InDesign (12): Text poprvé
- Skriptujeme InDesign (13): Text podruhé
- Skriptujeme InDesign (14): Text potřetí
- Skriptujeme InDesign (15): Hledání a záměny poprvé
- Skriptujeme InDesign (16): Hledání a záměny podruhé
- Skriptujeme InDesign (17): Regulární výrazy
- Skriptujeme InDesign (18): Tabulky poprvé
- Skriptujeme InDesign (19): Tabulky podruhé
- Skriptujeme InDesign (20): Obrázky poprvé
- Skriptujeme InDesign (21): Obrázky podruhé
- Skriptujeme InDesign (22): Obrázky potřetí
- Skriptujeme InDesign (23): ESTK aneb jak na editaci a ladění skriptů
- Skriptujeme InDesign (24): Vrstvy
- Skriptujeme InDesign (25): Barvy poprvé
- Skriptujeme InDesign (26): Barvy podruhé
- Skriptujeme InDesign (27): Barvy potřetí
- Skriptujeme InDesign (29): Metadata podruhé
- Skriptujeme InDesign (30): Návěští
- Skriptujeme InDesign (31): Okna
- Skriptujeme InDesign (32): Reakce na události
- Skriptujeme InDesign (33): Novinky v CS3 verzi
Tématické zařazení:
» Rubriky » Polygrafie
-
14. května 2014
Jak vkládat snímky do galerií a soutěží? Stručný obrazový průvodce
-
23. dubna 2014
Konica Minolta přenesla výhody velkých zařízení do kompaktních modelů
-
12. června 2012
-
9. dubna 2014
-
29. listopadu 2013
-
6. září 2004
OKI snižuje ceny barevných laserových tiskáren C3100 a C5200n
-
13. května 2004
-
19. ledna 2004
QuarkXPress Passport 6: předvedení nové verze na konferenci Apple Forum 27.1.2004
-
6. února 2001
-
30. listopadu 2014
Nový fotoaparát α7 II: první plnoformát s pětiosou optickou stabilizací obrazu na světě
-
8. září 2024
-
14. října 2024
-
22. října 2024
-
5. listopadu 2024
-
14. listopadu 2024