改变LIb Haru中的页面(C ++)?

时间:2013-04-12 06:21:50

标签: c++ libharu

我正在开发一个项目,我必须在c ++中以编程方式将文档转换为pdf文件。我正在使用libharu开源库。如果文档是单页,我的代码工作正常但当我更改页面时,pdf文档会破坏并且不会打开。任何人都可以为此提出解决方案。

while(chars_traversed < text.size())
{
    chars_copied = HPDF_Page_MeasureText(pd->track->page , (text.c_str() + chars_traversed) , pw , false , NULL);
    memset(buffer , 0 , sizeof(buffer));
    text.copy(buffer , chars_copied , chars_traversed);

    HPDF_Page_MoveToNextLine(pd->track->page);
    HPDF_Page_ShowText (pd->track->page, buffer);

    chars_traversed += chars_copied;

    arr = HPDF_Page_GetCurrentTextPos(pd->track->page);

    if(arr.y < end_y)
    {
                    /* Page change required */
        HPDF_Page_EndText(pd->track->page);
        insert_page_at_last(pd);
        HPDF_Page_MoveTextPos(pd->track->page , start_x , start_y);
         }
}

2 个答案:

答案 0 :(得分:1)

一旦到达页面底部并想要启动另一页,您需要

  HPDF_Page_EndText (hPage)
  hPage = HPDF_AddPage (pdf)
  HPDF_Page_BeginText (hPage)
  HPDF_Page_MoveTextPos (hPage, LeftMargin, nHeight - TopMargin)

这个语法适用于Powerbasic,但我认为你明白了。

答案 1 :(得分:0)

请参阅此LIB Haru source code

它描述了如何将documents转换为pdf文件。

API也对您有用。

希望这会对你有所帮助。