Как вытащить картинку из Word?
Имею IDispatch на InlineShape, при вызове get_Type() возвращает wdInlineShapePicture, картинка вставлена по Shift+Insert.
IDispatch не дает больше ничего интересного, может есть другие варианты?
Здравствуйте, Аноним, Вы писали:
А>Как вытащить картинку из Word?
Что значит "вытащить"?
А>IDispatch не дает больше ничего интересного, может есть другие варианты?
Typelibrary WORD.OLB даёт длинный список методов dispinterface InlineShape.
В том числе Shape* ConvertToShape();
И у dispinterface Shape ещё более длинный список методов...
Санкционный Смотритель.
Re[2]: Вытащить картинку из Word (OLE)
От:
Аноним
Дата:
30.12.02 21:30
Оценка:
Здравствуйте, filkov, Вы писали:
А>>Как вытащить картинку из Word? F>Что значит "вытащить"?
Вывести на hdc
(хотелось бы, как у OLE IViewObject->Draw(...HDC...))
А>>IDispatch не дает больше ничего интересного, может есть другие варианты? F>Typelibrary WORD.OLB даёт длинный список методов dispinterface InlineShape. F>В том числе Shape* ConvertToShape(); F>И у dispinterface Shape ещё более длинный список методов...
Все просмотрел (потратил ~4 недели), при чем при Convert, Word начинает ругаться, что документ изменили,
а результат тот же, нужных интерфейсов нет.
Здравствуйте, Аноним, Вы писали:
А>(хотелось бы, как у OLE IViewObject->Draw(...HDC...))
К сожалению не знаю, что это такое, этот Shape/InlineShape, с чем его едят.
Полагаю следовало бы спросить его: QueryInterface() for IViewObject*.
Что он отвечает, поддерживает или не поддерживает?
Санкционный Смотритель.
Re[4]: Вытащить картинку из Word (OLE)
От:
Аноним
Дата:
03.01.03 21:16
Оценка:
Здравствуйте, filkov, Вы писали:
F>Здравствуйте, Аноним, Вы писали:
А>>(хотелось бы, как у OLE IViewObject->Draw(...HDC...)) F>К сожалению не знаю, что это такое, этот Shape/InlineShape, с чем его едят. F>Полагаю следовало бы спросить его: QueryInterface() for IViewObject*. F>Что он отвечает, поддерживает или не поддерживает?
Если б держал вопросов не было.
Здравствуйте, Аноним, Вы писали:
А>Как вытащить картинку из Word? А>Имею IDispatch на InlineShape, при вызове get_Type() возвращает wdInlineShapePicture, картинка вставлена по Shift+Insert. А>IDispatch не дает больше ничего интересного, может есть другие варианты?
Столкнулся с такой же проблемой.
Долго стучал лысиной по полу, но безрезультатно.
Пока сделал полное извращение — вызываю Shape.CopyAsPicture и тут же беру из кляпборда через IDataObject WMF.
Работает, хотя и очень противно.
IMHO нужно копать в направлении свойства OLEFormat и конкретно Object.
Господа, ну неужели никто не знает как получить IViewObject?
Здравствуйте, Аноним, Вы писали:
А>Как вытащить картинку из Word?
Когда подобная задача стояла у меня, я долго общался с WinWord Automation API и пришел к выводу, что в общем случае там поддержки этого просто нету. Ну тоесть Ворд умеет поддерживать LinkedPictures — это картинка которая в отдельном файле валяется — с такими все тривиально, а картинку, засунутую внутрь вытащить не получилось никак В итоге плюнул я на это и стал их из клипборды доставать — криво, зато работает
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...