問題は、レポートが何ページになるかわからないことです。それは大きく異なります。必要に応じてページを動的に作成する必要があります。これを試してみましたが、うまくいきません。
//page counter
int page_num=1;
HPDF_Doc pdf;
HPDF_Page *page;
char fname[256];
HPDF_Destination dst;
//This works for the first page
page = malloc(sizeof(*page));
if (page==NULL) {
printf("Error allocating memory!\n"); //print an error message
} else {
printf("allocation successful\n");
}
PDF ファイルに正常に書き込むことができますが、別のページを作成しようとすると、セグメンテーション エラーが発生します。私はこのようにしてみます。
page_num ++;
HPDF_Page *temp;
*temp = realloc(page, (page_num+2) * sizeof(page));
if ( temp != NULL ) //realloc was successful
{
page = temp;
page[page_num] = HPDF_AddPage (pdf); //** This line makes it crash **//
printf("Success Reallocating into page\n");
}
else //there was an error
{ printf("Error reallocating into page\n"); }
特定のページに戻り、ページ番号の例「page 1 of 50」のフッターを挿入する必要があるため、これを達成する別の方法がある場合は、このようにしようとしています。また、彼らのウェブサイトには複数のページがある例がありますが、これは最初に設定されたページ数が設定されていて、私にはうまくいきません。