2016-04-01 2 views
0

У меня есть программа, которая объединяет папку, состоящую из слова docs, в один комбинированный файл с помощью пользовательского ввода с помощью FileBrowserDialog. После выбора файлов кнопка «комбинировать» применяет приведенный ниже код, который содержит папку, содержащую документы, местоположение вывода и имя созданного файла.Удалить .doc дублирование во время преобразования PDF C#

string fileDate = DateTime.Now.ToString("dd-MM-yy"); 
string fileTime = DateTime.Now.ToString("HH.mm.ss"); 
string outcomeFolder = outputFolder; 
string outputFileType = ".docx"; 
string outputFile = "Combined Folder " + fileDate + " @ " + fileTime + outputFileType; 
string outputFileName = Path.Combine(outcomeFolder, outputFile); 

// Combines the file name, output path selected and the yes/no for pagebreaks. 
MsWord.Merge(sourceFiles, outputFileName, pageBreaker); 

// Message displaying how many files are combined. 
MessageBox.Show("A total of " + sourceFiles.Length.ToString() + " documents have been merged", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);} 

MsWord ссылка называет отдельный файл .cs, который сочетает в себе компоненты папки, выходное имя и логическое значение, чтобы включить страницу-брейки. MsWord также автоматически сохраняет слово .doc в указанное пользователем местоположение после успешного объединения содержимого папки. MsWord.Merge(sourceFiles, outputFileName, pageBreaker);

Вопроса Я хотел адреса, когда я включаю этот флажок:

if (convert2PDFBox.Checked) 
Microsoft.Office.Interop.Word.Application officeApp = new Microsoft.Office.Interop.Word.Application(); 

officeApp.Documents.Open(outputFileName); 
outputFileType = ".pdf"; 
officeApp.ActiveDocument.SaveAs(outputFileName + outputFileType, WdSaveFormat.wdFormatPDF); 
officeApp.Quit(); 

Я хочу, чтобы программа только создать PDF объединенной папки, а не 2 отдельного .doc и. PDF-файлы, которые он сейчас делает. Поскольку функция MsWord.save вызывается отдельно и имеет важное значение для общей функции моей программы, мне было интересно, есть ли возможность удалить исходный комбинированный файл после преобразования PDF-файла? , например. «CombinedDocument» .Delete - По существу, позволяет копировать иметь место, однако, не предоставляет пользователю с начальным .doc - только .PDF

Хотя этот вопрос мало, я хотел бы получить его имя и приветствуем любые предложения или рекомендации таким образом. Я также могу предоставить любую дополнительную информацию, если это необходимо, спасибо.

tl; dr - слияние программы создает объединенное Word .doc, которое я хочу изменить исключительно в PDF, когда флажок включен, вместо создания .doc и PDF.

+0

Вместо .save() как насчет вызова .saveAs()? – Duston

+0

@Duston, когда я пытаюсь «сохранить» вместо «сохранить как», я получаю сообщение об ошибке «нет перегрузки для метода Save принимает 2 аргумента» любые предложения относительно того, что это полностью означает? – cgraham720

+0

** обновление ** избавилось от ошибки, я должен был удалить 'outputFileName + outputFileType, WdSaveFormat.wdFormatPDF' - Однако теперь я не вижу, как программа будет конвертировать .doc в PDF? – cgraham720

ответ

0

я, наконец, решить мою проблему - То, что я решил сделать было манипулировать мой существующие MsWord.cs и создать отдельный PDF.cs вызова для моей главной формы:

Вместо того, чтобы сохранить .doc Word, когда они объединены, вместо этого я использовал: wordApplication.ActiveDocument.SaveAs(outputFile, Word.WdSaveFormat.wdFormatPDF); спасшие объединенное содержание до сих пор в формате .pdf

Это, однако, представленные ошибки с Microsoft Word, как я тогда предложен «Save File As» из-за объединенный файл никогда фактически сохраняются в формате .Doc/.Docx

Затем я изменил заявление закрытия вызова,

// Close Word application wordApplication.Quit( false, // save changes

установив соответствующее значение параметра «Сохранить изменения» в Ложные, она удалена «Сохранить как» приглашение, которое позволило Word doc. для увольнения без необходимости сохранения, оставляя при этом только исходный PDF-файл. Затем я применил два отдельных типа типа вызовов к каждому представленному флажку, что позволило пользователю включить формат результата объединенных файлов.

Благодарим вас за предложения по данной проблеме.

Смежные вопросы