Я нашел этот приятный рабочий код на этом сайте, но я хотел внести некоторые изменения.преобразование нескольких файлов ext в pdf из пользовательского ввода не каталог файлов
Я хочу попросить пользователя загрузить документ, но я бы хотел преобразовать его документ в файл PDF, если он уже не в формате PDF, например, преобразование всех файлов doc, docx и excel.
Я получил его для работы с .doc-файлами, и если бы я хотел добавить больше, я бы добавил их в «* .doc, * .docx, ...»?
Также в настоящее время программа преобразует файл, если файл находится в том же каталоге. Я хочу, чтобы он принял новый каталог от пользователя и сохранил его в другом каталоге, а не обязательно в одном месте - например, программа сохранила бы из ... \ Documents to ... \ Uploads. Как я могу это сделать?
Вот Слово PDF код:
private void Word2PDF() {
//Create a new Microsoft Word application object
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
//Adding dummy value because c# doesn't have optional arguments
object oMissing = System.Reflection.Missing.Value;
//Getting list of word files in specified directory
DirectoryInfo dirInfo = new DirectoryInfo("C:\\TestFilestore\\");
FileInfo[] wordFiles = dirInfo.GetFiles("*.doc");
word.Visible = false;
word.ScreenUpdating = false;
foreach (FileInfo wordFile in wordFiles) {
//Cast as object for word open method
Object filename = (Object) wordFile.FullName;
Microsoft.Office.Interop.Word.Document doc = word.Documents.Open(ref filename, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing);
doc.Activate();
object outputFileName = wordFile.FullName.Replace(".doc", ".pdf");
object fileFormat = WdSaveFormat.wdFormatPDF;
//Save document into pdf format
doc.SaveAs(ref outputFileName,
ref fileFormat, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing);
//close the word document, but leave the word application open.
//doc has to be cast to type_document so that it will find the correct close method.
object saveChanges = WdSaveOptions.wdDoNotSaveChanges;
((_Document)doc).Close(ref saveChanges, ref oMissing, ref oMissing);
doc = null;
}
//word has to be case to type_application so that it will find the correct quit method.
((_Application)word).Quit(ref oMissing, ref oMissing, ref oMissing);
word = null;
}
Вы пытались реализовать функцию SaveDialog() для этого ..? – MethodMan
@DJKRAZE Я не уверен, следую ли я тому, что именно означает u. Можете немного прояснить - Спасибо. – BB987