1

我正在使用 dbAutoTrack 生成 PDF,因为我必须添加表,但我得到了对象引用未设置为对象实例的异常

下面是我的代码

  Table t=new Table();
  Row row=new Row(t);

  row.Cells.Add("ABC");
  t.Rows.Add(row);
  _pdfGraphics.DrawTable(100,200, t);

其中 _pdfGraphics 是 PDFGraphics 的对象。提前致谢

4

2 回答 2

3

很可能您收到如下消息:“此行中的列数不足,列跨度为 1。” 你只需要添加它们。

可行样本:

        //Initialize a new PDF Document
        Document _document = new Document();   

        _document.Title = "Аpitron Sample";
        _document.Author = "StanlyF";
        _document.Creator = "АPItron LTD.";

        Page page = null;
        PDFGraphics graphics = null;

        Table _table =  new Table();
        _table.Columns.Add(30);
        Row row = new Row(_table);
        row.Height = 25;
        row.Cells.Add("ABC");
        _table.Rows.Add(row);
        while (_table != null)
        {
            //Initialize new page with default PageSize A4
            page = new Page(PageSize.A4);

            //Add page to document
            _document.Pages.Add(page);
            //Get the PDFGraphics object for drawing to the page.
            graphics = page.Graphics;
            _table = graphics.DrawTable(100,200, _table); 

        }

        using(FileStream _fs = new FileStream("Table_Sample.pdf", System.IO.FileMode.Create, System.IO.FileAccess.Write))  
        {
            //Generate PDF to the stream
            _document.Generate(_fs);
            Process.Start("Table_Sample.pdf");
        }
于 2013-08-22T11:48:48.983 回答
1

接受的答案对我不起作用,我仍然遇到空引用异常。事实证明,需要使用 TableStyle 添加行,否则无论出于何种原因,都不会生成单元格:

StandardFonts standardfont = StandardFonts.Helvetica;
PDFFont fontSmall_reg = new PDFFont(standardfont, FontStyle.Regular);
TableStyle ts = new TableStyle(fontSmall_reg, 12, nullBorder);

Table data = new Table(ts);
data.Columns.Add(100);
data.Columns.Add(100);

Row r = new Row(data, ts);
r.Height = 25;
r.Cells.Add("Row 1 Col1");

data.add(r)
r.Cells.Add("Row 1 Col2");
于 2019-06-19T04:57:05.440 回答