1

我正在做一个项目,我必须在 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);
         }
}
4

2 回答 2

2

一旦您到达页面底部并想要开始另一个页面,您需要

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

此语法适用于 Powerbasic,但我假设您明白了。

于 2013-04-28T23:03:37.237 回答
0

请参阅此LIB Haru 源代码

它很好地描述了如何转换documents为文件。pdf

这个API对你也很有用。

希望这会帮助你。

于 2013-04-12T06:41:32.180 回答