将文档保存为多页TIFF
处理文档时,通常需要将文档转换为光栅图像文件。 如果您必须以可读和可打印但不可编辑的格式呈现文档,这一点尤其重要。 例如,您可以使用文档第一页的光栅图像作为预览。 本文介绍了如何使用TIFF格式的示例将文档转换为光栅图像-一种更流行的图像格式。
将DOC转换为多页TIFF
在Aspose.Words中,只需将"保存到"路径和相关文件扩展名传递给Save方法,即可用一行代码执行从DOC到TIFF的转换。 Save方法自动从路径中指定的文件扩展名派生SaveFormat
。 下面的示例演示如何将文档转换为TIFF格式:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
doc->Save(ArtifactsDir + u"WorkingWithImageSaveOptions.MultipageTiff.tiff"); |
在呈现TIFF时指定其他选项
您经常需要指定其他选项,这些选项会影响渲染结果。 为此,请使用ImageSaveOptions类,该类包含确定文档在图像上显示方式的属性。 您可以指定以下内容:
- 保存格式以确定可用选项列表(SaveFormat)
- 决议案(HorizontalResolution, VerticalResolution, Resolution)
- 页数(PageIndex,PageCount)
- 颜色和照明设置(PaperColor, ImageColorMode, ImageBrightness, ImageContrast)
- 图像质量(JpegQuality, Scale, TiffCompression, GraphicsQualityOptions)
- 用于二值化图像的方法(TiffBinarizationMethod,ThresholdForFloydSteinbergDithering)
- 生成图像的像素格式(PixelFormat)
- Windows元文件由Aspose.Words (MetafileRenderingOptions, UseGdiEmfRenderer)
- 您可以在ImageSaveOptions类中看到的其他选项
下面的示例演示如何使用配置的选项将DOC转换为TIFF:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
// Create an ImageSaveOptions object to pass to the Save method | |
System::SharedPtr<ImageSaveOptions> options = System::MakeObject<ImageSaveOptions>(SaveFormat::Tiff); | |
auto pageRange = System::MakeObject<PageRange>(0, 2); | |
auto pageSet = System::MakeObject<PageSet>( System::MakeArray<System::SharedPtr<PageRange>>({pageRange})); | |
options->set_PageSet(pageSet); | |
options->set_TiffCompression(TiffCompression::Ccitt4); | |
options->set_Resolution(160.0f); | |
System::String outputPath = outputDataDir + u"SaveAsMultipageTiff.WithOptions.tiff"; | |
doc->Save(outputPath, options); |
TIFF二值化的阈值
通过将PixelFormat属性设置为format1bppIndexed像素格式类型,并将TiffCompression
属性设置为Ccitt3或Ccitt4,可以将TIFF图像保存为1bpp b/w格式。
对于图像分割,Aspose.Words使用最简单的方法-阈值化。 该方法使用阈值将灰度TIFF图像转换为二值图像。 因此,当文档需要转换为TIFF文件格式时,可以通过ThresholdForFloydSteinbergDithering属性获取或设置TIFF二值化的阈值。 此属性的默认值设置为128,此值越高,图像越暗。
下面的示例演示如何使用指定的阈值执行TIFF二值化:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
System::SharedPtr<ImageSaveOptions> options = System::MakeObject<ImageSaveOptions>(SaveFormat::Tiff); | |
options->set_TiffCompression(TiffCompression::Ccitt3); | |
options->set_ImageColorMode(ImageColorMode::Grayscale); | |
options->set_TiffBinarizationMethod(ImageBinarizationMethod::FloydSteinbergDithering); | |
options->set_ThresholdForFloydSteinbergDithering(254); | |
System::String outputPath = outputDataDir + u"ImageColorFilters.ExposeThresholdControlForTiffBinarization.tiff"; | |
doc->Save(outputPath, options); |
下面您可以比较在不同阈值下执行TIFF二值化的图像: