public void Export(AODL.Document.IDocument document, string filename)
{
this._document = document;
String exportDir = Path.Combine(Environment.CurrentDirectory, folderGuid.ToString());
PrepareDirectory(exportDir);
//Write content
if (document is TextDocument)
{
this.WriteSingleFiles(((TextDocument)document).DocumentManifest.Manifest, Path.Combine (exportDir, Path.Combine(DocumentManifest.FolderName,DocumentManifest.FileName)));
this.WriteSingleFiles(((TextDocument)document).DocumentMetadata.Meta, Path.Combine (exportDir, DocumentMetadata.FileName));
this.WriteSingleFiles(((TextDocument)document).DocumentSetting.Settings, Path.Combine (exportDir, DocumentSetting.FileName));
this.WriteSingleFiles(((TextDocument)document).DocumentStyles.Styles, Path.Combine (exportDir, DocumentStyles.FileName));
this.WriteSingleFiles(((TextDocument)document).XmlDoc, Path.Combine (exportDir, "content.xml"));
//Save graphics, which were build during creating a new document
this.CopyGraphics(((TextDocument)document), exportDir);
}
else if (document is AODL.Document.SpreadsheetDocuments.SpreadsheetDocument)
{
this.WriteSingleFiles(((AODL.Document.SpreadsheetDocuments.SpreadsheetDocument)document).DocumentManifest.Manifest, Path.Combine (exportDir, Path.Combine(DocumentManifest.FolderName,DocumentManifest.FileName)));
this.WriteSingleFiles(((AODL.Document.SpreadsheetDocuments.SpreadsheetDocument)document).DocumentMetadata.Meta, Path.Combine (exportDir, DocumentMetadata.FileName));
this.WriteSingleFiles(((AODL.Document.SpreadsheetDocuments.SpreadsheetDocument)document).DocumentSetting.Settings, Path.Combine (exportDir, DocumentSetting.FileName));
this.WriteSingleFiles(((AODL.Document.SpreadsheetDocuments.SpreadsheetDocument)document).DocumentStyles.Styles, Path.Combine (exportDir, DocumentStyles.FileName));
this.WriteSingleFiles(((AODL.Document.SpreadsheetDocuments.SpreadsheetDocument)document).XmlDoc, Path.Combine (exportDir, "content.xml"));
if (document.EmbedObjects .Count !=0)
{
foreach ( EmbedObject eo in document.EmbedObjects)
{
if (eo.ObjectType.Equals("chart"))
{
((Chart)eo).SaveTo (exportDir);
}
}
}
this.WriteSingleFiles(((AODL.Document.SpreadsheetDocuments.SpreadsheetDocument)document).DocumentManifest.Manifest, Path.Combine (Path.Combine (exportDir, DocumentManifest.FolderName), DocumentManifest.FileName));
}
else
throw new Exception("Unsupported document type!");
//Write Pictures and Thumbnails
// this.SaveExistingGraphics(document.DocumentPictures, dir+"Pictures\\");
// this.SaveExistingGraphics(document.DocumentThumbnails, dir+"Thumbnails\\");
//Don't know why VS couldn't read a textfile resource without file prefix
WriteMimetypeFile(Path.Combine (exportDir, "mimetype"));
//Now create the document
CreateOpenDocument(filename, exportDir);
//DeleteExportDirectory(exportDir);
}