Hello,

First, good works with p.mapper.
I am using p.mapper 3.2, PHP 5.2.5, mapserver 5.2 for my tests.

There could be a little error for PDF print. When I generate a PDF document 
with a long item legend list with layers having only one class, the jump page 
is not good. Screenshot zoomed on pdf jump page :
http://picasaweb.google.com/Binch77/Pmapper/photo#5230943430165826738

Looking in pdfprint.php the printLegendPDF function, i read that this test 
condition (to add a page) only apply with numclass > 1.

// if Y too big add new PDF page and reset Y to beginning of document
if ($y > (($this->ymaxM) - 30)) {
    $this->AddPage("P");
    $this->printTitle("");
    $this->printFrameLines(0);
    $this->resetDefaultFont();
    $y = $this->yminM + 35;
}

Inserting this test at line 304 of pdfprint.php solve my problem.
http://picasaweb.google.com/Binch77/Pmapper/photo#5230943435307445458



An other point is about the extend of printed map. You give the possibility to 
users to choose the map printed scale. It is a good feature, but it could be 
confusing for standard user if the screen and paper map extent differ too much.

This is the 3.3 version available from p.mapper web site, screenshot comes from 
a 1280x1024 windows resolution :
http://picasaweb.google.com/Binch77/Pmapper/photo#5230954642370757714
and the print result, using the scale proposed by default
http://picasaweb.google.com/Binch77/Pmapper/photo#5230954642202853506

Comparing the two, the map extent of printed result differ a lot from browser 
display (half spain missing etc.).

My goal was to have approximatively the same map extent on screen and paper. 
Looking in print.php at line 67 there is :

        // ZOOM TO PRE-DEFINED SCALE OR MAP EXTENT FROM SESSIONID
        $this->zoom2scale();
       
I change this to

        // ZOOM TO PRE-DEFINED SCALE OR MAP EXTENT FROM SESSIONID
        //$this->zoom2scale();
        $this->zoom2extent();
       
adding this function in print.php

    function zoom2extent() {

        $GEOEXT = $_SESSION["GEOEXT"];
        $geoext0 = ms_newrectObj();
        
$geoext0->setextent($GEOEXT["minx"],$GEOEXT["miny"],$GEOEXT["maxx"],$GEOEXT["maxy"]);
       
        $this->map->setextent($GEOEXT["minx"], $GEOEXT["miny"], 
$GEOEXT["maxx"],$GEOEXT["maxy"]);
   
    }
   
Works fine for me, even if user lost the possibility to adjust printed map 
scale.


Emmanuel collet
French cartographer


 Créez votre adresse électronique [EMAIL PROTECTED] 
 1 Go d'espace de stockage, anti-spam et anti-virus intégrés.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
pmapper-users mailing list
pmapper-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pmapper-users

Reply via email to