Blog

Friend's Note
Complex exams like 70-642 and 642-642 are best left to students who are done with their 642-825 and 642-845 and don¡¯t need to write 70-646 either.
 
1:   using System;
2:   using System.IO;
3:  
4:   using iTextSharp.text;
5:   using iTextSharp.text.pdf;
6:  
7:   namespace iTextSharp.tutorial.Chap06
8:   {
9:       /// <summary>
10:       /// Scaling and Rotating the Image:
11:       /// Scaling
12:       /// There are several possibilities to scale an image:
13:       /// </summary>
14:       /// <remarks>
15:       /// Impact on the resolution
16:       ///    If an image is placed without any scaling the the resolution will be 72. 
17:       ///    If an image is placed with a scaling of 50% the the resolution will be 144. 
18:       ///    With lower scalings the resolution will increase because the pixels are the same but the size will be smaller. 
19:       ///    To put a picture with 300dpi use a scaling of 72/300=24%. 
20:       ///    For instance: if you have a 5X5 inch image that you scan at 300 dpi, the resultant image is 1500X1500 pixels (5X300 = 1500).
21:       ///     When you place this image in the pdf with a scaling of 24% (72/300 = 0.24), 
22:       ///     the image in the pdf will be 5X5 inch with 1500X1500 pixel at 300 dpi. 
23:       ///     The image will always be 1500X1500 pixel whatever the size.    
24:       </remarks>
25:       public class Chap0607 
26:       {
27:       
28:           public Chap0607() 
29:           {
30:           
31:               Console.WriteLine("Chapter 6 example 7: Scaling an Image");
32:           
33:               // step 1: creation of a document-object
34:               Document document new Document();
35:           
36:               try 
37:               {
38:               
39:                   // step 2:
40:                   // we create a writer that listens to the document
41:                   // and directs a PDF-stream to a file
42:               
43:                   PdfWriter.GetInstance(documentnew FileStream("Chap0607.pdf"FileMode.Create));
44:               
45:                   // step 3: we open the document
46:                   document.Open();
47:               
48:                   // step 4: we add content
49:                   Image jpg1 Image.GetInstance("myKids.jpg");
50:                   jpg1.ScaleAbsolute(97101);
51:                   document.Add(new Paragraph("scaleAbsolute(97, 101)"));
52:                   document.Add(jpg1);
53:                   Image jpg2 Image.GetInstance("myKids.jpg");
54:                   jpg2.ScalePercent(50);
55:                   document.Add(new Paragraph("scalePercent(50)"));
56:                   document.Add(jpg2);
57:                   Image jpg3 Image.GetInstance("myKids.jpg");
58:                   jpg3.ScaleAbsolute(194101);
59:                   document.Add(new Paragraph("scaleAbsolute(194, 101)"));
60:                   document.Add(jpg3);
61:                   Image jpg4 Image.GetInstance("myKids.jpg");
62:                   jpg4.ScalePercent(10050);
63:                   document.Add(new Paragraph("scalePercent(100, 50)"));
64:                   document.Add(jpg4);
65:               }
66:               catch(DocumentException de
67:               {
68:                   Console.Error.WriteLine(de.Message);
69:               }
70:               catch(IOException ioe
71:               {
72:                   Console.Error.WriteLine(ioe.Message);
73:               }
74:           
75:               // step 5: we close the document
76:               document.Close();
77:           }
78:       }
79:   }