Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2015, 18:36   #1
prakalejas
Новичок
Джуниор
 
Регистрация: 18.07.2013
Сообщений: 2
Вопрос как зделать screenshot/thumbnail документа?

никак не получается сделать preview/screenshot/thumbnail документов не открывая самого файла в отдельной программе

процедура OLE -> BMP

procedure TForm1.DrawOleOnBmp(Ole: IOleObject; Bmp: TBitmap);
var ViewObject2: IViewObject2;
ViewSize: TPoint;
AdjustedSize: TPoint;
DC: HDC;
R: TRect;
begin
if Succeeded(Ole.QueryInterface(IViewO bject2, ViewObject2)) then
begin
ViewObject2.GetExtent(DVASPECT_CONT ENT, -1, nil, ViewSize);

DC := GetDC(0);
AdjustedSize.X := MulDiv(ViewSize.X, GetDeviceCaps(DC, LOGPIXELSX), 2540);
AdjustedSize.Y := MulDiv(ViewSize.Y, GetDeviceCaps(DC, LOGPIXELSY), 2540);
ReleaseDC(0, DC);
Bmp.Height := AdjustedSize.Y;
Bmp.Width := AdjustedSize.X;
SetRect(R, 0, 0, Bmp.Width, Bmp.Height);
OleDraw(Ole, DVASPECT_CONTENT, Bmp.Canvas.Handle, R);
end
end;


процедура получение OLEObject:

procedure TForm1.Button4Click(Sender: TObject);
var pdfapp : OleVariant;
begin
pdfapp := CreateOleObject('AcroPDF.PDF'); /// <--- Word.Application Paint.Picture ...

pdfapp.Documents // pdfapp.openfile //pdfapp.loadfile... /// <--- не ясно как получить все методы OLE объекта
('C:\pdf.pdf');


pdfapp.GotoFirstPage;

DrawOleOnBmp(IDispatch(pdfapp) As iOleObject, Image1.Picture.Bitmap); /// <--- как я могу получить только документ или только первую страницу?

end;


спасибо за любые идеи!
prakalejas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ListView,CheckBox,Thumbnail vanya1992ua Общие вопросы Delphi 1 11.03.2010 19:37
ListView,CheckBox,Thumbnail vanya1992ua Помощь студентам 0 11.03.2010 18:48
Создание списка как зделать??? DEZuv Microsoft Office Access 0 04.04.2009 12:02
Как зделать icq флудер? }{oт@бь)ч Работа с сетью в Delphi 4 28.10.2008 09:43