如何在操作按钮上的PPT文件中导出Tibco Spotfire报告单击

时间:2015-12-17 06:59:44

标签: ironpython tibco spotfire

我想以用户点击Button的方式导出PPT格式的Tibco Spotfire报告。是否有任何IronPython脚本可以在动作触发时执行此操作?

1 个答案:

答案 0 :(得分:2)

这将打开powerpoint并每页导出一个可视化:

from System.IO import *
from Spotfire.Dxp.Application.Visuals import VisualContent
from System.Drawing import Bitmap, Graphics, Rectangle, Point
import clr
clr.AddReference("Microsoft.Office.Interop.PowerPoint")
import Microsoft.Office.Interop.PowerPoint as PowerPoint

powerpoint = PowerPoint.ApplicationClass()
powerpoint.Visible = True
pres=powerpoint.Presentations.Add()
slideCounter = 1

for visual in Document.ActivePageReference.Visuals:
    #print visual.Title

#export graphic to temp file
vc = visual.As[VisualContent]()
bm = Bitmap(2000, 1200)
g = Graphics.FromImage(bm)
r = Rectangle(Point(0,0), bm.Size)
vc.Render(g, r)
file = Path.GetTempFileName()
bm.Save(file)

#pp setup
slide=pres.Slides.Add(slideCounter, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
slideCounter = slideCounter+1
slide.Shapes.AddPicture((file), False, True, 30, 60, 650, 400)
title=slide.Shapes.Title
txt=slide.Shapes.AddTextBox(1,10,500,500,100)
title.Top=0.1
obj=slide.Shapes.Title.TextFrame.TextRange
obj.Font.Size=24

您可以使用以下内容循环浏览页面:

for Document.Pages中的页面:     Document.ActivePageReference =页面 根据此处的代码进行调整:https://tibbr.tibcommunity.com/tibbr/#!/messages/69369