i need to convert a certain amount of files, this required so much time if i convert each document..
there is a method that permits to convert a group of files into pdf?
thanks in advance
static void Main(string[] args)
{
string filePath = @"../../data/";
List<FileInfo> FileList = FindFile(filePath);
foreach (FileInfo File in FileList)
{
Document doc = new Document();
doc.LoadFromFile(File.FullName);
string resultName = Path.GetFileNameWithoutExtension(File.FullName);
doc.SaveToFile(@"../../output/"+ resultName + ".pdf");
}
}
public static List<FileInfo> FindFile(string sSourcePath)
{
List<FileInfo> list = new List<FileInfo>();
DirectoryInfo theFolder = new DirectoryInfo(sSourcePath);
FileInfo[] thefileInfo = theFolder.GetFiles("*.*", SearchOption.TopDirectoryOnly);
foreach (FileInfo NextFile in thefileInfo)
{
list.Add(NextFile);
}
return list;
}
public List<Stream> DOCX_to_PDF_multi(List<Stream> list_FromStream, int maxParallel = 10)
{
List<Stream> list_ToStream = new List<Stream>();
IList<System.Threading.Tasks.Task> tasks = new List<System.Threading.Tasks.Task>();
foreach (Stream fromStream in list_FromStream)
{
tasks.Add(
System.Threading.Tasks.Task.Factory.StartNew(() =>
{
try
{
list_ToStream.Add(DOCX_to_PD2(fromStream));
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
//continue
}
})
);
}
System.Threading.Tasks.Task.WaitAll(tasks.ToArray());
return list_ToStream;
}
public Stream DOCX_to_PDF(Stream FromStream)
{
Stream ToStream = new MemoryStream() as Stream;
using (Document document = new Document(FromStream, Spire.Doc.FileFormat.Docx, true))
{
document.SaveToStream(ToStream, Spire.Doc.FileFormat.PDF);
}
return ToStream;
}