728x90
예전에 eStream Presto와 같은 동영상 강의  프로그램을 만든적이 있는데 그때 사용했던 코드이다.

동영상 강의 프로그램의 구조는 의외로 무척이나 간단한데
PPT를 보여주기 위해서 일단 PPT를 이미지나 HTML 형태로 변환하고
변환된 HTML 파일을 보여 줄 수 있는 임베디드 웹 브라우저를 올리면 된다.
그리고 그 위에 그림이나 글자를 쓸 수 있도록 캔버스나 컨트롤을 올리면 되는데
(오래되서 기억은 잘 나지 않지만 웹 브라우저 위에 컨트롤을 올리는게 좀 귀찮았던걸로 기억난다.)
그리고 마지막으로 음성을 녹음하여 mp3로 저장하고 
타이머를 통해서 녹음 및 캡쳐된 작업을 그래로 뿌려주면 된다.

음... 간단하지 않네...

아무튼..  이걸 만들어서 학부 프로젝트로 제출해서 시연을 했는데
교수님 曰, "이미 있는 프로그램(Presto)을 왜 만들었나?"
브라운 曰, "공짜로 쓰려고 만들었습니다."
ㅋㅋㅋㅋ

암튼 거기서 사용했던 코드다. 굉장히 간단한 소스인데 이걸 알아내는데 열흘은 걸린듯하다.
검색해서 바로 나오는 소스는 대체로 파워포인트 프로그램이 뜨고 변환작업이 이루어진다.
이 코드는 파워포인트 프로그램이 뜨지 않고 백그라운드에서 변환이 이루어진다.

난 왜 이런 사람들이 잘 안 쓸것 같은 것만 만드는걸까? ㅎㅎ


uses
  ComObj;

procedure ConvertPPT2HTML(PPTFileName, HTMLFileName: string);
var
  PPT: Variant;
  Pres: Variant;
begin
  PPT := CreateOleObject('PowerPoint.Application');
  Pres := PPT.Presentations.Open(PPTFileName, False, False, False);
  Pres.SaveAs(HTMLFileName, $0000000C, False);
  Pres.Close;
  PPT.Quit
end; 

728x90
복사했습니다!