Изменение страницы в 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);
}
}
2 ответа
Как только вы достигнете нижней части страницы и хотите начать другую страницу, вам нужно
HPDF_Page_EndText (hPage)
hPage = HPDF_AddPage (pdf)
HPDF_Page_BeginText (hPage)
HPDF_Page_MoveTextPos (hPage, LeftMargin, nHeight - TopMargin)
Этот синтаксис для Powerbasic, но я предполагаю, что вы поняли идею.
Обратитесь к этому исходному коду LIB Haru.
Это описывает, как конвертировать documents
в pdf
файлы очень хорошо.
Этот API также полезен для вас.
Надеюсь, что это поможет вам.