ABCpdf, ASP.net - Страничный HTML с динамически генерируемой страницей .aspx - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь использовать ABCpdf (версия 11) для создания PDF-файла на странице .aspx, которую я генерирую.Я слежу за их примером из https://www.websupergoo.com/helppdfnet/default.htm?page=source%2F5-abcpdf%2Fdoc%2F1-methods%2Fchainable.htm, и он отлично работает.

На странице .aspx, которую я генерирую, есть таблица с переменным количеством строк с другими вещами.Он прекрасно работает, когда в таблице всего несколько строк, и в результате страница короткая, а в файле pdf есть только одна страница, но когда страница длинная с большим количеством строк в таблице, она просто сохраняет первую страницукак PDF.Я попытался отладить код и увидел, что строка, где он должен добавить страницу, никогда не выполняется, потому что theDoc.Chainable (theID) всегда возвращается как ложное.

    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 всегда ложно?Что устанавливает его как истинное или ложное?Если я принудительно сделаю это правдой, тогда я получу пустую страницу в качестве второй страницы, поэтому мне нужно знать, почему это свойство возвращается как ложное.

Кто-нибудь из вас сталкивался с этой проблемой?Любая помощь приветствуется.

1 Ответ

0 голосов
/ 15 марта 2019

Я нашел проблему.И способ ее решения!

Проблема не имеет ничего общего с ABCpdf, это способ печати страницы (.aspx).Я нажал Ctrl + P, чтобы запустить предварительный просмотр, чтобы увидеть, отрисовывает ли он все страницы, и увидел, что страница обрезана после первой страницы.Это также может быть причиной того, что .Chainable всегда был ложным.Итак, я добавил следующие CSS и вуаля!Это работает, как ожидалось.

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

где form1 - идентификатор основной формы.

...