2012-05-17 5 views
3

XHTML로 내보내기 위해 InDesign 파일을 준비하는 데 사용하는 ExtendScript 스크립트를 작성 중입니다. 기본적으로, 우리는 (이 간단한 예를 보라) 우리가 그들을 필요로 문자 스타일을 적용 돌아 다니면서 우리가 인디자인의 수출이 기능을 XHTML을 사용하여 XHTML 할 수있는 결과를 내보낼 때InDesign DOM의 Text 객체의 appliedCharacterStyle 속성에 여러 값을 할당 할 수 있습니까?

app.activeDocument.findGrep()[0].appliedCharacterStyle = "customStyle"; 

, 우리가 뭔가를 얻을 이 :

<span class="customStyle">I</span> 

정확히 우리가 원하는 것입니다. 지금 발생하는 문제는 우리가 때때로 하나의 문자에 다양한 스타일을 적용 할 것입니다, 그래서 우리는이 같은 일을 결국 :

var t = app.activeDocument.findGrep()[0]; 
t.appliedCharacterStyle = "customStyle1"; 
t.appliedCharacterStyle = "customStyle2"; 

물론, customStyle2 무시 customStyle1, 목적을 패배. 이 주위에 어떤 방법이 있습니까?

참고 : 내가 대신 applyCharacterStyle를 사용했지만, 그 방법은 매개 변수로 만 CharacterStyle 객체를 문자열을지지 않습니다.

답변

1

"customStyle"은 단지 CSS 클래스 또는 저장된 스타일의 이름입니까? 정말 그래서 이것은 추측이다 인디자인을 사용하지 않는하지만이

t.applyCharacterStyle(myStyle); 
처럼 적용 할 수 있어야한다 당신이

var myStyle = new CharacterStyle(); 
myStyle.fillColor = "blue"; 
myStyle.fontStyle = "verdana"; 
... 

또는 뭔가처럼 CharacterStyle 개체의 개별 속성을 수정할 수 있습니다 것 같습니다

이것은 extendscript와 photoshop에 대한 나의 경험을 바탕으로 한 교양있는 추측 일뿐입니다.

+0

맞아요. 'applyCharacterStyle'은'fillColor','fontStyle' 등 모든 종류의 속성을 가진'CharacterStyle' 객체를 받아 들일 수 있습니다.하지만 결국에는 CSS 클래스가되는'String'을받을 수도 있습니다. 이 두 번째 옵션은 제 경우에 필요한 것입니다. 실제로 InDesign 문서에서 텍스트를 추출하는 스크립트를 수정하는 것보다 글꼴 색상을 수정하려는 경우 스타일 시트를 변경하는 것이 더 좋습니다 ... – Shawn