Работа с изображения

Aspose.Words позволява на потребителите да работят с изображения по много гъвкав начин. В тази статия можете да разгледате само някои от възможностите за работа с изображения.

Как да извлечете изображения от документ

Всички изображения се съхраняват в Shape възли в Document. За да извлечете всички изображения или изображения с определен тип от документа, изпълнете следните стъпки::

  • Използвайте метода GetChildNodes, за да изберете всички Shape възли.
  • Итерирайте чрез получените колекции от възли.
  • Проверете HasImage Булева собственост.
  • Извлечете данните от изображението, като използвате свойството ImageData.
  • Запазване на данните на изображението във файл.

Следващият пример за код показва как да извлечете изображения от документ и да ги запишете като файлове:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// The path to the documents directories.
System::String inputDataDir = GetInputDataDir_WorkingWithImages();
System::String outputDataDir = GetOutputDataDir_WorkingWithImages();
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Image.SampleImages.doc");
System::SharedPtr<NodeCollection> shapes = doc->GetChildNodes(NodeType::Shape, true);
int32_t imageIndex = 0;
for (System::SharedPtr<Shape> shape : System::IterateOver<System::SharedPtr<Shape>>(shapes))
{
if (shape->get_HasImage())
{
System::String imageFileName = System::String::Format(u"Image.ExportImages.{0}.{1}", imageIndex, FileFormatUtil::ImageTypeToExtension(shape->get_ImageData()->get_ImageType()));
System::String imagePath = outputDataDir + imageFileName;
shape->get_ImageData()->Save(imagePath);
std::cout << "Image saved at " << imagePath.ToUtf8String() << std::endl;
imageIndex++;
}
}

Запазване на изображения като WMF

Aspose.Words осигурява функционалност за запазване на всички налични изображения в документ за WMF формат докато конвертирате DOCX до RTF.

Следният пример за код показва как да запишете изображения като WMF С RTF Опции за записване:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"TestFile.doc");
System::SharedPtr<RtfSaveOptions> options = System::MakeObject<RtfSaveOptions>();
options->set_SaveImagesAsWmf(true);
doc->Save(outputDataDir + u"WorkingWithRtfSaveOptions.SavingImagesAsWmf.rtf", options);