Even een scriptje bij elkaar gefrot, maar niet getest, geen zin om InDesign te openen
Edit: Nu wel getest en aangepast
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
| // InDesign-writePageNumbers.jsx
// Settings
//
var pageNrLabel = "@@@"
// Check if a document is open.
//
if (app.documents.length != 0) {
writePageNumbers(app.documents[0], pageNrLabel);
}
else {
alert("Please open a document and try again.");
}
// writePageNumbers(doc, pageNrLabel)
//
function writePageNumbers(doc, pageNrLabel) {
var docPageNr, newPageNr, objPage, objNr, obj;
// Count pages of document
var pageCount = doc.pages.length;
// Iterate through the pages
for (docPageNr = 0; docPageNr < pageCount; docPageNr++) {
objPage = doc.pages[docPageNr];
// Iterate through the master page items of a page
for (objNr = 0; objNr < objPage.masterPageItems.length; objNr++) {
obj = objPage.masterPageItems[objNr];
// Check if current item has content
if (obj && obj.words && obj.words && obj.words.item(0)) {
// Check if the first word or the script label matches
if (obj.words.item(0).contents == pageNrLabel || obj.label == pageNrLabel) {
// Detach item from master page
obj.override(objPage);
}
}
}
// Iterate through the text frames of a page
for (objNr = 0; objNr < objPage.textFrames.length; objNr++) {
obj = objPage.textFrames[objNr];
// Check if current item has content
if (obj && obj.words && obj.words && obj.words.item(0)) {
// Check if the first word or the script label matches
if (obj.words.item(0).contents == pageNrLabel || obj.label == pageNrLabel) {
// Unlock item if needed
if (obj.locked) obj.locked = false;
// Calculate new page number
newPageNr = pageCount - docPageNr;
// Replace inner text
obj.words.item(0).contents = ("" + newPageNr);
// Attach a script label if needed
if (obj.label == "") obj.label = pageNrLabel;
}
}
}
}
} |
Je moet een kader met de tekst '@@@' (in plaats van het automatische paginanummer symbool) op je master page hebben staan (of op elke pagina apart). Daarna het script opstarten en kijken of het werkt
Links (voor als je er wat aan moet vertimmeren):
[
Voor 38% gewijzigd door
benoni op 26-11-2008 16:19
]