Skip to content

Commit

Permalink
fix Workaround for docs with a mixture of sizes
Browse files Browse the repository at this point in the history
  • Loading branch information
pchiorean committed Mar 8, 2022
1 parent 67c5ee9 commit da98c89
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
11 changes: 6 additions & 5 deletions export/QuickExport.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Quick export 22.1.27
Quick export 22.3.8
(c) 2020-2022 Paul Chiorean (jpeg@basement.ro)
Exports open .indd documents or a folder with several configurable PDF presets.
Expand Down Expand Up @@ -510,13 +510,14 @@ function runScript(/*string*/path) {
}

function doExport(/*bool*/asSpreads, /*bool*/split, /*string*/preset) {
var baseName, fileSufx, fn, extendRange, range;
var fileSufx, fn, extendRange, range;
var target = asSpreads ? doc.spreads : doc.pages;
if (split) {
var baseName = decodeURI(doc.name).replace(/\.indd$/i, '');
var isCombo = /[_-]\s*\d+([.,]\d+)?\s*([cm]m)?\s*x\s*\d+([.,]\d+)?\s*([cm]m)?\s*\+\s*\d+([.,]\d+)?\s*([cm]m)?\s*x\s*\d+([.,]\d+)?\s*([cm]m)?\s*(?!x)\s*(?!\d)/ig.test(decodeURI(doc.name));
if (split && !isCombo) {
// Export separate pages
// Note: if a script doubles the number of pages/spreads, the extendRange hack exports them as pairs
extendRange = (doc.spreads.length === old.docSpreads * 2) && exp.exportSpreads.value;
baseName = decodeURI(doc.name).replace(/\.indd$/i, '');
fileSufx = RegExp('([ ._-])([a-zA-Z]{' +
(extendRange ? target.length / 2 : target.length) + '})$', 'i').exec(baseName);
for (var i = 0, n = target.length; i < n; i++) {
Expand Down Expand Up @@ -545,7 +546,7 @@ function doExport(/*bool*/asSpreads, /*bool*/split, /*string*/preset) {
}
} else {
// Export all pages
baseName = decodeURI(doc.name).replace(/\.indd$/i, '') + suffix;
baseName += suffix;
fn = uniqueName(baseName,
baseFolder + (subfolder ? '/' + subfolder : ''),
ui.output.options.overwrite.value);
Expand Down
11 changes: 7 additions & 4 deletions layout/PageSizeFromFilename.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Page size from filename 21.9.24
(c) 2020-2021 Paul Chiorean (jpeg@basement.ro)
Page size from filename 22.3.8
(c) 2020-2022 Paul Chiorean (jpeg@basement.ro)
Sets every page size and margins according to the filename.
It looks for patterns like 000x000 (page size) or 000x000_000x000 (page size_page margins).
Expand Down Expand Up @@ -33,7 +33,7 @@ app.doScript(main, ScriptLanguage.JAVASCRIPT, undefined,
UndoModes.ENTIRE_SCRIPT, 'Set page dimensions');

function main() {
var baseName, dimensions, firstPair, secondPair,
var dimensions, firstPair, secondPair,
newPgSize, newMgSize, newBleed, newMargins, page, i, n;
var visLayerName = findLayer([
'visible area',
Expand All @@ -55,6 +55,8 @@ function main() {
var pairsRE = /[_-]\s*\d+([.,]\d+)?\s*([cm]m)?\s*x\s*\d+([.,]\d+)?\s*([cm]m)?\s*(?!x)\s*(?!\d)/ig;
var bleedRE = /\d\s*(?:[cm]m)?[_+](\d{1,2})\s*(?:[cm]m)/i;
var ISO216SubsetRE = /A[1-7]\b/;
var baseName = (/\./g.test(doc.name) && doc.name.slice(0, doc.name.lastIndexOf('.'))) || doc.name;
var isCombo = /[_-]\s*\d+([.,]\d+)?\s*([cm]m)?\s*x\s*\d+([.,]\d+)?\s*([cm]m)?\s*\+\s*\d+([.,]\d+)?\s*([cm]m)?\s*x\s*\d+([.,]\d+)?\s*([cm]m)?\s*(?!x)\s*(?!\d)/ig.test(decodeURI(doc.name));
var isSpread = false;
var old = {
horizontalMeasurementUnits: doc.viewPreferences.horizontalMeasurementUnits,
Expand All @@ -70,7 +72,6 @@ function main() {
doc.adjustLayoutPreferences.enableAutoAdjustMargins = false;
app.generalPreferences.objectsMoveWithPage = false;

baseName = (/\./g.test(doc.name) && doc.name.slice(0, doc.name.lastIndexOf('.'))) || doc.name;
// Dimensions: match '_000[.0] [mm] x 000[.0] [mm]' pairs
dimensions = baseName.match(pairsRE);
// 1. [_-] // '_' or '-' separator between pairs
Expand All @@ -97,6 +98,8 @@ function main() {
case 'A6': newPgSize = { width: 105, height: 148 }; break;
case 'A7': newPgSize = { width: 74, height: 105 }; break;
}
} else if (isCombo) {
cleanupAndExit();
} else {
// Sanitize dimensions array
for (i = 0, n = dimensions.length; i < n; i++) {
Expand Down

0 comments on commit da98c89

Please sign in to comment.