public static void Execute(PdfBatchEditData data, string databasePath, string dbAccessDataFileName) { if (!File.Exists(databasePath)) { Console.WriteLine($"Database not found: '{databasePath}'"); return; } string templateFilePath = Path.Combine(Utils.MainDirectory, "template_data", dbAccessDataFileName); if (!File.Exists(templateFilePath)) { Console.WriteLine($"Template file not found: '{templateFilePath}'"); return; } DBAccessData accessData = DBAccessData.FromFile(templateFilePath); accessData.CustomizeSQLWithCommandLineArguments("ARGUMENT"); Console.WriteLine(accessData); Console.WriteLine(); List<BatchFileData> batchFileDataList = LoadAndCorrectData(databasePath, accessData); batchFileDataList.Sort(BatchFileData.SortByNumber); TextEffect effect = new TextEffect(""); effect.UseLocalTexts = accessData.useLocalTexts; effect.FontColor = XColors.Black; effect.FontSize = 20; effect.VerticalAlignment = VerticalAlignment.Top; effect.HorizontalAlignment = HorizontalAlignment.Right; effect.RelativeX = 0.96; effect.RelativeY = 0.01; effect.UseOrientation = true; data.AddEffectToAllFiles(effect); int counter = 0; foreach(BatchFileData batchFileData in batchFileDataList) { if (File.Exists(batchFileData.path)) { BatchFile file = data.AddFileWithAllEffects(batchFileData.path); file.OutputNameType = accessData.outputNameType; int prefixNumber = batchFileData.GetLowestSortElement(); string prefixNumberString = Convert.ToString(prefixNumber).PadLeft(3, '0'); if (accessData.outputNameType == FileNameType.SourceName) file.OutputNamePrefix = ""; if (accessData.outputNameType == FileNameType.PrefixOnly) file.OutputNamePrefix = prefixNumberString; if (accessData.outputNameType == FileNameType.SourceNameAndPrefix) file.OutputNamePrefix = prefixNumberString + "_"; LocalTextEffectSettings settings = (LocalTextEffectSettings)file.GetLocalSettingsForEffect(effect); settings.Text = accessData.textPrefix + batchFileData.CombinedText; counter++; } else { Console.WriteLine($"File '{batchFileData.path}' not found."); } } Console.WriteLine($"{counter} files loaded."); }
public LocalTextEffectSettings(TextEffect main, string text = "") { this.main = main; this.text = text; }