InDesign belgesindeki eksik sayfaları gizleme


9

Sıklıkla bölümleri olan ve bir istemciyle paylaşmak üzere PDF'ye dışa aktarmak istediğim, ancak gizlemeyi tercih ettiğim diğer bölümler veya sayfalara sahip olduğum InDesign belgeleri üzerinde çalışıyorum.

Benim sorum, InDesign içindeki sayfaları "dışa aktarma için atla" gibi bir şey olarak işaretlemenin bir yolu var, böylece tamamladıktan sonra bu sayfaları manuel olarak silmek zorunda kalmam (ve sayfa numaralarının bozuk olması) ihracat?

Şimdiden teşekkürler, Michael

Yanıtlar:


4

Sayfa numarası nedeniyle, bu mükemmel bir çözüm olmayabilir. Ama işte betik kullanarak hangi çözümü buldum:

Bu örnek dosyayı indirin ve sisteminize kaydedin. CS5'ten gelen IDML, bu yüzden CS4 + 'dan çalışması gerekir.

3. ve 4. sayfalarda DRAFT yazan büyük bir pembe metin bloğu olduğunu fark edeceksiniz:

DRAFT ekran görüntüsü

Eğer yukarı çekersen Script Labelpanelini ( Window> Utilities> Script Label), bunu "DRAFT_LABEL" olarak etiketlenmiş olduğunu göreceksiniz.

Şimdi, aşağıdaki komut dosyasını alın, bir metin düzenleyicisine kopyalayın / yapıştırın ve Komut Dosyaları dizininize kaydedin (.js veya .jsx dosyası olarak, önemli değil):

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++;
}

Komut dosyasını çalıştırmadan önce belgeyi kaydedin . Sonra koş!

Ben senaryo yazan ve tam tersi olmayan bir tasarımcıyım, bu yüzden bu en zarif kod olmayabilir. Ancak yaptığı şey, belgenizi "DRAFT_LABEL" etiketine sahip sayfa öğeleri için taramaktır, ardından bu sayfa numarasını bir dizide saklar. Tarama tamamlandıktan sonra uygun sayfaları kaldırır.

Daha sonra taslak sayfaların kaldırıldığı yeni bir dosya kaldı!


1
Karmaşık. Teknik. Ama bir cazibe çalışır.
Dan Hanly

1
+1 - Başka bir yaklaşım, diziyi, diğer dışa aktarma ayarları için saklanan bir hazır ayar kullanarak dışa aktarılacak sayfa aralıklarını belirtmek için kullanmaktır. Bu yıkıcı olmazdı.
horatio

@horatio - Evet! OP'ye bunun olası bir çözüm olduğunu söyleyecektim, ama sonra bilmiyordum çünkü kesin olarak bilmiyordum; Ben bunu hiç denemedim. Özellikle her şeyi aynı şekilde dışa aktarırsanız harika bir alternatif. Dışa aktarma ayarlarını her zamanki gibi kontrol etmek istiyorsanız, yukarıdaki çözüm daha iyi çalışır. Ayrıca, bunun yıkıcı olmayan bir çözüm olduğunu eklemek zorundayım ... ilk yaptığı şey bir kopya açmak, böylece orijinal dokunulmamış.
Brendan

2

PDF'ye dışa aktarmak için istediğiniz sayfaları Dışa Aktar iletişim penceresine girebilirsiniz ...

ihracat

Bir aralık için sayılar arasında kısa çizgiler ve ayrı sayfa numaralarını ayırmak için virgül kullanın.

Yukarıdaki sayfalar 11'den 14'e, 16'ya kadar olan sayfaları, ardından sayfa 19'dan sonraki her şeyi hariç tutar.

PDF'ye bu sayfalar belgede yokmuş gibi dışa aktarmak istiyorsanız, sayfa numaraları dışa aktarmayla eşleşir, o zaman hayır . Dışa aktarılan sayfalara dayalı olarak sayfa numaralandırmasını yeniden düzenlemenin hiçbir yolunu bilmiyorum. Önce Indesign belgesindeki sayfaları kaldırmanız gerekir.


1
Merhaba Scott ve cevap için teşekkürler. Belirli sayfaları dışa aktarma yeteneğinin farkındayım, ancak belge büyüdükçe ve ideal olmayan sayfa numaralarının daralmasıyla takip etmem gerekiyor. Gerçekten aradığım şey, üzerinde çalışırken bir sayfanın kendisini taslak olarak yapmak ve taslak olmayan tüm sayfaların PDF'sini yayınlayabilmektir.
Michael

@Michael Mümkün olan hiçbir şey yok.
Scott
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.