libharu — Изменение страницы в LIb Haru (C ++)?

Я работаю над проектом, в котором мне нужно программно конвертировать документы в pdf файлы на c ++. Я использую библиотеку с открытым исходным кодом 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);
}
}

1

Решение

Как только вы достигнете нижней части страницы и хотите начать другую страницу, вам нужно

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

Этот синтаксис для Powerbasic, но я предполагаю, что вы поняли идею.

1

Другие решения

Отослать это Исходный код LIB Haru.

Это описывает, как конвертировать documents в pdf файлы очень хорошо.

это API также полезно для вас.

Надеюсь, что это поможет вам.

0

По вопросам рекламы [email protected]