ImageSaveOptions

ImageSaveOptions class

允许在将文档页面或形状渲染为图像时指定其他选项。

要了解更多信息,请访问指定保存选项文档文章。

public class ImageSaveOptions : FixedPageSaveOptions

构造函数

姓名描述
ImageSaveOptions(SaveFormat)初始化此类的一个新实例,可用于将渲染图像保存在 中Tiff,Png,Bmp, Jpeg,Emf,Eps 或Svg格式.

特性

姓名描述
AllowEmbeddingPostScriptFonts { get; set; }获取或设置一个布尔值,指示在保存的文档中嵌入 TrueType 字体时是否允许使用 PostScript 轮廓嵌入字体。 默认值为错误的.
ColorMode { get; set; }获取或设置一个确定颜色呈现方式的值。
CustomTimeZoneInfo { get; set; }获取或设置用于日期/时间字段的自定义本地时区。
DefaultTemplate { get; set; }获取或设置默认模板的路径(包括文件名)。 此属性的默认值为空字符串(Empty).
Dml3DEffectsRenderingMode { get; set; }获取或设置一个确定如何渲染 3D 效果的值。
virtual DmlEffectsRenderingMode { get; set; }获取或设置一个值,确定如何呈现 DrawingML 效果。
DmlRenderingMode { get; set; }获取或设置一个值,确定如何呈现 DrawingML 形状。
ExportGeneratorName { get; set; }真的 ,导致 Aspose.Words 的名称和版本嵌入到生成的文件中。 默认值为真的.
GraphicsQualityOptions { get; set; }允许指定渲染模式和质量Graphics对象.
HorizontalResolution { get; set; }获取或设置生成图像的水平分辨率(以每英寸点数为单位)。
ImageBrightness { get; set; }获取或设置生成图像的亮度。
ImageColorMode { get; set; }获取或设置生成图像的颜色模式。
ImageContrast { get; set; }获取或设置生成图像的对比度。
ImageSize { get; set; }获取或设置生成的图像的大小(以像素为单位)。
ImlRenderingMode { get; set; }获取或设置一个值,确定如何呈现墨迹 (InkML) 对象。
JpegQuality { get; set; }获取或设置一个确定生成的 JPEG 图像质量的值。
MemoryOptimization { get; set; }获取或设置确定在保存文档之前是否应执行内存优化的值。 此属性的默认值为错误的.
MetafileRenderingOptions { get; }允许指定如何在渲染输出中处理图元文件。
NumeralFormat { get; set; }获取或设置NumeralFormat用于呈现数字。 默认使用欧洲数字。
virtual OptimizeOutput { get; set; }标志指示是否需要优化输出。 如果设置此标志,则冗余嵌套画布并删除空画布, 还将连接具有相同格式的相邻字形。 注意:如果出现以下情况,内容显示的准确性可能会受到影响该属性设置为真的. 默认为错误的.
PageSavingCallback { get; set; }允许控制将文档导出为固定页面格式时如何保存单独的页面。
PageSet { get; set; }获取或设置要呈现的页面。 默认为文档中的所有页面。
PaperColor { get; set; }获取或设置生成图像的背景(纸张)颜色。
PixelFormat { get; set; }获取或设置生成图像的像素格式。
PrettyFormat { get; set; }真的,在适用的情况下漂亮的格式输出。 默认值为错误的.
ProgressCallback { get; set; }在保存文档期间调用并接受有关保存进度的数据。
Resolution { set; }设置生成图像的水平和垂直分辨率(以每英寸点数为单位)。
override SaveFormat { get; set; }指定在使用此保存选项对象时保存渲染文档页面或形状的格式。 可以是栅格 Tiff,Png,Bmp, Jpeg或矢量Emf,Eps, Svg.
Scale { get; set; }获取或设置生成图像的缩放系数。
TempFolder { get; set; }指定保存到 DOC 或 DOCX 文件时使用的临时文件的文件夹。 默认情况下,此属性为无效的并且没有使用临时文件。
ThresholdForFloydSteinbergDithering { get; set; }获取或设置阈值,该阈值确定 Floyd-Steinberg 方法中二值化误差的值 。 当ImageBinarizationMethod是FloydSteinbergDithering.
TiffBinarizationMethod { get; set; }获取或设置将图像转换为 1 bpp 格式 时使用的方法SaveFormat是Tiff和 TiffCompression等于Ccitt3或者Ccitt4.
TiffCompression { get; set; }获取或设置将生成的图像保存为 TIFF 格式时要应用的压缩类型。
UpdateCreatedTimeProperty { get; set; }获取或设置一个值,确定是否CreatedTime属性在保存前更新。 默认值为错误的;
UpdateFields { get; set; }获取或设置一个值,确定在将文档保存为固定页面格式之前是否应更新某些类型的字段。 此属性的默认值为真的.
UpdateLastPrintedProperty { get; set; }获取或设置一个值,确定是否LastPrinted属性在保存前更新。
UpdateLastSavedTimeProperty { get; set; }获取或设置一个值,确定是否LastSavedTime属性在保存前更新。
UseAntiAliasing { get; set; }获取或设置一个值,确定是否使用抗锯齿进行渲染。
UseGdiEmfRenderer { get; set; }获取或设置一个值,确定在保存到 EMF 时是否使用 GDI+ 或 Aspose.Words 图元文件渲染器。
UseHighQualityRendering { get; set; }获取或设置一个值,确定是否使用高质量(即慢速)渲染算法。
VerticalResolution { get; set; }获取或设置生成图像的垂直分辨率(以每英寸点数为单位)。

方法

姓名描述
Clone()创建此对象的深度克隆。
override Equals(object)确定指定对象的值是否等于当前对象。

例子

将Word文档的页面渲染为具有透明或彩色背景的图像。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Font.Name = "Times New Roman";
builder.Font.Size = 24;
builder.Writeln("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");

builder.InsertImage(ImageDir + "Logo.jpg");

// 创建一个“ImageSaveOptions”对象,我们可以将其传递给文档的“Save”方法
// 修改该方法将文档呈现为图像的方式。
ImageSaveOptions imgOptions = new ImageSaveOptions(SaveFormat.Png);

// 将“PaperColor”属性设置为透明颜色以应用透明
// 将文档渲染为图像时的背景。
imgOptions.PaperColor = Color.Transparent;

doc.Save(ArtifactsDir + "ImageSaveOptions.PaperColor.Transparent.png", imgOptions);

// 将“PaperColor”属性设置为不透明颜色以应用该颜色
// 作为我们将文档渲染为图像时的背景。
imgOptions.PaperColor = Color.LightCoral;

doc.Save(ArtifactsDir + "ImageSaveOptions.PaperColor.LightCoral.png", imgOptions);

演示如何在将文档另存为 JPEG 时配置压缩。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.InsertImage(ImageDir + "Logo.jpg");

// 创建一个“ImageSaveOptions”对象,我们可以将其传递给文档的“Save”方法
// 修改该方法将文档呈现为图像的方式。
ImageSaveOptions imageOptions = new ImageSaveOptions(SaveFormat.Jpeg);

// 将“JpegQuality”属性设置为“10”,以便在渲染文档时使用更强的压缩。
// 这将减小文档的文件大小,但图像将显示更突出的压缩伪影。
imageOptions.JpegQuality = 10;

doc.Save(ArtifactsDir + "ImageSaveOptions.JpegQuality.HighCompression.jpg", imageOptions);

Assert.That(20000, Is.AtLeast(new FileInfo(ArtifactsDir + "ImageSaveOptions.JpegQuality.HighCompression.jpg").Length));

// 将“JpegQuality”属性设置为“100”,以便在渲染文档时使用较弱的压缩。
// 这将以增加文件大小为代价提高图像质量。
imageOptions.JpegQuality = 100;

doc.Save(ArtifactsDir + "ImageSaveOptions.JpegQuality.HighQuality.jpg", imageOptions);

Assert.That(60000, Is.LessThan(new FileInfo(ArtifactsDir + "ImageSaveOptions.JpegQuality.HighQuality.jpg").Length));

演示如何在将文档渲染为 PNG 时指定分辨率。

Document doc = new Document();
            DocumentBuilder builder = new DocumentBuilder(doc);

            builder.Font.Name = "Times New Roman";
            builder.Font.Size = 24;
            builder.Writeln("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");

            builder.InsertImage(ImageDir + "Logo.jpg");

            // 创建一个“ImageSaveOptions”对象,我们可以将其传递给文档的“Save”方法
            // 修改该方法将文档呈现为图像的方式。
            ImageSaveOptions options = new ImageSaveOptions(SaveFormat.Png);

            // 将“Resolution”属性设置为“72”,以 72dpi 渲染文档。
            options.Resolution = 72;

            doc.Save(ArtifactsDir + "ImageSaveOptions.Resolution.72dpi.png", options);

            Assert.That(120000, Is.AtLeast(new FileInfo(ArtifactsDir + "ImageSaveOptions.Resolution.72dpi.png").Length));

#if NET48 || JAVA
            Image image = Image.FromFile(ArtifactsDir + "ImageSaveOptions.Resolution.72dpi.png");

            Assert.AreEqual(612, image.Width);
            Assert.AreEqual(792, image.Height);
#elif NET5_0_OR_GREATER || __MOBILE__
            using (SKBitmap image = SKBitmap.Decode(ArtifactsDir + "ImageSaveOptions.Resolution.72dpi.png")) 
            {
                Assert.AreEqual(612, image.Width);
                Assert.AreEqual(792, image.Height);
            }
#endif
            // 将“Resolution”属性设置为“300”,以 300dpi 渲染文档。
            options.Resolution = 300;

            doc.Save(ArtifactsDir + "ImageSaveOptions.Resolution.300dpi.png", options);

            Assert.That(700000, Is.LessThan(new FileInfo(ArtifactsDir + "ImageSaveOptions.Resolution.300dpi.png").Length));

#if NET48 || JAVA
            image = Image.FromFile(ArtifactsDir + "ImageSaveOptions.Resolution.300dpi.png");

            Assert.AreEqual(2550, image.Width);
            Assert.AreEqual(3300, image.Height);
#elif NET5_0_OR_GREATER || __MOBILE__
            using (SKBitmap image = SKBitmap.Decode(ArtifactsDir + "ImageSaveOptions.Resolution.300dpi.png")) 
            {
                Assert.AreEqual(2550, image.Width);
                Assert.AreEqual(3300, image.Height);
            }
#endif

也可以看看