You have chosen to sponsor your bid up to a maximum amount of .
Experienced iTextSharp and/or 2D graphics developers?
Don't let the Azure and MVC mentions turn you off applying if these are not in your skillset. The 2D graphics abilities are more important.
This tool library is a set of functions to streamline the creation of documents and drawings for a particular application.
The code will be used in a web service of an C#.net MVC application.
This will be deployed to Windows Azure (It appears the only trick is to use local storage - see: http://forums.asp.net/t/1827202.aspx/1)
Note that most of these functions are probably already part of iTextSharp and may require just calling a couple of existing functions inside the call. Ref itextpdf.com/book/examples.php &
Create the functions:
- Dimension arrows function
The style of arrow is like this: eazydraw.com/ezdGraphics/TechDrawingMain.png
Pass parameters: Point-to-point X,Ys are the article and can be diagonal. like in history.nasa.gov/diagrams/e3-6.htm (the 17.25m dim)
Distance for line from article and then allowance for gap (also illustrated in the png link)
Allow set defaults: Arrow head size, arrow head length for document.
- Draw a line on a given angle relative to two points
Like this drawing: http://3.bp.blogspot.com/-7pxLiAnHcr8/UKTiCkGAleI/AAAAAAAAQy8/Br1Kj1spu00/s1600/Unit-Circle-Common-Rafter-Angle.jpg draw the 'Run' given the angle theta and the 0.8321" dim as a start and end point.
Parameters: p1, p2, Degrees
Make angle Degrees work from 0 of the line made by P1,P2. Eg: A horizontal line to the Right. Positive is upwards from this line. Negative is below the line.
- Load a vector image (wmf or pdf ideally both) object from file or stream and re-size
Pass width, height(optional). If height is not given then maintain the original aspect ratio.
The default Origin when importing an object for positioning & rotation should be the bottom left corner of the object.
(See link: itextsharp.10939.n7.nabble.com/Vector-Images-allowed-td1676.html)
- Same as the above for a bitmaps (PNG & JPEG)
- Manipulate the vector or bitmap object
Change origin on object using enumerations and offsets ie: corners - BottomLeft, BottomRight, TopLeft, TopRight. Centers - Bottom, Top, Left, Right, Center.
The enumerations would default to 0,0 offset. but an enumeration can be provided plus the offset values from that origin as the origin.
Set: when changing an origin on an existing object, do not move it. The next position or rotate operation will reference this origin.
Get: the origin should be accessible.
Rotate the object around it's origin (in Degrees)
Provide Flip funct: horizontal/vertical over origin.
- Text object positioning
Set origin (same as for vector object) when creating the text object
Allow rotation around the origin.
- Line drawing
Allow Dotted line drawing (pass in the line type: eg: Dot, long dash, etc)
Be able to create a text in a large bold diagonal across the page (with light grey bold font).
By passing one or (maximum two) lines of text, automatically size the font to meet the diagonal corner of the page (maximising coverage for the longest line).
Demonstrate Locking the objects on the page so they cannot be edited by the receiver. PDFStamper
An elegant solution would be to wrap or extend classes of itext.
Finally, Create a Demo application in C#.net (ideally MVC) that generates one or more PDFs using each of the above functions. I will use this code as samples to test the functions.
Include mention of relevant experience or education around 2D graphics and/or itext PDF generation plus whether you will dev for MVC/Azure or otherwise in your proposal.