Interface ICssSavingCallback
Contents
[
Hide
]ICssSavingCallback interface
Represents a callback that is called to create resource to store CSS.
public interface ICssSavingCallback
Methods
Name | Description |
---|---|
CssSaving(CssSavingArgs) | The method to be called while saving of CSS. |
Examples
Shows how to set use CSS saving callbacks.
public void ResourcePrefixForNestedResourcesExample()
{
var project = new Project(DataDir + "EstimatedMilestoneTasks.mpp");
var options = ResourcePrefixForNestedResources.GetSaveOptions(1);
project.Save(OutDir + "document_out.html", options);
}
private class ResourcePrefixForNestedResources : ICssSavingCallback, IFontSavingCallback, IImageSavingCallback
{
public void CssSaving(CssSavingArgs args)
{
if (!Directory.Exists(OutDir + "css/"))
{
Directory.CreateDirectory(OutDir + "css/");
}
var stream = new FileStream(OutDir + "css/" + args.FileName, FileMode.Create);
args.Stream = stream;
args.KeepStreamOpen = false;
args.Uri = OutDir + "css/" + args.FileName;
}
public void FontSaving(FontSavingArgs args)
{
if (!Directory.Exists(OutDir + "fonts/"))
{
Directory.CreateDirectory(OutDir + "fonts/");
}
var stream = new FileStream(OutDir + "fonts/" + args.FileName, FileMode.Create);
args.Stream = stream;
args.KeepStreamOpen = false;
args.Uri = OutDir + "fonts/" + args.FileName;
}
public void ImageSaving(ImageSavingArgs args)
{
if (!Directory.Exists(OutDir + "resources/"))
{
Directory.CreateDirectory(OutDir + "resources/");
}
if (!Directory.Exists(OutDir + "resources/nestedResources/"))
{
Directory.CreateDirectory(OutDir + "resources/nestedResources/");
}
if (args.FileName.EndsWith("png"))
{
var stream1 = new FileStream(OutDir + "resources/nestedResources/" + args.FileName, FileMode.Create);
args.Stream = stream1;
args.KeepStreamOpen = false;
args.Uri = OutDir + "resources/" + args.FileName;
// args.NestedUri = dataDir + "nestedResources/" + args.FileName;
}
else
{
var stream2 = new FileStream(OutDir + "resources/" + args.FileName, FileMode.Create);
args.Stream = stream2;
args.KeepStreamOpen = false;
args.Uri = OutDir + "resources/" + args.FileName;
}
}
public static HtmlSaveOptions GetSaveOptions(int pageNumber)
{
var options = new HtmlSaveOptions
{
Pages = new List<int>(),
IncludeProjectNameInPageHeader = false,
IncludeProjectNameInTitle = false,
PageSize = PageSize.A3,
Timescale = Timescale.ThirdsOfMonths,
ReduceFooterGap = true,
FontFaceTypes = FontFaceType.Ttf,
ExportCss = ResourceExportType.AsFile,
ExportFonts = ResourceExportType.AsFile,
ExportImages = ResourceExportType.AsFile
};
var program = new ResourcePrefixForNestedResources();
options.FontSavingCallback = program;
options.CssSavingCallback = program;
options.ImageSavingCallback = program;
options.Pages.Clear();
options.Pages.Add(pageNumber);
if (!Directory.Exists(DataDir + "fonts"))
{
Directory.CreateDirectory(DataDir + "fonts");
}
if (!Directory.Exists(DataDir + "resources"))
{
Directory.CreateDirectory(DataDir + "resources");
}
if (!Directory.Exists(DataDir + "nestedResources"))
{
Directory.CreateDirectory(DataDir + "resources/nestedResources");
}
if (!Directory.Exists(DataDir + "css"))
{
Directory.CreateDirectory(DataDir + "css");
}
return options;
}
}
See Also
- namespace Aspose.Tasks
- assembly Aspose.Tasks