ResourcesFolderAlias
Содержание
[
Скрывать
]HtmlFixedSaveOptions.ResourcesFolderAlias property
Указывает имя папки, используемой для создания URI изображений, записанных в HTML-документ. Значение по умолчанию:нулевой .
public string ResourcesFolderAlias { get; set; }
Примечания
Когда вы сохраняетеDocument в формате Html Aspose.Words необходимо сохранить все изображения, встроенные в документ, как отдельные файлы.ResourcesFolder позволяет указать, где будут сохранены изображения иResourcesFolderAlias позволяет указать, как будут формироваться URI изображений.
Примеры
Показывает, как использовать обратный вызов для печати URI внешних ресурсов, созданных при преобразовании документа в HTML.
public void HtmlFixedResourceFolder()
{
Document doc = new Document(MyDir + "Rendering.docx");
ResourceUriPrinter callback = new ResourceUriPrinter();
HtmlFixedSaveOptions options = new HtmlFixedSaveOptions
{
SaveFormat = SaveFormat.HtmlFixed,
ExportEmbeddedImages = false,
ResourcesFolder = ArtifactsDir + "HtmlFixedResourceFolder",
ResourcesFolderAlias = ArtifactsDir + "HtmlFixedResourceFolderAlias",
ShowPageBorder = false,
ResourceSavingCallback = callback
};
// Папка, указанная ResourcesFolderAlias, будет содержать ресурсы вместо ResourcesFolder.
// Мы должны убедиться, что папка существует, прежде чем потоки смогут поместить в нее свои ресурсы.
Directory.CreateDirectory(options.ResourcesFolderAlias);
doc.Save(ArtifactsDir + "HtmlFixedSaveOptions.HtmlFixedResourceFolder.html", options);
Console.WriteLine(callback.GetText());
string[] resourceFiles = Directory.GetFiles(ArtifactsDir + "HtmlFixedResourceFolderAlias");
Assert.False(Directory.Exists(ArtifactsDir + "HtmlFixedResourceFolder"));
Assert.AreEqual(6, resourceFiles.Count(f => f.EndsWith(".jpeg") || f.EndsWith(".png") || f.EndsWith(".css")));
}
/// <summary>
/// Подсчитывает и выводит URI ресурсов, содержащихся в, по мере их преобразования в фиксированный HTML.
/// </summary>
private class ResourceUriPrinter : IResourceSavingCallback
{
void IResourceSavingCallback.ResourceSaving(ResourceSavingArgs args)
{
// Если мы зададим псевдоним папки в объекте SaveOptions, мы сможем распечатать его отсюда.
mText.AppendLine($"Resource #{++mSavedResourceCount} \"{args.ResourceFileName}\"");
string extension = Path.GetExtension(args.ResourceFileName);
switch (extension)
{
case ".ttf":
case ".woff":
{
// По умолчанию «ResourceFileUri» использует системную папку для шрифтов.
// Чтобы избежать проблем на других платформах, необходимо явно указать путь к шрифтам.
args.ResourceFileUri = ArtifactsDir + Path.DirectorySeparatorChar + args.ResourceFileName;
break;
}
}
mText.AppendLine("\t" + args.ResourceFileUri);
// Если мы указали папку в свойстве "ResourcesFolderAlias",
// нам также потребуется перенаправить каждый поток, чтобы поместить его ресурс в эту папку.
args.ResourceStream = new FileStream(args.ResourceFileUri, FileMode.Create);
args.KeepResourceStreamOpen = false;
}
public string GetText()
{
return mText.ToString();
}
private int mSavedResourceCount;
private readonly StringBuilder mText = new StringBuilder();
}
Смотрите также
- class HtmlFixedSaveOptions
- пространство имен Aspose.Words.Saving
- сборка Aspose.Words