我正在生成pdf报告问题是我不知道报告的页数会有多少。我需要动态创建一个页面,因为它们需要它,我尝试这个,但它不起作用。在libharu中动态添加页面C
//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”页脚如果有一个不同的方式来实现这一目标让我知道。在他们的网站上也有一个例子,它有多个页面,但是这是在一开始就设置了一些不适合我的页面。
好吧,那我该如何解决它? – 2014-09-02 16:19:01
* temp = realloc(page,(page_num + 2)* sizeof(* page));或* temp = realloc(page,(page_num + 2)* sizeof(HPDF_Page)); – 2014-09-03 01:10:04