Я использую wkwebview в iOS для рендеринга HTML, а затем экспортировать его в качестве PDF с помощью UiprintPagerenderer. However, when I generate the PDF, there's a small white space at the top of the page that I can't seem to remove, even though my HTML and CSS set all margins and paddings to 0.
Swift Code (PDF Generation):
func saveToPdf(wKWebView: WKWebView, fileName: String) -> String {
let printFormatter = wKWebView.viewPrintFormatter()
let renderer = UIPrintPageRenderer()
renderer.addPrintFormatter(printFormatter, startingAtPageAt: 0)
// A4 Size (in points): 595.2 x 841.8
let pageSize = CGSize(width: 595.2, height: 841.8)
// Setup the page rect and printable rect
let paperRect = CGRect(x: 0, y: 0, width: pageSize.width, height: pageSize.height)
let printableRect = CGRect(x: 0,
y: 0,
width: pageSize.width,
height: pageSize.height)
// Set value using KVC
renderer.setValue(NSValue(cgRect: paperRect), forKey: "paperRect")
renderer.setValue(NSValue(cgRect: printableRect), forKey: "printableRect")
// Render the PDF
let pdfData = NSMutableData()
UIGraphicsBeginPDFContextToData(pdfData, paperRect, nil)
for i in 0..
Подробнее здесь: [url]https://stackoverflow.com/questions/79784348/wkwebview-pdf-export-adds-unexpected-white-space-at-top[/url]
Я использую wkwebview в iOS для рендеринга HTML, а затем экспортировать его в качестве PDF с помощью UiprintPagerenderer. However, when I generate the PDF, there's a small white space at the top of the page that I can't seem to remove, even though my HTML and CSS set all margins and paddings to 0. Swift Code (PDF Generation): [code]func saveToPdf(wKWebView: WKWebView, fileName: String) -> String {
let printFormatter = wKWebView.viewPrintFormatter() let renderer = UIPrintPageRenderer() renderer.addPrintFormatter(printFormatter, startingAtPageAt: 0)
// A4 Size (in points): 595.2 x 841.8 let pageSize = CGSize(width: 595.2, height: 841.8)
// Setup the page rect and printable rect let paperRect = CGRect(x: 0, y: 0, width: pageSize.width, height: pageSize.height) let printableRect = CGRect(x: 0, y: 0, width: pageSize.width, height: pageSize.height)
// Set value using KVC renderer.setValue(NSValue(cgRect: paperRect), forKey: "paperRect") renderer.setValue(NSValue(cgRect: printableRect), forKey: "printableRect")
// Render the PDF let pdfData = NSMutableData() UIGraphicsBeginPDFContextToData(pdfData, paperRect, nil)