Class ResourceSavingArgs
Contents
[
Hide
]ResourceSavingArgs class
This class represents set of data that related to external resource file’s saving that occurs during conversion to HTML format.
public class ResourceSavingArgs
Constructors
Name | Description |
---|---|
ResourceSavingArgs() | The default constructor. |
Properties
Name | Description |
---|---|
FileName { get; set; } | Gets or sets the supposed file name that goes from converter to code of custom method. Can be use in custom code to decide how to process or where save that file. |
KeepStreamOpen { get; set; } | Gets or sets a value indicating whether the stream will be kept open after resource saving finishes. |
Stream { get; set; } | Gets or sets the binary content of saved file. |
Uri { get; set; } | Gets or sets the resource URI. |
Methods
Name | Description |
---|---|
CloseStreamIfRequired() | Close stream if KeepStreamOpen is false, else flush it. |
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