InDesign 문서에서 불완전한 페이지 숨기기


9

섹션이 완전하고 클라이언트와 공유하기 위해 PDF로 내보내고 싶지만 진행중인 작업중인 다른 섹션이나 페이지가있는 InDesign 문서를 자주 작업합니다.

내 질문은 InDesign 내에서 페이지를 "내보내기 건너 뛰기"와 같이 표시하여 내 페이지를 완료 한 후 해당 페이지를 수동으로 삭제할 필요가 없으며 페이지 번호가 잘못되도록 할 수있는 방법이 있습니까? 수출?

미리 감사드립니다, 마이클

답변:


4

페이지 번호가 있기 때문에 이것은 완벽한 해결책이 아닐 수도 있습니다. 그러나 스크립팅을 사용하여 어떤 해결책을 찾았습니까?

샘플 파일을 다운로드 하여 시스템에 저장하십시오. CS5의 IDML이므로 CS4 +에서 작동해야합니다.

3 페이지와 4 페이지에 DRAFT라는 큰 분홍색 텍스트 블록이 있음을 알 수 있습니다.

초안 스크린 샷

당신이 끌어 경우 Script Label패널 ( Window> Utilities> Script Label), 당신은 "이 DRAFT_LABEL"으로 표시하다고 볼 수 있습니다.

이제 다음 스크립트를 가져 와서 텍스트 편집기에 복사 / 붙여 넣기 한 다음 스크립트 디렉토리에 저장하십시오 (.js 또는 .jsx 파일은 중요하지 않음).

try // to get the path of the file that's active when you run the script.
{
    var OpenFilePath = app.documents.item(0).fullName; // Declare a variable representing the open document.
    var OpenFile = app.open(File(OpenFilePath), true, 1332757360); // Create a duplicate to work with. In Adobe's world, "1332757360" means "open a copy".
}
catch (err)
{
    var OpenFile = "error";
    alert("Please save this file before using the script.");
}

var OpenFileLength = OpenFile.pages.length; // Get number of pages of open document and master file.

// These help make the array that stores master markers.
var ArrayCounter = 0;
var FindTheMarkers = new Array();

for (var i=0; i<OpenFileLength; i++) // Loop through every page.
{
    ItemsOnPage = OpenFile.pages.item(i).pageItems.length; // Get the number of items on the page.

    for (var j=0; j<ItemsOnPage; j++) // Loop through every item.
    {
        var ScriptLabel = OpenFile.pages.item(i).pageItems.item(j).label;   

        if (ScriptLabel != "" && ScriptLabel.indexOf("DRAFT_LABEL") == 0) // If the item has a label and it equals what we want it to,
        {
            FindTheMarkers[ArrayCounter] = i; // Put the page number in the array.
            ArrayCounter++; // Advance the counter for next time!
        }
    }
}

var numberToSubtract = 0; // This compensates for screwing up the page counter when you remove a page.

for (i=0; i<FindTheMarkers.length; i++) // Loop through the array and remove pages!
{
    OpenFile.pages.item(FindTheMarkers[i] - numberToSubtract).remove();
    numberToSubtract++;
}

스크립트를 실행하기 전에 문서를 저장하십시오 . 그런 다음 실행하십시오!

나는 스크립트를 작성하는 다른 디자이너가 아니므로 가장 우아한 코드가 아닐 수도 있습니다. 그러나 현재 수행중인 작업은 "DRAFT_LABEL"태그가있는 페이지 항목을 문서에서 스캔 한 다음 해당 페이지 번호를 배열에 저장하는 것입니다. 스캔이 완료되면 해당 페이지가 제거됩니다.

그런 다음 초안 페이지가 제거 된 새 파일이 남습니다.


1
복잡한. 인위적인. 그러나 매력을 발휘합니다.
Dan Hanly

1
+1-다른 내보내기 설정에 대해 저장된 사전 설정을 사용하여 배열을 사용하여 내보낼 페이지 범위를 지정하는 방법이 있습니다. 이것은 비파괴 적입니다.
horatio

@horatio-응! OP에 이것이 가능한 해결책이라고 언급하려고했지만 확실하지 않았기 때문에 그렇지 않았습니다. 나는 그것을 해결하려고 결코하지 않았다. 특히 항상 같은 방식으로 물건을 내보내는 경우 훌륭한 대안입니다. 평소와 같이 내보내기 설정을 제어하려면 위의 솔루션이 더 효과적입니다. 또한 이것이 비파괴적인 해결책이라고 덧붙여 야 할 의무가 있습니다 ... 먼저 사본을 열어 원본이 손상되지 않도록하십시오.
Brendan

2

내보내기 대화 상자 창에서 원하는 페이지를 입력하여 PDF로 내보낼 수 있습니다 ...

수출

범위의 숫자 사이에 하이픈을 사용하고 개별 페이지 번호를 구분하려면 쉼표를 사용하십시오.

위의 11 ~ 14, 16 페이지는 제외하고 19 페이지 이후의 것은 제외합니다.

당신이 그 페이지가 문서에 존재하지 않는 것처럼 PDF로 내보낼 의미하는 경우, 따라서 페이지 번호는, 수출에 맞게 리플 로우되지 아니 . 내 보낸 페이지를 기반으로 페이지 번호를 리플 로우하는 방법을 모르겠습니다. 먼저 Indesign 문서에서 페이지를 제거해야합니다.


1
Scott 님, 답장을 보내 주셔서 감사합니다. 특정 페이지를 내보내는 기능을 알고 있지만 문서가 커지고 이상적이지 않은 페이지 번호가 줄어듦에 따라 추적해야 할 책임이 있습니다. 내가 정말로 찾고있는 것은 작업하는 동안 페이지 자체를 초안으로 만들고 초안이 아닌 모든 페이지의 PDF를 게시하는 것입니다.
Michael

@ 마이클 나는 불가능하지 않습니다.
Scott
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.