Сбой таблицы itext7 SetFixedPosition на странице 1 завершается неудачно - PullRequest
0 голосов
/ 21 ноября 2018

Не могу поверить, что я вижу .... Я пытаюсь напечатать таблицу с itext7 в PDF на определенной странице.Создание таблицы выполняется в качестве последнего утверждения перед завершением PDF.

PDF имеет (после завершения) 5 страниц.Я могу напечатать таблицу на каждой странице, кроме первой.

Это мой код:

    If placeOnPage = 0 Then
        table.SetFixedPosition(200, 250, 100)
    Else
        table.SetFixedPosition(placeOnPage, 200, 250, 100)
    End If

Если placeOnPage = 0, то таблица правильно печатается на последней странице.Если я установлю placeOnPage в значения между 2 и 5, таблица будет правильно размещена на страницах 2, 3, 4 или 5. Но если я установлю placeOnPage в 1, я получу ошибку в строке

doc.add(table)

Ошибка говорит:

System.NullReferenceException: "object reference not set to an instance of an object"

Я не знаю, какой объект имеет значение NULL.Все остальное точно так же во всех моих попытках ....

Кто-нибудь может дать мне подсказку?

С уважением,

Бенни

StackTrace:

   bei KernelExtensions.Get[TKey,TValue](IDictionary´2 col, TKey key)
   bei iText.Kernel.Pdf.PdfDictionary.Get(PdfName key, Boolean asDirect)
   bei iText.Kernel.Pdf.PdfDictionary.Get(PdfName key)
   bei iText.Kernel.Pdf.PdfPage.GetContentStreamCount()
   bei iText.Kernel.Pdf.PdfPage.GetLastContentStream()
   bei iText.Kernel.Pdf.Canvas.PdfCanvas.GetPageStream(PdfPage page)
   bei iText.Kernel.Pdf.Canvas.PdfCanvas..ctor(PdfPage page, Boolean wrapOldContent)
   bei iText.Layout.Renderer.DocumentRenderer.FlushSingleRenderer(IRenderer resultRenderer)
   bei iText.Layout.Renderer.RootRenderer.AddChild(IRenderer renderer)
   bei iText.Layout.RootElement´1.CreateAndAddRendererSubTree(IElement element)
   bei iText.Layout.RootElement´1.Add(IBlockElement element)
   bei iText.Layout.Document.Add(IBlockElement element)
   bei iTextPDF.class_iTextPDF.TableEnd() in D:\Documents\15 - Visual Studio Projects\iTextPDF\iTextPDF\iTextPDF.vb:Zeile 1668.
   bei iTextPDF.class_iTextPDF.addTextFrame(String text, String posLowerLeftPointFromLeft, String posLowerLeftPointFromBottom, String width, String height, PdfFont font, Single fontSize, Color fontColor, Single strokeWidth, Color strokeColor, Color fillColor, TextAlignment alignment, String innerSpacing, Int32 placeOnPage) in D:\Documents\15 - Visual Studio Projects\iTextPDF\iTextPDF\iTextPDF.vb:Zeile 1360.
   bei iTextPDFTest.Form1.Button1_Click(Object sender, EventArgs e) in D:\Documents\15 - Visual Studio Projects\iTextPDFTest\iTextPDFTest\Form1.vb:Zeile 225.
   bei System.Windows.Forms.Control.OnClick(EventArgs e)
   bei System.Windows.Forms.Button.OnClick(EventArgs e)
   bei System.Windows.Forms.Button.PerformClick()
   bei iTextPDFTest.Form1.Form1_Load(Object sender, EventArgs e) in D:\Documents\15 - Visual Studio Projects\iTextPDFTest\iTextPDFTest\Form1.vb:Zeile 9.
   bei System.EventHandler.Invoke(Object sender, EventArgs e)
   bei System.Windows.Forms.Form.OnLoad(EventArgs e)
   bei System.Windows.Forms.Form.OnCreateControl()
   bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   bei System.Windows.Forms.Control.CreateControl()
   bei System.Windows.Forms.Control.WmShowWindow(Message& m)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei System.Windows.Forms.Form.WmShowWindow(Message& m)
   bei System.Windows.Forms.Form.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

1 Ответ

0 голосов
/ 22 ноября 2018

Это был хороший намек.Я установил «немедленный всплеск» при создании «Документ» в false.Затем страница остается «редактируемой», и я не могу вставить таблицу на первую страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...