2011-11-22 13 views
5

मैं अलग-अलग कक्षों में एक तालिका में 6 छवियों के साथ एक एकल पीडीएफ पेज बना रहा हूं, भले ही मैं सर्वर की तरफ छवियों की ऊंचाई और चौड़ाई को ठीक से स्केलटॉफ के साथ सेट कर रहा हूं, छवियों के आकार समान नहीं हैं पीडीएफ पेज पर।itextsharp और छवियों के आकार

क्या सभी छवियों को एक ही आकार में लाने के लिए वैसे भी है?

PdfPTable table = new PdfPTable(3); 
table.HorizontalAlignment = Element.ALIGN_CENTER; 
table.WidthPercentage = 100; 
table.TotalWidth = 698.5f; 
table.LockedWidth = true; 
table.SetWidths(new float [] {1,1,1}); 
iTextSharp.text.Image img1 = iTextSharp.text.Image.GetInstance("C:\\Users\\DaNet\\Downloads\\image.jpg"); 
img1.Alignment = iTextSharp.text.Image.ALIGN_CENTER; 
img1.ScaleToFit(120f, 155.25f); 

iTextSharp.text.pdf.PdfPCell imgCell1 = new iTextSharp.text.pdf.PdfPCell(img1); 
imgCell1.HorizontalAlignment = Element.ALIGN_CENTER; 
imgCell1.BackgroundColor = new BaseColor(255, 255, 255); 
imgCell1.Border = iTextSharp.text.Rectangle.NO_BORDER; 
table.AddCell(imgCell1); 

उत्तर

14

दो चीजें।

सबसे पहले, एक Chunk में Image लपेटकर के बारे में this post देखते हैं। मूल रूप से:

iTextSharp.text.pdf.PdfPCell imgCell1 = new iTextSharp.text.pdf.PdfPCell(); 
imgCell1.AddElement(new Chunk(img1, 0, 0)); 

दूसरा, अगर आप सटीक एक ही आकार तो चाहते हैं आप ScaleAbsolute बजाय ScaleToFit उपयोग करना चाहते हैं। उत्तरार्द्ध छवि के पहलू अनुपात को रखता है ताकि 50x50 फिट करने के लिए स्केल की गई 100x200 छवि 25x50 के रूप में आ जाएगी।

img1.ScaleAbsolute(120f, 155.25f); 
+0

ऐसा लगता है कि छवि अब उचित आकार है धन्यवाद! अब मुझे सेल को स्थिति में रखना है, भले ही यह सेल का तत्व हो। अंत में मुझे नहीं लगता कि मैं जो करने की कोशिश कर रहा हूं उसके लिए सबसे अच्छा विकल्प होगा। – DaNet

+0

बस img1.ScaleAbsolute (120f, 155.25f) का उपयोग करके; छवियों पूरी तरह से सेल फिट बैठते हैं। चीयर्स क्रिस! – DaNet

+1

अगर मैं अपनी छवि 35x35 मिमी चाहता हूं तो मुझे क्या करना चाहिए? मिमी में इसकी गणना कैसे करें? –