XamlFixedSaveOptionsResourcesFolderAlias Property

Specifies the name of the folder used to construct image URIs written into an fixed page Xaml document. Default is null.

Namespace:  Aspose.Words.Saving
Assembly:  Aspose.Words (in Aspose.Words.dll) Version: 20.3
Syntax
public string ResourcesFolderAlias { get; set; }

Property Value

Type: String
Remarks

When you save a Document in fixed page Xaml format, Aspose.Words needs to save all images embedded in the document as standalone files. ResourcesFolder allows you to specify where the images will be saved and ResourcesFolderAlias allows to specify how the image URIs will be constructed.

Examples
Shows how to print the URIs of linked resources created during conversion of a document to fixed-form .xaml.
public void ResourceFolder()
{
    // Open a document which contains resources
    Document doc = new Document(MyDir + "Rendering.docx");

    XamlFixedSaveOptions options = new XamlFixedSaveOptions
    {
        SaveFormat = SaveFormat.XamlFixed,
        ResourcesFolder = ArtifactsDir + "XamlFixedResourceFolder",
        ResourcesFolderAlias = ArtifactsDir + "XamlFixedFolderAlias",
        ResourceSavingCallback = new ResourceUriPrinter()
    };

    // A folder specified by ResourcesFolderAlias will contain the resources instead of ResourcesFolder
    // We must ensure the folder exists before the streams can put their resources into it
    Directory.CreateDirectory(options.ResourcesFolderAlias);

    doc.Save(ArtifactsDir + "XamlFixedSaveOptions.ResourceFolder.xaml", options);
}

/// <summary>
/// Counts and prints URIs of resources created during conversion to to fixed .xaml.
/// </summary>
private class ResourceUriPrinter : IResourceSavingCallback
{
    void IResourceSavingCallback.ResourceSaving(ResourceSavingArgs args)
    {
        // If we set a folder alias in the SaveOptions object, it will be printed here
        Console.WriteLine($"Resource #{++mSavedResourceCount} \"{args.ResourceFileName}\"");
        Console.WriteLine("\t" + args.ResourceFileUri);

        // If we specified a ResourcesFolderAlias we will also need to redirect each stream to put its resource in that folder
        args.ResourceStream = new FileStream(args.ResourceFileUri, FileMode.Create);
        args.KeepResourceStreamOpen = false;
    }

    private int mSavedResourceCount;
}
See Also