如何将滚动视图转换为 pdf 并打印在 A4 纸上?

问题描述

我需要将具有许多 UI 元素(如 UILabel、Textfield、UIImage 等)的滚动视图转换为 pdf。我做了同样的事情,它工作正常。这是我用过的scrollview转pdf的代码,

let pageDimensions = CGRect(x: contentView.bounds.origin.x,y: contentView.bounds.origin.y,width: contentView.bounds.width,height: contentView.bounds.height - 200)
            let outputData = NSMutableData()

            UIGraphicsBeginPDFContextToData(outputData,pageDimensions,nil)
            if let context = UIGraphicsGetCurrentContext() {
                UIGraphicsBeginPDFPage()
                contentView.layer.render(in: context)
            }
            UIGraphicsEndPDFContext()

            

下一步是打印生成的pdf。打印功能在这里..

let printInfo = UIPrintInfo(dictionary: nil)
printInfo.jobName = documentsDirectory.appendingPathComponent("test.pdf").lastPathComponent
printInfo.outputType = .photo
let printController = UIPrintInteractionController.shared
 printController.printInfo = printInfo
printController.showsNumberOfCopies = true
printController.printingItem = documentsDirectory.appendingPathComponent("test.pdf")
printController.present(animated: true,completionHandler: nil)

我面临的问题是,pdf 不是 A4 纸尺寸。我试图更改页面尺寸,但有很多空白空间。 pdf 内容被压缩到内容视图宽度而不是 A4 尺寸的工作表。

我该如何解决这个问题?请帮助家伙.... 如果您需要其他信息,请问我.. 我需要解决这个问题...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...