[Mapbender-users] High Quality PDF Druck

Marc Jansen jansen.marc at gmx.de
Wed Jun 20 06:16:36 EDT 2007


Hallo Hanno,

probier doch mal folgendes:

in der datei mod_printPDF_pdf.php im Ordner print suche nach folgenden 
Zeilen (bei mir (SVN-Version) so ca. ab Zeile 140):

$myURL = new stripRequest($array_urls[0]);
$map_width = round($myURL->get("width"));
$map_height = round($myURL->get("height"));
$map_extent = $myURL->get("BBOX");
if($factor>1){
    for($i=0; $i<count($array_urls); $i++){
        $m = new stripRequest($array_urls[$i]);
        $m->set('width',(intval($m->get('width'))*4));
        $m->set('height',(intval($m->get('height'))*4));
        if(in_array($m->get('map'),$highqualitymapfiles)){   
            
$m->set('map',str_replace(".map","_4.map",$m->get('map')));           
        }
        $array_urls[$i] = $m->url;
    }
}

Füge mal testweise folgende Zeile am Ende an:

print_r($array_urls);
exit('debugging');

Bei der Ausführung der Datei solltest Du nun eine Liste der einzelnen 
Maprequest erhalten, die man -- jede für sich -- in einem Browser öffnen 
kann. Sollte einer der Request kein vernünftiges Bild bringen, so 
hättest Du den Fehler etwa s eingegrenzt. Am besten auch für alle 
prüfen, ob die Ersetzung des map-Parameters korrekt ist.

Viel Erfolg,
Marc

English:

As a small tipp: try to add the following lines
print_r($array_urls);
exit('debugging');

right after this code block (should be around line 140 in the SVN-Version)
$myURL = new stripRequest($array_urls[0]);
$map_width = round($myURL->get("width"));
$map_height = round($myURL->get("height"));
$map_extent = $myURL->get("BBOX");
if($factor>1){
    for($i=0; $i<count($array_urls); $i++){
        $m = new stripRequest($array_urls[$i]);
        $m->set('width',(intval($m->get('width'))*4));
        $m->set('height',(intval($m->get('height'))*4));
        if(in_array($m->get('map'),$highqualitymapfiles)){   
            
$m->set('map',str_replace(".map","_4.map",$m->get('map')));           
        }
        $array_urls[$i] = $m->url;
    }
}

You won't get a PDF anymore but a list of the single maprequests. Try 
each of these in a browser, you should get a valid imagefile always.  
Please test whether the replacement of the map-parameter was successfull.

Good luck,
-- Marc


Hanno Rahn schrieb:
> Hallo Liste,
>
> Ich habe weiterhin ein Problem mit dem Druck von pdfs in höherer Qualität, also 288dpi statt der 72 dpi.
> Zu diesem zweck habe ich meine printpdf_b.conf angepaßt
>
> /*
> * default
> * url string matching and replacement
> */
> $matching = false;
> $pattern =  ".map";
> $replacement = "_4.map";
>
> /*
[...]


More information about the Mapbender_users mailing list