ResourcesFolder
XamlFixedSaveOptions.ResourcesFolder property
Указывает физическую папку, в которой сохраняются ресурсы (изображения и шрифты) при экспорте документа в формат Xaml с фиксированной страницей. Значение по умолчанию —нулевой
.
public string ResourcesFolder { get; set; }
Примечания
Когда вы сохраняетеDocument
В формате Xaml с фиксированной страницей Aspose.Words необходимо сохранить изображения all , встроенные в документ, как отдельные файлы.ResourcesFolder
позволяет указать, где будут сохраняться изображения иResourcesFolderAlias
позволяет указать, как будут создаваться URI изображения.
Если вы сохраняете документ в файл и указываете имя файла, Aspose.Words по умолчанию сохраняет изображения the в той же папке, где сохраняется файл документа. ИспользоватьResourcesFolder
, чтобы переопределить это поведение.
Если вы сохраняете документ в поток, Aspose.Words не имеет папки для сохранения изображений, , но все равно необходимо где-то сохранять изображения. В этом случае вам необходимо указать доступную папку с помощьюResourcesFolder
свойство
Примеры
Показывает, как распечатать URI связанных ресурсов, созданных при преобразовании документа в формат .xaml фиксированной формы.
public void ResourceFolder()
{
Document doc = new Document(MyDir + "Rendering.docx");
ResourceUriPrinter callback = new ResourceUriPrinter();
// Создаем объект «XamlFixedSaveOptions», который мы можем передать методу «Save» документа.
// чтобы изменить способ сохранения документа в формате сохранения XAML.
XamlFixedSaveOptions options = new XamlFixedSaveOptions();
Assert.AreEqual(SaveFormat.XamlFixed, options.SaveFormat);
// Используйте свойство ResourcesFolder, чтобы назначить папку в локальной файловой системе, в которую
// Aspose.Words сохранит все связанные ресурсы документа, такие как изображения и шрифты.
options.ResourcesFolder = ArtifactsDir + "XamlFixedResourceFolder";
// Используйте свойство ResourcesFolderAlias, чтобы использовать эту папку
// при создании URI изображения вместо имени папки ресурсов.
options.ResourcesFolderAlias = ArtifactsDir + "XamlFixedFolderAlias";
options.ResourceSavingCallback = callback;
// Папка, указанная в «ResourcesFolderAlias», должна будет содержать ресурсы вместо «ResourcesFolder».
// Мы должны убедиться, что папка существует, прежде чем потоки обратного вызова смогут поместить в нее свои ресурсы.
Directory.CreateDirectory(options.ResourcesFolderAlias);
doc.Save(ArtifactsDir + "XamlFixedSaveOptions.ResourceFolder.xaml", options);
foreach (string resource in callback.Resources)
Console.WriteLine(resource);
}
/// <summary>
/// Подсчитывает и печатает URI ресурсов, созданных во время преобразования в фиксированный .xaml.
/// </summary>
private class ResourceUriPrinter : IResourceSavingCallback
{
public ResourceUriPrinter()
{
Resources = new List<string>();
}
void IResourceSavingCallback.ResourceSaving(ResourceSavingArgs args)
{
Resources.Add($"Resource \"{args.ResourceFileName}\"\n\t{args.ResourceFileUri}");
// Если бы мы указали псевдоним папки ресурсов, нам также потребовалось бы
// чтобы перенаправить каждый поток, чтобы поместить его ресурс в папку псевдонимов.
args.ResourceStream = new FileStream(args.ResourceFileUri, FileMode.Create);
args.KeepResourceStreamOpen = false;
}
public List<string> Resources { get; }
}
Смотрите также
- class XamlFixedSaveOptions
- пространство имен Aspose.Words.Saving
- сборка Aspose.Words