我想将一系列图像始终如一地嵌入到PowerPoint文档中页面的同一位置。
我可以进行图像导入,但是我需要PowerPoint尺寸由用户指定。
我想我可以使用slide_height和slide_width。我正在尝试这样的代码,以使页面高300毫米,但无法正常工作:
pack = Presentation(pptx=None)
pack.slide_height(300)
pack.save('test.pptx')
它引发“ TypeError:'Emu'对象不可调用”错误。
我确定这确实很明显,但是我看不出语法应该是什么,并且文档也没有帮助我。谁能纠正我的代码?
非常感谢,
杰夫。
答案 0 :(得分:1)
我认为您正在寻找的是这个
import UIKit
class ViewController: UIViewController {
let shapeLayer = CAShapeLayer()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let center = view.center
let trackLayer = CAShapeLayer()
let circularPath = UIBezierPath(arcCenter: center, radius: 100, startAngle: -CGFloat.pi / 2, endAngle: 2 * CGFloat.pi, clockwise: true)
trackLayer.path = circularPath.cgPath
trackLayer.strokeColor = UIColor.lightGray.cgColor
trackLayer.lineWidth = 10
trackLayer.fillColor = UIColor.clear.cgColor
trackLayer.lineCap = kCALineCapRound
view.layer.addSublayer(trackLayer)
shapeLayer.path = circularPath.cgPath
shapeLayer.strokeColor = UIColor.red.cgColor
shapeLayer.lineWidth = 10
shapeLayer.fillColor = UIColor.clear.cgColor
shapeLayer.lineCap = kCALineCapRound
shapeLayer.strokeEnd = 0
view.layer.addSublayer(shapeLayer)
}
在API documentation for Presentation.slide_height
中,您会注意到from pptx import Presentation
from pptx.util import Mm
prs = Presentation()
prs.slide_height = Mm(300)
prs.save('test.pptx')
后面没有任何括号(例如,正上方的slide_height
与此相反)。这表明save()
是属性而不是方法,并且可以通过直接访问或分配给它来使用,就像其他任何属性一样。
PowerPoint的本机单位是英制公制单位(EMU),它是1/914400英寸。 in the documentation here对此进行了描述。其中300个的长度确实很短,如果直接将300分配给slide_height
,就会得到这个长度。
要让您跳过算术运算,可以使用多种实用程序对象(如上面的slide_height
)来指定EMU的通用单位,例如厘米和英寸。 in the documentation here对此进行了说明。