ThinkGeo.com    |     Documentation    |     Premium Support

PDFSharp Extension Issues 3

Alright, next problem with the PDF Extension.


 


I have a map that has imagery in a custom MrSidRaster Layer. The layer is based on the code provided by ThinkgGeo in the webinar in may. I customized it only slightly, but the underlying logic is the same. The problem I'm having is that the pdf is only showing the image that was visible on the map and not the bordering tiles due the the extent change for the output to PDF.


If you want an image to see what I'm saying look at my attachment in PDFSharp Extension Issues 2. Where is have the red square is where my image is being drawn, otherwise non of the boredering tiles are apearing at all.



Jeremy, 
  
 I’m a little confusing about your information. What do you mean by “The problem I’m having is that the pdf is only showing the image that was visible on the map and not the bordering tiles due the the extent change for the output to PDF.” 
  
 Please give us more information about this, or just make a quick sample. Sorry for the inconvenience. 
  
 Thanks, 
 Howard


 


Sorry I've already changed my code on from here so I cant easily give you an example with imagery. But the screenshot above should help. The red square represents the what was originally visible on my web page map. The Entire image represents the pdf output. Now as shown in the image above, because the canvas area is resized, more vector data is shown on the pdf than on the map originally.


However If im using my imagery, only the imagery in the red square gets pushed to the pdf, and the rest of the area is only showing vector data and not the raster data.



Jereme,



To do this, you need know the ratio of your PDF width and height. Then enlarge the vector layer's drawing extent to fix the raster layer's.



Here is a screenshot of my sample. Hope there is no misunderstanding.





Any questions please let me know.



Thanks,

Howard



966-DisplayASimpleMap.zip (2.34 KB)

Ok, I ran through your sample. the extent story was a help although for some reason at certain scales some of my polygons around the edge dont draw. However I'm still having the same issue with my raster layer as mentioned above.



I've attached two images. one is my actual map in my web site, the other is the output to pdf.

1. My Web Page Map: 





2. My Output to PDF 

    



As you can see the images that are shown in the online map are being send to the pdf, but because my pdf extent is larger it sould be showing more of the imagery. The imagery covers more area to the south east.



I think this has to do with the fact that my MrSidRaster layer has only pulled the imagery for the current extent of the map and not for the extent of the pdf drawing area. I tried setting my maps extent to the pdf canvas extent, but I still only got the original images. 
  
  I get the feeling this is because the mrSidRaster layers DrawCore would not have been called yet to update the images.

Jeremy, 
  
 Extent and ratio of the width and height are very important for the PDF printing in your situation. DrawingArea is a specific screen area which used for filling the image to. There might be something setting issue in your code. Could you paste your code here so that we can debug it? 
  
 Thanks, 
 Howard

My solutution is fairly complex, so I'm going to attach two of the main file I forsee causing the issue.



one of them is the MrSidMultiGeoRasterImageLayer courtesy of your online presentation that I think I modified slightly. the other is my printing class which when complete will handle different print layouts.



Please note that the printing class is still very much in test phase and gets a bit complicated when it comes to drawing screen coordinates and notches.


 


StandardPrintLayout.cs 


MrSidMultiGeoRasterImageLayer.cs



1042-StandardPrintLayout.cs (32.1 KB)
1043-MrSidMultiGeoRasterImageLayer.cs (7.32 KB)

Jeremy, 
  
 We are working on this issue right now, I am not very sure when we can figure it out but I will give you an update on Tuesday anyway. 
  
 Thanks, 
  
 Ben

Jeremy,


Here is a sample for you where you can find how to print the map in current extent or print a larger extent (larger than the current extent) to PDF.  We have some cooments in the code and let me know if you have any issues about it.


Thanks,


Ben



1069-PdfExtensionWebSample.zip (10.9 KB)

Jeremy, 
  
 By the way, here are the versions of the assemblies in this sample. 
  
 WebEdition: 3.1.182 
 MapSuiteCore: 3.1.182 
 PdfExtension: 3.1.182 
 pdfSharp: 3.0.0.0 
  
 Thanks, 
  
 Ben