如何在PDFView中呈现单页pdf文档,使文档居中完整呈现?

How to present a single page pdf document in PDFView so that the document is centred and fully presented?

我有一个应用程序可以拍摄文档照片,然后在新的 UIViewController 的 PDFView 中显示为 pdf。我遇到的问题是,当显示 pdf 文档时,它是一些放大的内容,默认情况下 PDFView 不显示文档的完整轮廓。我该如何实现?

class ShowPDFViewController: UIViewController{

@IBOutlet weak var pdfPreview: PDFView!
var pdfDocument: PDFDocument!


    override func viewDidLoad() {
        super.viewDidLoad()

        // PRESENT PDF DOCUMENT JUST CREATED
        pdfPreview.document = pdfDocument
        pdfPreview.autoScales = true

    }
}

这是 pdf 文档当前默认显示的方式 - 经常缩放:

这就是我希望文档默认显示的方式 - 文档的完整大纲请参阅:

我按以下方式从代码创建视图并且它有效(左右侧与超级视图左右对齐,高度缩放以适合)

var pdfView = PDFView(frame: view.frame)
pdfView.document = PDFDocument(url: Bundle.main.url(forResource: "doc"
    , withExtension: "pdf")!)

pdfView.displayMode = .singlePage
pdfView.autoScales = true

view.addSubview(pdfView)

我有个主意。 您可以创建一个 ScrollView ,向其中添加 PDFView 。把它们交给控制器。 您可以根据需要更改 ScrollView.contentOffset

修复 pdfView.displayMode = .singlePageContinuous

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        DispatchQueue.main.async {
            self.pdfView.subviews.forEach {
                guard let scrollView = ([=10=] as? UIScrollView) else { return }
                scrollView.setContentOffset(.zero, animated: false)
            }
        }

    }