def get_pdf_objects(compress=true)
@compress = compress
pdf_bytes =""
str_tmp_obj=""
xref_list=[]
xref_index =0
xref_list[xref_index]="xref\n0 "
xref_index+=xref_index
xref_list[xref_index]="0000000000 65535 f \n"
xref_index+=xref_index
str_tmp_obj="%PDF-1.3\n%{FC}\n"
pdf_bytes+=str_tmp_obj
str_tmp_obj="1 0 obj<<\n/Author (FusionCharts)\n/Title (FusionCharts)\n/Creator (FusionCharts)\n>>\nendobj\n"
xref_list[xref_index]=calculate_xpos(pdf_bytes.length)
xref_index+=xref_index
pdf_bytes+=str_tmp_obj
str_tmp_obj="2 0 obj\n<< /Type /Catalog /Pages 3 0 R >>\nendobj\n"
xref_list[xref_index]=calculate_xpos(pdf_bytes.length)
xref_index+=xref_index
pdf_bytes+=str_tmp_obj
str_tmp_obj="3 0 obj\n<< /Type /Pages /Kids ["
0.upto(@pageIndex-1) do|i|
str_tmp_obj+=(((i+1)*3)+1).to_s+" 0 R\n"
end
str_tmp_obj+="] /Count "+@pageIndex.to_s+" >>\nendobj\n"
xref_list[xref_index]=calculate_xpos(pdf_bytes.length)
xref_index+=xref_index
pdf_bytes+=str_tmp_obj
0.upto(@pageIndex-1) do|itr|
width=@pages_data[itr][:width].to_s
height=@pages_data[itr][:height].to_s
str_tmp_obj=(((itr+2)*3)-2).to_s+" 0 obj\n<<\n/Type /Page /Parent 3 0 R \n/MediaBox [ 0 0 "+width+" "+height+" ]\n/Resources <<\n/ProcSet [ /PDF ]\n/XObject <</R"+(itr+1).to_s+" "+((itr+2)*3).to_s+" 0 R>>\n>>\n/Contents [ "+(((itr+2)*3)-1).to_s+" 0 R ]\n>>\nendobj\n"
xref_list[xref_index]=calculate_xpos(pdf_bytes.length)
xref_index+=xref_index
pdf_bytes+=str_tmp_obj
xref_list[xref_index]=calculate_xpos(pdf_bytes.length)
xref_index+=xref_index
pdf_bytes+=get_xobj_resource(itr);
img_BA=add_image_to_pdf(itr,@compress)
xref_list[xref_index]=calculate_xpos(pdf_bytes.length)
xref_index+=xref_index
pdf_bytes+=img_BA
end
xref_list[0]+=(xref_list.length-1).to_s+"\n"
trailer=get_trailer(pdf_bytes.length ,xref_list.length-1)
pdf_bytes+=xref_list.to_s
pdf_bytes+=trailer
pdf_bytes+="%%EOF\n"
return pdf_bytes
end