ImageSaveOptions

ImageSaveOptions class

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

public class ImageSaveOptions : FixedPageSaveOptions

构造函数

姓名 描述
ImageSaveOptions(SaveFormat) 初始化此类的新实例,该实例可用于将渲染图像保存在 中Tiff,Png,Bmp , Emf,Jpeg或者Svg格式. Png,Bmp,Jpeg 或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 的名称和版本嵌入到生成的文件中。 默认值为 真的.
FlatOpcXmlMappingOnly { get; set; } 获取或设置值,确定允许映射哪些文档格式XmlMapping. 仅默认FlatOpc允许映射文档格式。
GraphicsQualityOptions { get; set; } 允许指定渲染模式和质量Graphics对象.
HorizontalResolution { get; set; } 获取或设置生成图像的水平分辨率,以每英寸点数为单位。
ImageBrightness { get; set; } 获取或设置生成图像的亮度。
ImageColorMode { get; set; } 获取或设置生成图像的颜色模式。
ImageContrast { get; set; } 获取或设置生成图像的对比度。
ImlRenderingMode { get; set; } 获取或设置一个值,确定如何呈现墨水 (InkML) 对象。
JpegQuality { get; set; } 获取或设置确定生成的 JPEG 图像质量的值。
MemoryOptimization { get; set; } 获取或设置值确定是否应在保存文档之前执行内存优化。 此属性的默认值为 错误的.
MetafileRenderingOptions { get; } 允许指定如何在渲染输出中处理元文件。
NumeralFormat { get; set; } 获取或设置NumeralFormat用于渲染数字。 默认使用欧洲数字。
virtual OptimizeOutput { get; set; } 标志表示是否需要优化输出。 如果设置了这个标志,多余的嵌套画布和空的画布被删除, 也会连接具有相同格式的相邻字形。 注意:内容显示的准确性可能会受到影响,如果此属性设置为 true。 默认为 false。
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,Svg.
Scale { get; set; } 获取或设置生成图像的缩放系数。
TempFolder { get; set; } 指定保存到 DOC 或 DOCX 文件时使用的临时文件的文件夹。 默认情况下,此属性为无效的并且没有使用临时文件。
ThresholdForFloydSteinbergDithering { get; set; } 获取或设置确定 Floyd-Steinberg 方法中二值化误差的 value 的阈值。 当ImageBinarizationMethod是 ImageBinarizationMethod.FloydSteinbergDithering.
TiffBinarizationMethod { get; set; } 获取或设置将图像转换为 1 bpp 格式时使用的方法 whenSaveFormat是 SaveFormat.Tiff 和 TiffCompression等于 TiffCompression.Ccitt3 或 TiffCompression.Ccitt4.
TiffCompression { get; set; } 获取或设置将生成的图像保存为 TIFF 格式时应用的压缩类型。
UpdateCreatedTimeProperty { get; set; } 获取或设置一个值,确定是否CreatedTime属性在保存前更新。 默认值为 false;
UpdateFields { get; set; } 获取或设置一个值,该值确定在将文档保存为固定页面格式之前是否应更新某些类型的字段。 此属性的默认值为 真的.
UpdateLastPrintedProperty { get; set; } 获取或设置一个值,确定是否LastPrinted属性在保存之前更新。
UpdateLastSavedTimeProperty { get; set; } 获取或设置一个值,确定是否LastSavedTime属性在保存之前更新。
UpdateSdtContent { get; set; } 获取或设置值确定内容是否StructuredDocumentTag在保存之前更新。
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

也可以看看