将文档另存为多页 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-Python-via-.NET | |
doc.save(docs_base.artifacts_dir + "WorkingWithImageSaveOptions.multipage_tiff.tiff") |
渲染 TIFF 时指定附加选项
您经常需要指定其他选项,这会影响渲染结果。为此,请使用 ImageSaveOptions 类,该类包含确定文档如何在图像上显示的属性。您可以指定以下内容:
- 保存格式以确定可用选项列表(save_format)
- 分辨率(horizontal_resolution、vertical_resolution)
- 页数 (page_set)
- 颜色和灯光设置(paper_color、image_color_mode、image_brightness、image_contrast)
- 图像质量(jpeg_quality、scale、tiff_compression)
- 用于二值化图像的方法(tiff_binarization_method、threshold_for_floyd_steinberg_dithering)
- 生成图像的像素格式 (pixel_format)
- 通过 Aspose.Words(metafile_rendering_options、use_gdi_emf_renderer)处理 Windows 图元文件
- 您可以在 ImageSaveOptions 类中看到的其他选项
以下示例显示如何使用配置的选项将 DOC 转换为 TIFF:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Rendering.docx") | |
doc.save(docs_base.artifacts_dir + "WorkingWithImageSaveOptions.multipage_tiff.tiff") | |
saveOptions = aw.saving.ImageSaveOptions(aw.SaveFormat.TIFF) | |
saveOptions.page_set = aw.saving.PageSet([0, 1]) | |
saveOptions.tiff_compression = aw.saving.TiffCompression.CCITT4 | |
#saveOptions.resolution = 160 | |
doc.save(docs_base.artifacts_dir + "WorkingWithImageSaveOptions.get_tiff_page_range.tiff", saveOptions) |
TIFF 二值化阈值
通过将 pixel_format 属性设置为 FORMAT1BPP_INDEXED 像素格式类型,并将 tiff_compression 属性设置为 CCITT3 或 CCITT4,可以将 TIFF 图像保存为 1bpp 黑白格式。
对于图像分割,Aspose.Words 使用最简单的方法–阈值化。该方法使用阈值将灰度 TIFF 图像转换为二值图像。因此,当文档需要转换为TIFF文件格式时,可以通过threshold_for_floyd_steinberg_dithering属性获取或设置TIFF二值化的阈值。该属性的默认值设置为 128,该值越高,图像越暗。
以下示例显示如何使用指定阈值执行 TIFF 二值化:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Rendering.docx") | |
saveOptions = aw.saving.ImageSaveOptions(aw.SaveFormat.TIFF) | |
saveOptions.tiff_compression = aw.saving.TiffCompression.CCITT3 | |
saveOptions.image_color_mode = aw.saving.ImageColorMode.GRAYSCALE | |
saveOptions.tiff_binarization_method = aw.saving.ImageBinarizationMethod.FLOYD_STEINBERG_DITHERING | |
saveOptions.threshold_for_floyd_steinberg_dithering = 254 | |
doc.save(docs_base.artifacts_dir + "WorkingWithImageSaveOptions.expose_threshold_control_for_tiff_binarization.tiff", saveOptions) |
您可以在下面比较在不同阈值下执行 TIFF 二值化的图像:
