<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><DIV>That is very useful ram282, I succeeded to do what you did in java using iText, but the quality of the resulting image is not very good.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I saw in your code that you generated a view of the map as a PNG file, mapguide allows you to generate a view of the map as a DWF file, that act's as a SVG file, the quality is just perfect.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I have found that Autodesk is giving for free the DWF Toolkit, and we ca use that two read the contents of a DWF file and write it in a PDF file, and the resulting PDF file will contain the map as a SVG rather than&nbsp; a PNG picture.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I am working on an application that will do that, but I do not know if our clients will allow me to post the code after I finish it. :(<BR></DIV>
<DIV style="FONT-FAMILY: times new roman, new york, times, serif; FONT-SIZE: 12pt">
<DIV style="FONT-FAMILY: arial, helvetica, sans-serif; FONT-SIZE: 13px"><FONT size=2 face=Tahoma>
<HR SIZE=1>
<B><SPAN style="FONT-WEIGHT: bold">From:</SPAN></B> ram282 &lt;ram282@gmail.com&gt;<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> mapguide-users@lists.osgeo.org<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Fri, July 9, 2010 7:18:25 AM<BR><B><SPAN style="FONT-WEIGHT: bold">Subject:</SPAN></B> [mapguide-users] Re: Generate a pdf view of the current map<BR></FONT><BR><BR>I had successfully generated pdf in this way.... <BR><BR>In this, I am temporarily saving the image files and after generating the<BR>pdf, I am deleting them. Yo should require the php file called fpdf.php,<BR>through which u are going to generate the pdf.&nbsp; <BR><BR>And I also changed some configuration settings in the php.ini (LOCATED AT<BR>C:\Program Files\OSGeo\MapGuide\Web\Php\php.ini)<BR><BR>remove the semicolon at the start of the lines<BR>;extension=php_curl.dll<BR>;extension=php_gd2.dll&nbsp; &nbsp; in the php.ini file....<BR><BR>Here is the
 code..<BR><BR>&lt;?php<BR><BR>$fusionMGpath = '../../layers/MapGuide/php/';<BR>include $fusionMGpath . 'Common.php';<BR>require($fusionMGpath . 'fpdf.php'); <BR><BR><BR>&nbsp; $locale = "en";<BR>&nbsp; &nbsp; $mapName = "";<BR>&nbsp; &nbsp; $sessionId = "";<BR>&nbsp; &nbsp; $isTitle = "";<BR>&nbsp; &nbsp; $isLegend = "";<BR>&nbsp; &nbsp; $isArrow = "";<BR>&nbsp; &nbsp; $title = "";<BR>&nbsp; &nbsp; $scale = "";<BR>&nbsp; &nbsp; $centerX = "";<BR>&nbsp; &nbsp; $centerY = "";<BR>&nbsp; &nbsp; $dpi = "";<BR>&nbsp; &nbsp; $Server= "";<BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; $clAgent = "Fusion%20Viewer";<BR>&nbsp; &nbsp; $tempMapImgPath="";<BR>&nbsp; &nbsp; GetRequestParameters();<BR>&nbsp; &nbsp; $agent = GetRootVirtualFolder() . "/mapagent/mapagent.fcgi";<BR>&nbsp; &nbsp; <BR>&nbsp; &nbsp; $imgRequest = $Server . $agent .<BR>"?OPERATION=GETMAPIMAGE&amp;VERSION=1.0.0&amp;FORMAT=PNG&amp;LOCALE=en&amp;MAPNAME=" .<BR>$mapName . "&amp;SESSION=" . $sessionId
 .<BR>"&amp;SETDISPLAYWIDTH=480&amp;SETDISPLAYHEIGHT=580&amp;SETDISPLAYDPI=" . $dpi .<BR>"&amp;SETVIEWSCALE=" . $scale . "&amp;SETVIEWCENTERX=" . $centerX .<BR>"&amp;SETVIEWCENTERY=" . $centerY . "&amp;SEQ=0.2873515576651681&amp;CLIENTAGENT=" .<BR>$clAgent;<BR><BR>&nbsp; &nbsp; $LegendImgRequest = $Server . $agent .<BR>"?OPERATION=GETMAPLEGENDIMAGE&amp;VERSION=1.0.0&amp;MAPNAME=" . $mapName .<BR>"&amp;SESSION=" . $sessionId . "&amp;CLIENTAGENT=" . $clAgent .<BR>"&amp;WIDTH=180&amp;HEIGHT=580&amp;FORMAT=PNG";<BR>&nbsp; &nbsp; <BR><BR>// declaring the abcissa and ordinates of the images for the pdf.<BR>&nbsp; &nbsp; $LegendA=10;<BR>&nbsp; &nbsp; $LegendO=20;<BR>&nbsp; &nbsp; $MapA=45;<BR>&nbsp; &nbsp; $MapO=20;<BR>&nbsp; &nbsp; $NorthA=145;<BR>&nbsp; &nbsp; $NorthO=120;<BR><BR>class PDF extends FPDF<BR>{<BR>//Page header<BR>function Header()<BR>{<BR>&nbsp; global&nbsp; $isTitle;<BR>&nbsp; global $title;<BR>&nbsp; if($isTitle=='1')<BR>&nbsp; {<BR>&nbsp;
 &nbsp; $this-&gt;SetFont('Arial','B',15);<BR>&nbsp; &nbsp; $this-&gt;Cell(80);<BR>&nbsp; &nbsp; $this-&gt;Cell(30,10,$title,0,1,'C');<BR>&nbsp; &nbsp; $this-&gt;Ln(20);<BR>&nbsp; }<BR>}<BR>//Page footer<BR>function Footer()<BR>{<BR>&nbsp; &nbsp; //Position at 1.5 cm from bottom<BR>&nbsp; &nbsp; $this-&gt;SetY(-15);<BR>&nbsp; &nbsp; //Arial italic 8<BR>&nbsp; &nbsp; $this-&gt;SetFont('Arial','I',8);<BR>&nbsp; &nbsp; //Page number<BR>&nbsp; &nbsp; $this-&gt;Cell(0,10,'Page '.$this-&gt;PageNo().'/{nb}',0,0,'C');<BR><BR>}<BR>}<BR><BR><BR>//Instanciation of inherited class<BR>$pdf=new PDF();<BR>$pdf-&gt;AliasNbPages();<BR>$pdf-&gt;AddPage();<BR><BR>if($isTitle=='0')<BR>{ <BR>&nbsp; &nbsp; $LegendO=$LegendO-10;<BR>&nbsp; &nbsp; $MapO=$MapO-10;<BR>&nbsp; &nbsp; $NorthO=$NorthO-10;<BR>&nbsp; &nbsp; <BR>&nbsp; <BR>}<BR>if($isLegend=='0')<BR>{ <BR>&nbsp; &nbsp; $MapA=$MapA-40;<BR>&nbsp; &nbsp; $NorthA=$NorthA-40;<BR>&nbsp; &nbsp;
 saveImage($imgRequest,$sessionId,"Map",".png");<BR>&nbsp; &nbsp; $pdf-&gt;Image($tempMapImgPath,$MapA,$MapO,100,100);<BR>&nbsp; &nbsp; unlink($tempMapImgPath);<BR>&nbsp; <BR>}<BR><BR>if($isLegend=='1')<BR>{<BR>&nbsp; &nbsp; saveImage($LegendImgRequest,$sessionId,"Legend",".png");<BR>&nbsp; &nbsp; $pdf-&gt;Image($tempMapImgPath,$LegendA,$LegendO,35,100);<BR>&nbsp; &nbsp; unlink($tempMapImgPath);<BR>}<BR>&nbsp; &nbsp; saveImage($imgRequest,$sessionId,"Map",".png");<BR>&nbsp; &nbsp; $pdf-&gt;Image($tempMapImgPath,$MapA,$MapO,100,100);<BR>&nbsp; &nbsp; unlink($tempMapImgPath);<BR>&nbsp; &nbsp; <BR>if($isArrow=='1')<BR>{ <BR>&nbsp; &nbsp; <BR>&nbsp; $pdf-&gt;Image("pr_north.gif",$NorthA,$NorthO,15,15);<BR>}<BR><BR>$pdf-&gt;Output();<BR><BR><BR>function saveImage($imageSource,$sessionId,$ImageType,$ImageFormat)<BR>{&nbsp; <BR>&nbsp; &nbsp; global&nbsp; $tempMapImgPath;<BR>&nbsp; &nbsp; $ch = curl_init($imageSource);<BR>&nbsp; &nbsp;
 curl_setopt($ch,CURLOPT_HEADER,0);<BR>&nbsp; &nbsp; curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);<BR>&nbsp; &nbsp; curl_setopt($ch,CURLOPT_BINARYTRANSFER,1);<BR>&nbsp; &nbsp; $rawdata=curl_exec($ch);<BR>&nbsp; &nbsp; curl_close($ch);<BR>&nbsp; &nbsp; $tempMapImgPath = $ImageType.$sessionId.time().$ImageFormat;<BR>&nbsp; &nbsp; $fp = fopen($tempMapImgPath,'w');<BR>&nbsp; &nbsp; fwrite($fp, $rawdata);<BR>&nbsp; &nbsp; fclose($fp);<BR>}<BR><BR>function GetParameters($params)<BR>{<BR>&nbsp; &nbsp; global $mapName, $sessionId, $title, $locale;<BR>&nbsp; &nbsp; global $scale, $centerX, $centerY, $dpi;<BR>&nbsp; &nbsp; global $isTitle, $isLegend, $isArrow;<BR>&nbsp; &nbsp; global $Server;<BR><BR>&nbsp; &nbsp; if(isset($params['LOCALE']))<BR>&nbsp; &nbsp; &nbsp; &nbsp; $locale = $params['LOCALE'];<BR>&nbsp; &nbsp; $mapName = $params['MAPNAME'];<BR>&nbsp; &nbsp; $sessionId = $params['SESSION'];<BR>&nbsp; &nbsp; $isTitle = $params['ISTITLE'];<BR>&nbsp; &nbsp;
 $isLegend = $params['ISLEGEND'];<BR>&nbsp; &nbsp; $isArrow = $params['ISARROW'];<BR>&nbsp; &nbsp; $title = $params['TITLE'];<BR>&nbsp; &nbsp; $scale = $params['SCALE'];<BR>&nbsp; &nbsp; $centerX = $params['CENTERX'];<BR>&nbsp; &nbsp; $centerY = $params['CENTERY'];<BR>&nbsp; &nbsp; $dpi = $params['DPI'];<BR>&nbsp; &nbsp; $Server = $params['SERVER'];<BR>}<BR><BR>function GetRequestParameters()<BR>{<BR>&nbsp; &nbsp; if($_SERVER['REQUEST_METHOD'] == "POST")<BR>&nbsp; &nbsp; &nbsp; &nbsp; GetParameters($_POST);<BR>&nbsp; &nbsp; else<BR>&nbsp; &nbsp; &nbsp; &nbsp; GetParameters($_GET);<BR>}<BR><BR>?&gt;<BR><BR><BR><BR>save the above code as some file&nbsp; mappdf.php in the folder&nbsp; C:\Program<BR>Files\OSGeo\MapGuide\Web\www\fusion\widgets\Print<BR><BR><BR>I will call this pdf file from print.js (widget) <BR><BR>showPdf: function() {<BR><BR>&nbsp; &nbsp; &nbsp; &nbsp; var mainMap = this.getMap();<BR><BR>//&nbsp; this.printablePdfURL&nbsp; is&nbsp;
 Fusion.getFusionURL() + widgetTag.location +<BR>'Print/mappdf.php';<BR><BR>&nbsp; &nbsp; &nbsp; &nbsp; var url = this.printablePdfURL + '?';<BR>&nbsp; &nbsp; &nbsp; &nbsp; var extents = mainMap.getCurrentExtents();<BR>&nbsp; &nbsp; &nbsp; &nbsp; var centerX = (extents.left + extents.right) / 2;<BR>&nbsp; &nbsp; &nbsp; &nbsp; var centerY = (extents.top + extents.bottom) / 2;<BR>&nbsp; &nbsp; &nbsp; &nbsp; var dpi = mainMap._nDpi;<BR>&nbsp; &nbsp; &nbsp; &nbsp; var scale = mainMap.getScale();<BR>&nbsp; &nbsp; &nbsp; &nbsp; var maps = mainMap.getAllMaps();<BR>&nbsp; &nbsp; &nbsp; &nbsp; url = url + 'MAPNAME=' + mainMap.getMapName();<BR>&nbsp; &nbsp; &nbsp; &nbsp; url = url + '&amp;SESSION=' + maps[0].getSessionID();<BR>&nbsp; &nbsp; &nbsp; &nbsp; url = url + '&amp;CENTERX=' + centerX;<BR>&nbsp; &nbsp; &nbsp; &nbsp; url = url + '&amp;CENTERY=' + centerY;<BR>&nbsp; &nbsp; &nbsp; &nbsp; url = url + '&amp;DPI=' + dpi;<BR>&nbsp; &nbsp; &nbsp; &nbsp; url = url +
 '&amp;SCALE=' + scale;<BR>&nbsp; &nbsp; &nbsp; &nbsp; url = url + '&amp;ISTITLE=' + (this.showTitle != '' ? '1' : '0');<BR>&nbsp; &nbsp; &nbsp; &nbsp; url = url + '&amp;ISLEGEND=' + (this.showLegend ? '1' : '0');<BR>&nbsp; &nbsp; &nbsp; &nbsp; url = url + '&amp;ISARROW=' + (this.showNorthArrow ? '1' : '0');<BR>&nbsp; &nbsp; &nbsp; &nbsp; url = url + '&amp;SERVER=' +<BR>Fusion.getFusionURL().split('/mapguide')[0];<BR>&nbsp; &nbsp; &nbsp; &nbsp; if (this.pageTitle != '') {<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; url = url + '&amp;TITLE=' + this.pageTitle;<BR>&nbsp; &nbsp; &nbsp; &nbsp; }<BR><BR>&nbsp; &nbsp; &nbsp; &nbsp; window.open(url, 'printablepdf', '');<BR>&nbsp; &nbsp; }<BR><BR><BR>-- <BR>View this message in context: http://osgeo-org.1803224.n2.nabble.com/Generate-a-pdf-view-of-the-current-map-tp5264270p5272913.html<BR>Sent from the MapGuide Users mailing list archive at <A href="http://nabble.com/"
 target=_blank>Nabble.com</A>.<BR>_______________________________________________<BR>mapguide-users mailing list<BR><A href="mailto:mapguide-users@lists.osgeo.org" ymailto="mailto:mapguide-users@lists.osgeo.org">mapguide-users@lists.osgeo.org</A><BR>http://lists.osgeo.org/mailman/listinfo/mapguide-users<BR></DIV></DIV></div><br>

      </body></html>