RTTSoftware Support Forum
PDF-ShellTools => Ideas/Suggestions => Topic started by: nightslayer23 on August 19, 2019, 07:15:34 AM
-
Hi, needing to batch check hundreds of files and make them divisible by 4.
So if the page count is a multiple of 4, do nothing. If not a multiple of 4, add blank pages til they are.
could you help with this one please?
-
Check if this script works for you.
var MultipleOf = 4;
var OverwriteSourceFile = false;
/******************************************************************************
Leave empty to save the changed files into the source folder.
Fill it with a folder path, e.g. var DestFolder ="c:\\PDFs\\Processed\\"; to
specify a fixed save to folder.*/
var DestFolder = "";
/******************************************************************************/
var Merger = pdfe.CreateDocumentMerger();
var ProgressBar = pdfe.ProgressBar;
ProgressBar.max = pdfe.SelectedFiles.Count;
for (var i = 0; i < pdfe.SelectedFiles.Count; i++) {
var File = pdfe.SelectedFiles(i);
var Filename = File.Filename;
pdfe.echo(Filename);
ProgressBar.position = i + 1;
var BlanksNeeded = MultipleOf - File.NumPages % MultipleOf;
if (BlanksNeeded < MultipleOf) {
Merger.MergeDocument(Filename);
var LastPage = File.pages(File.pages.count - 1);
for (var n = 0; n < BlanksNeeded; n++)
Merger.MergeBlankPage(LastPage.width, LastPage.height);
File.close();
if (DestFolder) {
NewFilename = DestFolder + Filename.substr(Filename.lastIndexOf('\\') + 1);
} else if (OverwriteSourceFile) {
var NewFilename = Filename;
} else {
NewFilename = Filename.substring(0, Filename.lastIndexOf('.')) + '_' + (BlanksNeeded) + 'BlanksAdded.pdf';
}
Merger.EndAndSaveTo(NewFilename);
pdfe.echo(' : ' + (BlanksNeeded) + ' blank pages added', 0, true);
} else pdfe.echo(' : Already multiple of ' + MultipleOf, 0, true);
}
pdfe.echo('All done.');
-
great! works perfect.could you adjust to save new files to an output folder instead?
I've tried to do this myself but I'm confusing it HA ;D
-
I've updated the above script with the possibility to specify an output folder.
Just change the DestFolder variable accordingly to your needs.