【发布时间】:2017-01-12 09:51:55
【问题描述】:
在我的应用程序中,我正在捕获 UIView 的屏幕截图,然后将该图像设置为 pdf,但图像和 pdf 框架的尺寸不同。我的图像很小,所以在将它写在 pdf 上时它会拉伸并缩小。
这是我的代码:
func drawOnPDF(path: String) {
// Get existing Pdf reference
let pdf = CGPDFDocument(NSURL(fileURLWithPath: path))
// Get page count of pdf, so we can loop through pages and draw them accordingly
let pageCount = pdf!.numberOfPages;
// Write to file
UIGraphicsBeginPDFContextToFile(path, CGRect.zero, nil)
// Write to data
//var data = NSMutableData()
//UIGraphicsBeginPDFContextToData(data, CGRectZero, nil)
for index in 1...pageCount {
let page = pdf!.page(at: index)
// let pageFrame = CGPDFPageGetBoxRect(page, kCGPDFMediaBox)
let pageFrame = page?.getBoxRect(.mediaBox)
page?.getBoxRect(.mediaBox)
print(pageFrame)
print(img.size)
UIGraphicsBeginPDFPageWithInfo(pageFrame!, nil)
let ctx = UIGraphicsGetCurrentContext()
// Draw existing page
ctx!.saveGState();
ctx!.scaleBy(x: 1, y: -1);
ctx!.translateBy(x: 0, y: -(pageFrame?.size.height)!);
ctx!.drawPDFPage(page!);
ctx!.restoreGState();
// Draw image on top of page
print(index)
print(visibleIndexPath.row)
if (index == visibleIndexPath.row + 1)
{
img.draw(in: pageFrame!)
}
}
UIGraphicsEndPDFContext()
}
现在我在这里获取图像大小(319.0、339.0) 而pdf页框大小为(0.0, 0.0, 612.0, 792.0)
那么如何在 iOS swift 中将两者设置为相同。
【问题讨论】:
标签: ios objective-c swift pdf swift3