在PDF视图中显示修改后的PDF页面而不保存到本地



我使用以下代码在PDF上编写文本。我需要使用PDFView显示修改后的PDF页面。如果不将修改后的PDF保存在本地并从光盘加载,我找不到在PDF视图上显示修改后的PDF页面的方法。有没有一种方法可以在PDF中显示PDF文件,而不需要先保存它?

let input = getSelectedFilename()
let dstURL = URL(fileURLWithPath: "/Users/me/Downloads/out.pdf")

var pdffile=PDFDocument(url: input)
let page: PDFPage = pdffile!.page(at: 0)!

let bounds = page.bounds(for: PDFDisplayBox.mediaBox)
let size = bounds.size

var mediaBox: CGRect = CGRect(x: 0, y: 0, width: size.width, height: size.height)


let context = CGContext(dstURL as CFURL, mediaBox: &mediaBox, nil)
let graphicsContext = NSGraphicsContext(cgContext: context!, flipped: false)
NSGraphicsContext.current = graphicsContext

context!.beginPDFPage(nil)
text.draw(in:drawrect,withAttributes:textFontAttributes);

context!.saveGState()

context!.restoreGState()

context!.endPDFPage()
NSGraphicsContext.current = nil
context?.closePDF()
var pdffile2=PDFDocument(url: dstURL)
pdfview.document=pdffile2

可以从Data创建PDFDocument。在您的PDFDocument上使用.dataRepresentation()来获取数据,并使用PDFDocument(data: )从数据创建PDFDocument。

let data = myPDFDocument.dataRepresentation()
let anotherDocument = PDFDocument(data: data)

相关内容

  • 没有找到相关文章