ThinkGeo.com    |     Documentation    |     Premium Support

Empty PDF files getting generated

 Hi,


When I try to save map into PDF files Im getting a empty pdf files.  


 The below is the code that im using in my web page. Am i missing something ?


Thanks


Ugendran. 


 


  protected void btnToPdf_Click(object sender, EventArgs e)


        {


            PdfDocument document = new PdfDocument();


            PdfPage page = document.AddPage();


            //if (rdlOptions.SelectedItem.Text == "Landscape")


            //{


            page.Orientation = PageOrientation.Landscape;


            //}


            PdfGeoCanvas pdfGeoCanvas = new PdfGeoCanvas();


 


            // This allows you to control the area in which you want the  


            // map to draw in.  Leaving this commented out uses the whole page  


            //pdfGeoCanvas.DrawingArea = new Rectangle(200, 50, 400, 400);  


            Collection<SimpleCandidate> labelsInLayers = new Collection<SimpleCandidate>();


            foreach (Layer layer in MapMaster.StaticOverlay.Layers)


            {


                RectangleShape printExtent = ExtentHelper.GetDrawingExtent(MapMaster.CurrentExtent, (float)MapMaster.WidthInPixels, (float)MapMaster.HeightInPixels);


                pdfGeoCanvas.BeginDrawing(page, printExtent, GeographyUnit.DecimalDegree);


                layer.Open();


                layer.Draw(pdfGeoCanvas, labelsInLayers);


                layer.Close();


                pdfGeoCanvas.EndDrawing();


            }


 


            string filename = Server.MapPath(".") + "\\MapSuitePDFMap.pdf";


            document.Save(filename);


            OpenPdfFile(filename);


        }


 


        private void OpenPdfFile(string filename)


        {


            string javascriptFormat = "<script language=\"javascript\" type=\"text/javascript\">{0}</script>";


            try


            {


                ClientScript.RegisterStartupScript(this.GetType(), "showPdfFile", string.Format(javascriptFormat, "function A() {window.open('MapSuitePDFMap.pdf');};A();"));


            }


            catch (Win32Exception ex)


            {


                if (ex.Message == "No application is associated with the specified file for this operation")


                {


                    ClientScript.RegisterStartupScript(this.GetType(), "showPdfFile", string.Format(javascriptFormat, "function A() {alert('Failed to generate PDF file.');};A();"));


                }


            }


        }  


 



Hi Ugendran, 
  
 Your code looks correct. 
  
 Here we have a sample by Khalil, you can try it and compare the code. gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/12/aft/8428/afv/topic/afpgj/2/Default.aspx#25674 
  
 And I suggest you remove loop and reduce variable, notice whether the GeographyUnit same as your map used, then add breakpoint and see the detail value of each variable at run-time. 
  
 If you finally cannot solve that please sent us a sample, so that we can help you review it. 
  
 Regards, 
  
 Don

Hi, Ugendran.



Thanks for sharing your problem. I wonder have you found your way out? When it comes to pdf processing, I wonder whether text extraction from pdf files is much simpler than pdf to text conversion process. There’s something wrong with my pdf viewer. I want to look for a method to help with the relevant process. Any suggestion will be appreciated. Thanks in advance.           
Best regards, 



Pan

Hi Pan, 
  
 Thanks for let us know your question here, but I am sorry I have to remove the hyperlink in your text, any question please let us know. 
  
 Regards, 
  
 Don