C++ pdflib输出表格

try {
        wostringstream optlist;
        optlist.str(L"");
        PDFlib p;
        p.set_option(L"errorpolicy=return");
        p.set_option(optlist.str());

        if (p.begin_document(L"test.pdf", L"") == -1) {
            return 2;
        }
        p.set_info(L"Creator", L"PDFlib starter sample");
        p.set_info(L"Title", L"headertext");

        int font = p.load_font(L"Times-Bold", L"winansi", L"");
        if (font == -1) {
            return(2);
        }

        optlist.str(L"");
        optlist << L"fittextline={position=center font=" << font
            << L" fontsize=14} colspan=" << 5;
        int tbl = -1;
        int row = 1;
        tbl = p.add_table_cell(tbl, 1, row, L"test", optlist.str());
        if (tbl == -1) {
            wcerr << L"Error: " << p.get_errmsg() << endl;
            return 2;
        }
        int col = 0;
        for (row++; row <= 100; row++) {
            for (col = 1; col <= 5; col++) {
                wostringstream num;

                num << L"Col " << col << L"/Row " << row;

                optlist.str(L"");
                optlist << L"colwidth=20% fittextline={font=" << font
                    << L" fontsize=10}";

                tbl = p.add_table_cell(tbl, col, row, num.str(), optlist.str());
            }
        }

        wstring result;
        do {
            p.begin_page_ext(0, 0, L"width=a4.width height=a4.height");
            result = p.fit_table(tbl, 50, 50, 550, 800,
                L"rowheightdefault=auto "
                L"fill={{area=rowodd fillcolor={gray 0.9}}} "
                L"stroke={{line=other}}");
            if (result == L"_error") {
                wcerr << L"Couldn't place table: " << p.get_errmsg() << endl;
                return 2;
            }
            p.end_page_ext(L"");

        } while (result == L"_boxfull");
        if (result != L"_stop") {
            if (result == L"_error") {
                wcerr << L"Error when placing table: " << p.get_errmsg()
                    << endl;
                return 2;
            }
            else {
                wcerr << L"User return found in Table" << endl;
                return 2;
            }
        }

        p.delete_table(tbl, L"");
        p.end_document(L"");
    }
    catch (PDFlib::Exception &ex) {
        wcerr << L"PDFlib exception occurred:" << endl
            << L"[" << ex.get_errnum() << L"] " << ex.get_apiname()
            << L": " << ex.get_errmsg() << endl;
        return 2;
    }

效果如下:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值