Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS在多列中将HTML绘制为PDF_Html_Ios_Pdf - Fatal编程技术网

iOS在多列中将HTML绘制为PDF

iOS在多列中将HTML绘制为PDF,html,ios,pdf,Html,Ios,Pdf,我正在使用下面的代码将HTML绘制成PDF。当HTML呈现给设备时,我使用css列将HTML布局为两列,但当它呈现给PDF时,它只在一列中。有没有一种方法可以将HTML呈现为PDF格式的多列?我猜UIPrintPageRenderer不支持列,但找不到任何东西来证实这一点 我使用css列的原因是内容的长度可变,我希望它动态地溢出到下一列 这是我的密码内容是包含HTML的字符串。我将完全相同的字符串发送到UIWebView.loadHTMLString(uquo:baseURL:),并将其呈现在两

我正在使用下面的代码将HTML绘制成PDF。当HTML呈现给设备时,我使用css列将HTML布局为两列,但当它呈现给PDF时,它只在一列中。有没有一种方法可以将HTML呈现为PDF格式的多列?我猜
UIPrintPageRenderer
不支持列,但找不到任何东西来证实这一点

我使用css列的原因是内容的长度可变,我希望它动态地溢出到下一列

这是我的密码<代码>内容是包含HTML的
字符串
。我将完全相同的字符串发送到
UIWebView.loadHTMLString(uquo:baseURL:)
,并将其呈现在两列中

    let renderer = UIPrintPageRenderer()
    renderer.headerHeight = 36
    renderer.footerHeight = 36

    let htmlFormatter = UIMarkupTextPrintFormatter(markupText: content)
    htmlFormatter.startPage = 0
    htmlFormatter.contentInsets = UIEdgeInsetsMake(0, 36, 0, 36)
    renderer.addPrintFormatter(htmlFormatter, startingAtPageAtIndex: 0)

    let paperRect = CGRectMake(0, 0, 612, 792)
    let printableRect = CGRectInset(paperRect, 0, 0)
    renderer.setValue(NSValue.init(CGRect: paperRect), forKey: "paperRect")
    renderer.setValue(NSValue.init(CGRect: printableRect), forKey: "printableRect")

    let pdfData = NSMutableData()
    UIGraphicsBeginPDFContextToData(pdfData, CGRectZero, metadata)

    for i in 0 ..< renderer.numberOfPages() {
        UIGraphicsBeginPDFPage()
        let bounds = UIGraphicsGetPDFContextBounds()
        renderer.drawPageAtIndex(i, inRect: bounds)
    }
    UIGraphicsEndPDFContext()

尝试这样做,而不是css列尝试使用html列,只需使用css设置列的样式。我认为UIGraphics只会抓取HTML结构

<table>
  <tr>
     <td>YourStuffHere</td>
     <td>YourStuffHere</td>
  </tr>
 </table>

你的东西在这里
你的东西在这里

我希望列能够根据内容流动。对不起,我应该在问题中澄清一下。我现在就编辑它。您可能必须使用javascript来更改列,因为javascript有很多pdf编写器。您可以从中共享您的源代码吗?即使只有部分源代码片段。@ylgwhy我已经在上面添加了我的代码。请尝试添加
!重要信息
是否显示在每个css列值的末尾?有可能它被覆盖了…@hakJav谢谢,但那没用你能修好吗?我在这里遇到了同样的问题,尝试了很多不同的东西,但都没有效果
<table>
  <tr>
     <td>YourStuffHere</td>
     <td>YourStuffHere</td>
  </tr>
 </table>