【问题标题】:when export to pdf i got extra one empty page当导出为 pdf 时,我得到了额外的一页空白
【发布时间】:2021-12-26 10:55:36
【问题描述】:

我正在将图像保存到 pdf 文档中

假设我有 3 张图片并将它们添加到应该显示 3 页的文档中。但正在发生的事情是我得到了 4 页,第一页是空的。我正在为此使用 TPPDF pod

TPPDF 环境 TPPDF 版本:2.3.5 Xcode 版本:13.0 Swift 版本:4 或以上

演示代码/项目

let document = PDFDocument(format: .a4)
document.add(.footerLeft, textObject: PDFSimpleText(text: "Generated from Pdf Scanner"))
for eachImage in images{
    let imageElement = PDFImage(image: eachImage)
    imageElement.sizeFit = .height
    document.add(.contentCenter ,image: imageElement)              
 }
let generator = PDFGenerator(document: document)
let pdfUrl = (try? generator.generateURL(filename: "Example.pdf"))!

【问题讨论】:

  • 我正在向 PDF 添加多个图像。循环就是为此。我需要在每一页都有一个页脚
  • @MuhammadAhmad 你能像图片数组一样显示你的完整代码吗?
  • @KishanBhatiya 我会更新问题
  • @KishanBhatiya 因为调用 document.add(.footerLeft, ...) 一次会在所有页面上添加页脚。
  • @MuhammadAhmad 你可以尝试将每个图像拟合到一个小的人工尺寸(例如 100x100)以排除溢出吗?

标签: ios swift xcode pdf tppdf


【解决方案1】:

我怀疑您的一张图片太大,但无法访问这些图片我无法确定。我用 SF Symbols 创建了三个图像并调整了图像大小。我可以通过将图像设置得太大来制造问题。

    let images = [NSImage(systemSymbolName: "xmark", accessibilityDescription: "xmark")!,
    NSImage(systemSymbolName: "pencil.slash", accessibilityDescription: "pencil")!,
    NSImage(systemSymbolName: "pencil.and.outline", accessibilityDescription: "pencil")!]
    let document = PDFDocument(format: .a4)
    document.add(.footerLeft, textObject: PDFSimpleText(text: "Generated from Pdf Scanner"))
    for eachImage in images {
//      eachImage.size = NSSize(width: 400, height: 380)
//      above works
        eachImage.size = NSSize(width: 790, height: 760)
        let imageElement = PDFImage(image: eachImage)
        imageElement.sizeFit = .height
        document.add(.contentCenter ,image: imageElement)
    }
    
    let generator = PDFGenerator(document: document)
    generator.debug = true
    let pdfUrl = (try? generator.generateURL(filename: "Example.pdf"))!
    print("pdf location: \(pdfUrl)")

注意:generator.debug = true 可能有用。

【讨论】:

  • 我正在点击相机中的所有图像,但如果图像问题,我将检查其高度。
  • 兄弟不工作。同样的问题
  • 除了高度,宽度也会导致溢出。尝试在添加到文档之前将图像大小写入控制台日志:print("size: \(imageElement.size)")。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
  • 1970-01-01
  • 2013-11-30
  • 1970-01-01
  • 2015-03-02
相关资源
最近更新 更多