Guardar um documento com várias páginas TIFF
Ao trabalhar com documentos, muitas vezes você precisa converter seu documento em um(S) arquivo (s) de Imagem raster. Isto é especialmente relevante se tiver de apresentar o seu documento num formato legível e imprimível, mas não editável. Por exemplo, pode utilizar uma imagem rasterizada da primeira página do documento como pré-visualização. Este artigo descreve como converter um documento em uma imagem raster usando o exemplo do formato TIFF – um dos formatos de imagem mais populares.
Convertendo DOC em várias páginas TIFF
Em Aspose.Words, a conversão de DOC para TIFF pode ser realizada com uma linha de código, simplesmente passando o caminho “salvar em” e a extensão de arquivo relevante para o método Save. O método Save deriva automaticamente o SaveFormat
da extensão de nome de ficheiro especificada no caminho. O exemplo a seguir demonstra como converter um documento para o formato 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"); |
Especificando Opções Adicionais Ao Renderizar TIFF
Muitas vezes, você precisa especificar opções adicionais, que afetam o resultado da renderização. Para esse fim, use a classe ImageSaveOptions, que contém propriedades que determinam como o documento é exibido na imagem. Você pode especificar o seguinte:
- Salvar formato para determinar a lista de opções disponíveis (SaveFormat)
- Resolução (HorizontalResolution, VerticalResolution, Resolution)
- Número de páginas (PageIndex, PageCount)
- Configurações de cor e iluminação(PaperColor, ImageColorMode, ImageBrightness, ImageContrast)
- Qualidade da imagem(JpegQuality, Scale, TiffCompression, GraphicsQualityOptions)
- Método utilizado para binarizar a imagem (TiffBinarizationMethod, ThresholdForFloydSteinbergDithering)
- Formato de Pixel para imagens geradas (PixelFormat)
- Windows Tratamento de metarquivos por Aspose.Words (MetafileRenderingOptions, UseGdiEmfRenderer)
- Opções adicionais que você pode ver na classe ImageSaveOptions
O exemplo a seguir mostra como converter DOC para TIFF com opções configuradas:
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); |
Limiar para TIFF binarização
Uma imagem TIFF pode ser guardada no formato 1 bpp b / w definindo a propriedade PixelFormat para formatar o tipo de formato de pixel1bppIndexed e a propriedade TiffCompression
para Ccitt3 ou Ccitt4.
Para a segmentação de imagens, Aspose.Words utiliza o método mais simples - limiar. Este método converte uma imagem em escala de cinza TIFF em uma imagem binária, usando um valor limite. Portanto, quando um documento precisa ser convertido para o formato de arquivo TIFF, é possível obter ou definir o limite para a binarização TIFF através da propriedade ThresholdForFloydSteinbergDithering. O valor padrão para essa propriedade é definido como 128 e, quanto maior esse valor, mais escura é a imagem.
O exemplo a seguir mostra como executar a binarização TIFF com um limite especificado:
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); |
Abaixo, você pode comparar imagens nas quais TIFF a binarização foi realizada em vários valores-limite: