我正在生成一个 pdf 报告,问题是我不知道报告会有多少页,它会有很大的不同。我需要根据需要动态创建页面,我尝试了这个,但它不起作用。
//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"); }
我正在尝试这样做,因为我需要返回到特定页面并插入带有页码示例“第 1 页,共 50 页”的页脚,如果有其他方法可以做到这一点,请告诉我。在他们的网站上也有一个包含多个页面的示例,但这是在开头设置的一组对我不起作用的页面。