Swift 显示浏览 pdf 文件
来源:互联网 发布:淘宝买家退款骗局 编辑:程序博客网 时间:2024/06/04 19:32
webView显示pdf文件
在开发中,我们可以用webview加载pdf文件,这个直接加载文件绝对路径就可以了。
使用CoreGraphics绘制pdf内容
import UIKitimport CoreGraphicsclass PDFView: UIView { var document:CGPDFDocument! var pageNum:NSInteger = 1; /// 初始化加载pdf视图 /// /// - Parameters: /// - frame:frame /// - document: CGPDFDocument /// - pageNum: 页码 init(frame: CGRect,document:CGPDFDocument,pageNum:NSInteger) { super.init(frame: frame); self.document = document; self.pageNum = pageNum; } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func draw(_ rect: CGRect) { super.draw(rect) self.drawInContext(context: UIGraphicsGetCurrentContext()!); } func drawInContext(context:CGContext){ //第一句是调整图形的位置,如不执行绘制的图形会不在视图可见范围内 context.translateBy(x: 0.0, y: self.frame.size.height); //第二句的作用是使图形呈正立显示 context.scaleBy(x: 1.0, y: -1.0); ////获取需要绘制的页码的数据。 let pageRef:CGPDFPage = self.document!.page(at: self.pageNum)!; ////记录当前绘制环境,防止多次绘画 context.saveGState(); /* 返回一个变换映射的盒子矩形作为指定的盒子 通过交叉相关计算的正确有效的矩形和MediaBox页面的入口。 旋转的有效直接根据网页/旋转进入。 中心的矩形在`矩形”。如果“旋转”是非零的,那么 rect将顺时针旋转`旋转度。`旋转” 必须是90的倍数。 大型的矩形,如果必要的话,那么,它与 对`矩形边缘。如果` preserveaspectratio”是真的,那么最后 直接将与边缘`矩形”只有在更多的限制性维度。 */ let pdfTransForm = pageRef.getDrawingTransform(CGPDFBox.cropBox, rect: self.bounds, rotate: 0, preserveAspectRatio: true); context.concatenate(pdfTransForm);//把创建的仿射变换参数和上下文环境联系起来 context.drawPDFPage(pageRef);//把得到的指定页的PDF数据绘制到视图上 context.restoreGState(); }}
调用示例
/* 这里只是加载了第一页的内容,具体需求可以自定制。*/let pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), "Swift" as CFString, "pdf" as CFString, "" as CFString); let document = CGPDFDocument(pdfURL!); let totalPage = document!.numberOfPages; LLog(totalPage) let pdf_view = PDFView(frame: M_RECT(0, y: 20, w: self.view.width, h: self.view.height-100),document:document!,pageNum:1); pdf_view.backgroundColor = UIColor.white self.view.addSubview(pdf_view)
阅读全文
0 0
- Swift 显示浏览 pdf 文件
- WPF 浏览PDF 文件
- WPF 浏览PDF 文件
- 在线浏览PDF文件
- PDF的显示和浏览
- PDF的显示和浏览
- pdf文件的在线浏览
- 在线浏览pdf文件实现
- iOS PDF的显示和浏览
- iOS pdf的显示和浏览
- ios--PDF的显示和浏览
- MFC应用程序中浏览PDF、Word文件
- MFC应用程序中浏览PDF、Word文件
- MFC应用程序中浏览PDF、Word文件
- MFC应用程序中浏览PDF、Word文件
- MFC应用程序中浏览PDF、Word文件
- ios 浏览带目录的pdf文件
- 怎么用ABBYY在线浏览PDF文件
- 输出含有9和9的倍数
- Android零基础入门第77节:Activity任务栈和启动模式
- 关于Web浏览器缓存机制的初步分析及消除缓存的影响
- 配置py-faster-rcnn配到的问题
- 手机转屏时,Activity的onDestroy和onCreate方法会被调用
- Swift 显示浏览 pdf 文件
- json和ajax简单面试题
- 编程语言对比
- List的contains方法老是返回false的解决法
- char,varchar,nchar,nvarchar
- Android、IOS微信浏览器缓存清理教程
- 大数据是什么?一文秒读懂大数据
- 智能指纹锁与指静脉技术的开发
- 解决IOSwebview加载H5页面点击2次会上移方案