KeepResourceStreamOpen
İçindekiler
[
Saklamak
]ResourceSavingArgs.KeepResourceStreamOpen property
Aspose.Words’ün kaynağı kaydettikten sonra akışı açık mı tutması yoksa kapatması mı gerektiğini belirtir.
public bool KeepResourceStreamOpen { get; set; }
Notlar
Varsayılan:YANLIŞ
ve Aspose.Words, sağladığınız akışını kapatacaktır.ResourceStream
içine bir kaynak yazdıktan sonra özellik. Belirtdoğru
Akışı açık tutmak için.
Örnekler
Bir belgeyi HTML’ye dönüştürürken oluşturulan dış kaynakların URI’lerini yazdırmak için geri aramanın nasıl kullanılacağını gösterir.
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 tarafından belirtilen bir klasör ResourcesFolder yerine kaynakları içerecektir.
// Akışların kaynaklarını klasöre koymadan önce klasörün var olduğundan emin olmalıyız.
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>
/// Sabit HTML'ye dönüştürülürken içerdiği kaynakların URI'lerini sayar ve yazdırır.
/// </summary>
private class ResourceUriPrinter : IResourceSavingCallback
{
void IResourceSavingCallback.ResourceSaving(ResourceSavingArgs args)
{
// SaveOptions nesnesinde bir klasör takma adı belirlersek, onu buradan yazdırabileceğiz.
mText.AppendLine($"Resource #{++mSavedResourceCount} \"{args.ResourceFileName}\"");
string extension = Path.GetExtension(args.ResourceFileName);
switch (extension)
{
case ".ttf":
case ".woff":
{
// Varsayılan olarak 'ResourceFileUri' yazı tipleri için sistem klasörünü kullanır.
// Diğer platformlardaki sorunları önlemek için yazı tiplerinin yolunu açıkça belirtmelisiniz.
args.ResourceFileUri = ArtifactsDir + Path.DirectorySeparatorChar + args.ResourceFileName;
break;
}
}
mText.AppendLine("\t" + args.ResourceFileUri);
// "ResourcesFolderAlias" özelliğinde bir klasör belirttiysek,
// kaynağını o klasöre koymak için her akışı yeniden yönlendirmemiz gerekecek.
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();
}
Ayrıca bakınız
- class ResourceSavingArgs
- ad alanı Aspose.Words.Saving
- toplantı Aspose.Words