InDesignドキュメントの不完全なページを非表示にする


9

完全なセクションがあり、PDFにエクスポートしてクライアントと共有したいが、非表示にしたい作業中のセクションまたはページがあるInDesignドキュメントで作業することがよくあります。

私の質問は、InDesign内のページを「スキップしてエクスポート」のようなものとしてマークする方法があるので、完了後に手動でそれらのページを削除する必要がありません(そしてページ番号が間違っている)書き出す?

事前にありがとう、マイケル

回答:


4

ページ番号が原因で、これは完全な解決策ではない可能性があります。しかし、これが私がスクリプトを使用して思いついた解決策です。

このサンプルファイルをダウンロードして、システムに保存します。これはCS5のIDMLなので、CS4 +で動作するはずです。

3ページと4ページで、下書きを示すピンク色の大きなテキストブロックがあることに気づくでしょう。

下書きのスクリーンショット

あなたはプルアップした場合Script Label(パネルWindow> Utilities> Script Label)、あなたはそれが「DRAFT_LABEL」としてラベル付けされていますことがわかります。

次に、次のスクリプトをコピーして、テキストエディターにコピー/貼り付けし、それをScriptsディレクトリに保存します(.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 2013

1
+1-別のアプローチは、配列を使用して、エクスポートするページ範囲を指定し、他のエクスポート設定に保存されているプリセットを使用することです。これは非破壊的です。
horatio 2013

@horatio-うん!私はそれが可能な解決策であるとOPに言及するつもりでしたが、確信が持てなかったのでそれはしませんでした。私はそれを解決しようとはしませんでした。特に常に同じ方法でエクスポートする場合は、これは優れた代替手段です。通常どおりにエクスポート設定を制御したい場合は、上記のソリューションの方が効果的です。また、これは非破壊的なソリューションであると付け加えざるを得ません...最初に行うことは、コピーを開いてオリジナルをそのままにすることです。
ブレンダン

2

エクスポートダイアログウィンドウでPDFにエクスポートするページを入力できます...

書き出す

範囲の番号の間にはハイフンを使用し、個々のページ番号を区切るにはカンマを使用します。

上記では、11〜14、16ページを除外し、19ページ以降を除外しています。

あなたはそれらのページがドキュメントに存在していなかったかのようにPDFにエクスポートすることを意味している場合ので、ページ番号が、その後、輸出に一致するようにリフローない全く。エクスポートされたページに基づいてページ番号をリフローする方法がわかりません。最初にIndesignドキュメントのページを削除する必要があります。


1
こんにちはスコットと返信に感謝します。特定のページをエクスポートできることは承知していますが、ドキュメントが大きくなり、ページ番号が小さくなったときに追跡する必要があるため、理想的ではありません。私が実際に探しているのは、ページの作成中にページ自体をドラフトとして作成し、ドラフト以外のすべてのページのPDFを公開できるようにすることです。
マイケル

@マイケル私はそれが可能ではありません。
スコット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.