ole로 워드 문서를 열고, 그 문서를 비트맵으로 저장하려고 합니다.
그런데, 그게 쉽지가 않네요.
엑셀은 sheet란 속성이 있어서, sheet로 문서를 따로 저장하고선
그걸 bmp로 바꾸면 되는데, 워드는 sheet에 해당하는 것을 찾지를 못하겠습니다.
예를 들면
var
oWord: OleVariant;
bmp: TBitmap;
aSize:TPoint;
i: integer;
begin
try
oWord := CreateOleObject('Word.Application');
except
showmessage('word not installed');
end;
oWord.Documents.Open(Opendialog1.FileName);
for i:= 0 to 문서의 페이지 카운트 -1 do
oWord.ActiveDocument.SaveAs(.....);
==>3페이지짜리 문서라면 각 페이지별로 문서를 저장해서
==>여기서 위의 저장한 경로의 파일을 looping을 하면서 bmp로 저장하면 될것 같은데 잘 안되네요.
for i:= 0 to 문서의 페이지 카운트 -1 do
begin
bmp := Tbitmap.Create;
try
OleContainer1.CreateLinkToFile(....); ==>saveas한 파일 경로
OleContainer1.OleObjectInterface.GetExtent( DVASPECT_CONTENT, ASize );
ASize.X := Round( ASize.X / 26.5 );
ASize.Y := Round( ASize.Y / 26.5 );
bmp.Width := Asize.x;
bmp.Height := Asize.y;
OleDraw(Olecontainer1.OleObjectInterface, DVASPECT_CONTENT,
bmp.Canvas.Handle, Rect( 0, 0, ASize.X, ASize.Y ) );
bmp.SaveToFile(..); ==>여기서 저장
finally
bmp.free;
end;
end;
제가 방법을 잘 못 생각하는 것 같으면 지적좀 해주세요.
혹시 경험해보신분 힌트라도 좀 주시면 감사합니다.