1

私は、ドキュメントを c++ でプログラムによって pdf ファイルに変換する必要があるプロジェクトに取り組んでいます。これには libharu オープン ソース ライブラリを使用しています。ドキュメントが1ページの場合、私のコードは正常に機能していますが、ページを変更すると、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 に答える