使用UIGraphics将{Bezier'绘制为pdf

时间:2017-06-30 15:44:34

标签: swift

所以pdf的创建很有效,然后我有一些更好的路径,我想添加到这个pdf,我不知道如何添加它并设置它的位置在文件内:

  //pdf
   UIGraphicsBeginPDFContextToFile(pathForPDF, CGRect.zero, nil)
   UIGraphicsBeginPDFPageWithInfo(CGRect(x: 0, y: 0, width: 1000, height: 1000), nil)

   // draw the bezier
   let pathFromSVGFile:UIBezierPath = // some bezier from file.

   let context = UIGraphicsGetCurrentContext()  // *obviously wrong
   context?.addPath((pathFromSVGFile?.cgPath)!)

   UIGraphicsEndPDFContext()

这不会添加路径,但我可以轻松地将其他内容添加到此文件中,不确定如何添加路径和设置位置。

1 个答案:

答案 0 :(得分:1)

首先,您不必使用UIGraphicsGetCurrentContext。你可以pathFromSVGFile.stroke()。但在此之前,请务必设置笔触颜色(例如UIColor.blue.setStroke())并设置线宽(例如pathFromSVGFile.lineWidth = 3)。

所以,

UIGraphicsBeginPDFContextToFile(pathForPDF, CGRect.zero, nil)
UIGraphicsBeginPDFPageWithInfo(CGRect(x: 0, y: 0, width: 1000, height: 1000), nil)

// draw the bezier
let pathFromSVGFile:UIBezierPath = // some bezier from file.

UIColor.blue.setStroke()
pathFromSVGFile.lineWidth = 3
pathFromSVGFile.stroke()

UIGraphicsEndPDFContext()