ABCpdf,ASP.net-具有动态生成的.aspx页的分页HTML

时间:2019-03-14 23:29:47

标签: asp.net abcpdf

我正在尝试使用ABCpdf(版本11)从正在生成的.aspx页面创建pdf。我正在跟踪https://www.websupergoo.com/helppdfnet/default.htm?page=source%2F5-abcpdf%2Fdoc%2F1-methods%2Fchainable.htm中的示例代码,效果很好。

我正在生成的.aspx页面具有一个表,该表具有可变数量的行以及其他内容。当表只有几行并且结果是页面很短并且pdf只有一页时,它的效果很好,但是当页面很长且表中有很多行时,它只会保存第一页作为pdf。我尝试调试代码,发现应该添加页面的行始终不会执行,因为Doc.Chainable(theID)始终返回为false。

    Dim theID As Integer
    theID = theDoc.AddImageUrl(HttpContext.Current.Request.Url.AbsoluteUri)
    'Chain
    While True
        theDoc.FrameRect() ' add a black border
        If Not theDoc.Chainable(theID) Then
            Exit While
        End If
        theDoc.Page = theDoc.AddPage()
        theID = theDoc.AddImageToChain(theID)
    End While

为什么.Chainable始终为假?是什么将其设置为真或假?如果我强制将其设置为true,则将获得空白页作为第二页,因此我需要知道为什么将该属性返回为false。

你们中有人遇到过这个问题吗?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我发现了问题。 以及解决方法!

该问题与ABCpdf无关,这是页面(.aspx)的打印方式。我按Ctrl + P启动打印预览,以查看是否渲染了所有页面,并看到页面在第一页之后被剪切掉了。这也可能就是.Chainable始终为假的原因。因此,我添加了以下CSS和voila!它按预期工作。

@media print {
   #form1 { overflow:visible !important;}
}

其中form1是主表单的ID。