-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathruby_sliders_extractor.rb
31 lines (25 loc) · 1.28 KB
/
ruby_sliders_extractor.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
require 'win32ole'
require 'fileutils'
require 'logger'
UPLOAD_DIR ='c:/work/salesforce/test/' # 'c:/inetpub/wwwroot/upload/'
LOG_DIR ='c:/work/salesforce/test/' #'c:\\inetpub\\wwwroot\\log\\'
SLIDERS_DIR ='c:\\work\\salesforce\\test\\sliders\\' #'c:\\inetpub\\wwwroot\\preview\\ppt\\00DG0000000CkUdMAK\\a01G000000DTkc0IAD\\sliders\\'
#PPT_FILE_NAME ='00D20000000Caz4EAC_a0E2000000odSfIEAU_ANI-Chicago-December-visit---EK.pptx'
PPT_FILE_NAME ='vertical.ppt'
log=Logger.new(LOG_DIR+'logextractor.log')
log.level = Logger::INFO
ppt = WIN32OLE.new('PowerPoint.Application')
ppt.visible = true
## system "start c:/inetpub/wwwroot/upload/Abbott.pptx"
presentation = ppt.Presentations.Open(UPLOAD_DIR+PPT_FILE_NAME);
#
sliders_cnt=ppt.ActivePresentation.Slides.Count()
log.info("SLIDERS_CNT :"+sliders_cnt.to_s)
sleep 1
for i in 1..sliders_cnt
#ppt.ActivePresentation.Slides(i).Export(SLIDERS_DIR+"slide_#{i}.jpg", ".jpg", 2048, 1536)
ppt.ActivePresentation.Slides(i).Export("c:\\work\\salesforce\\test\\sliders\\slide_#{i}.jpg", ".jpg")
log.info(" slide width=#{ppt.ActivePresentation.PageSetup.SlideWidth} slide height=#{ppt.ActivePresentation.PageSetup.SlideHeight}")
end
ppt.ActivePresentation.Close()
ppt.quit()