在 PDF 视图中显示修改后的 PDF 页面而不在本地保存
Displaying modified PDF page in PDF View without saving locally
我正在使用以下代码在 PDF 上编写文本。我需要使用 PDFView.I 显示修改后的 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)
我正在使用以下代码在 PDF 上编写文本。我需要使用 PDFView.I 显示修改后的 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)