|
@@ 1885-1890 (lines=6) @@
|
| 1882 |
|
$xref_table=$xref_table+1;
|
| 1883 |
|
switch($xref_table) {
|
| 1884 |
|
case 2:
|
| 1885 |
|
if(preg_match("/^(\d+) (\d+)/",$CurLine,$match)) {
|
| 1886 |
|
$refs_count=intval($match[2]);//xref_table length+1 (includes this line)
|
| 1887 |
|
$lines['$_XREF_$']["infos"]["count"]=$refs_count-1;
|
| 1888 |
|
if($verbose_parsing) $this->dumpContent("Xref table length is $refs_count");
|
| 1889 |
|
}else
|
| 1890 |
|
if($verbose_parsing) $this->dumpContent("WARNING: Xref table length ignored!");
|
| 1891 |
|
break;
|
| 1892 |
|
case 3:
|
| 1893 |
|
//Should be 0000000000 65535 f
|
|
@@ 1901-1909 (lines=9) @@
|
| 1898 |
|
if($refs_count>0) {
|
| 1899 |
|
$xref=$xref_table-3;
|
| 1900 |
|
|
| 1901 |
|
if($refs_count == 1) {//Last one , due to the shift, is the trailer
|
| 1902 |
|
if(!preg_match("/^trailer/",$CurLine)) //if not, Houston we have a problem
|
| 1903 |
|
$this->Error("xref_table length corrupted?: Trailer not found at expected!");
|
| 1904 |
|
else
|
| 1905 |
|
$trailer_table=1;
|
| 1906 |
|
}else {
|
| 1907 |
|
$lines['$_XREF_$']["entries"][$xref]=$CurLine;
|
| 1908 |
|
if($verbose_parsing) $this->dumpContent("Xref table entry for object $xref found.");
|
| 1909 |
|
}
|
| 1910 |
|
$refs_count--;
|
| 1911 |
|
} else { //We are inside the trailer
|
| 1912 |
|
|