이미지를 다시 링크 한 다음 JS 코드를 작성하여 포함 된 개체에 맞게 크기를 조정합니다. 코드의 단순화 된 버전 다음 if(image.locked)
블록 주위에 try/catch 블록으로InDesign Server - 이미지의 크기를 조정할 수 없습니다. 잠겨있어서 잠금을 해제 할 수 없습니다.
var image = (get image);
try {
image.itemLink.relink(File(new_filename));
}
catch(e) {
(log it);
}
var image = (find image again because after the relink it would otherwise cause error "Object no longer exists")
(work out new width, height, v offset, h offset);
try {
if(image.locked) {
lock_later = true;
image.locked = false;
}
}
catch(e) { }
// Resize and reposition image
image.geometricBounds = [(rectangle.geometricBounds[0] + h_offset) + "mm", (rectangle.geometricBounds[1] + w_offset) + "mm", (rectangle.geometricBounds[2] - h_offset) + "mm", (rectangle.geometricBounds[3] - w_offset) + "mm"];
// Lock the image again if it was locked before
if(lock_later) {
image.locked = true;
}
는, 크기 조정 선은 (는 잠금을 해제하지 못하기 때문에) 오류 "이미지가 잠겨 있습니다"가 발생합니다. try/catch가 없지만 if(image.locked)
블록을 유지하면 "이 속성은 현재 상태에 적용 할 수 없습니다."라는 오류가 발생합니다. image.locked
에 액세스하려고 할 때
내 상태가 어떤 이미지이고, 응용 프로그램이 크기 조정을 방지하기 위해 응용 프로그램을 분명히 사용하고 있는데도 "적용 가능"하지 않은 이유는 무엇입니까? 이미지를 크기를 조정하려면 어떻게해야합니까? 자동화 된 프로세스이며 프로덕션 환경에서 InDesign을 사용하여 수동으로 미리 편집 할 수는 없습니다. 어도비의 문서에 명시된 바와 같이
개체의 어떤 유형의'image'은 다음과 같습니다
가장 쉬운 해결 방법은 그래픽 이미지에 대한 핸들 주어진 확인 및/또는 그 부모를 통해 상태를 변경하는 것입니다? 코드에서 보이지 않는 컨테이너에서 컨테이너 (잠겨 있거나 잠길 수 있음)와 실제 이미지가 바뀔 수 있다고 생각합니다. 일반적으로 하나는 컨테이너 안의 페이지 객체가 아니라 내부의 그래픽 객체를 잠급니다. – usr2564301
'image' 변수는'Image' 객체입니다. IDS 문서에 따르면 'locked'는 이미지가 잠겨 있는지 여부를 지정하는'Image' 객체에 대한 읽기/쓰기 부울 속성입니다. 나는'image.parent'로 컨테이너 아이템에 접근 할 수 있다고 믿습니다. 아마 그 대신에 잠금 해제를 시도하고 어떤 일이 벌어 지는지 볼 수 있습니다. –
나는 놀랐다. 저의 주요 작업 말은 CS4입니다. 그래서 방금 그 버전을 확인 했으므로 그래픽을 잠글 수 없습니다. 그러나 다음 버전부터 시작하여 * 할 수 있습니다. 나는 컨테이너를 잠 그거나 잠금을 해제해도 그 내용을 수정하는지 모르겠다. 그것도 설명서가 명확하지 않은 것 같습니다. – usr2564301