ResourcesFolder
XamlFixedSaveOptions.ResourcesFolder property
Anger den fysiska mappen där resurser (bilder och typsnitt) sparas vid export av ett dokument till fast sid Xaml-format. Standard ärnull
.
public string ResourcesFolder { get; set; }
Anmärkningar
När du sparar enDocument
i Xaml-format med fast sida måste Aspose.Words spara all bilder som är inbäddade i dokumentet som fristående filer.ResourcesFolder
låter dig ange var bilderna ska sparas ochResourcesFolderAlias
tillåter att specificera hur bildens URI:er kommer att konstrueras.
Om du sparar ett dokument i en fil och anger ett filnamn, sparar Aspose.Words, som standard, bilderna i samma mapp där dokumentfilen sparas. Använda sig avResourcesFolder
för att åsidosätta detta beteende.
Om du sparar ett dokument i en ström, har Aspose.Words ingen mapp där du kan spara bilderna, men behöver fortfarande spara bilderna någonstans. I det här fallet måste du ange en tillgänglig mapp genom att användaResourcesFolder
fast egendom
Exempel
Visar hur man skriver ut URI:erna för länkade resurser som skapats när ett dokument konverteras till .xaml i fast form.
public void ResourceFolder()
{
Document doc = new Document(MyDir + "Rendering.docx");
ResourceUriPrinter callback = new ResourceUriPrinter();
// Skapa ett "XamlFixedSaveOptions"-objekt, som vi kan skicka till dokumentets "Spara"-metod
// för att ändra hur vi sparar dokumentet till XAML-sparformatet.
XamlFixedSaveOptions options = new XamlFixedSaveOptions();
Assert.AreEqual(SaveFormat.XamlFixed, options.SaveFormat);
// Använd egenskapen "ResourcesFolder" för att tilldela en mapp i det lokala filsystemet som
// Aspose.Words kommer att spara alla dokumentets länkade resurser, såsom bilder och typsnitt.
options.ResourcesFolder = ArtifactsDir + "XamlFixedResourceFolder";
// Använd egenskapen "ResourcesFolderAlias" för att använda den här mappen
// när man konstruerar bild-URI:er istället för resursmappens namn.
options.ResourcesFolderAlias = ArtifactsDir + "XamlFixedFolderAlias";
options.ResourceSavingCallback = callback;
// En mapp specificerad av "ResourcesFolderAlias" kommer att behöva innehålla resurserna istället för "ResourcesFolder".
// Vi måste se till att mappen finns innan återuppringningens strömmar kan lägga sina resurser i den.
Directory.CreateDirectory(options.ResourcesFolderAlias);
doc.Save(ArtifactsDir + "XamlFixedSaveOptions.ResourceFolder.xaml", options);
foreach (string resource in callback.Resources)
Console.WriteLine(resource);
}
/// <summary>
/// Räknar och skriver ut URI:er för resurser som skapats under konvertering till fast .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}");
// Om vi angav ett resursmappalias skulle vi också behöva
// för att omdirigera varje ström för att placera dess resurs i aliasmappen.
args.ResourceStream = new FileStream(args.ResourceFileUri, FileMode.Create);
args.KeepResourceStreamOpen = false;
}
public List<string> Resources { get; }
}
Se även
- class XamlFixedSaveOptions
- namnutrymme Aspose.Words.Saving
- hopsättning Aspose.Words