2011-11-22 34 views
5

Tôi đang tạo một trang pdf với 6 hình ảnh trong một bảng trong các ô riêng biệt, mặc dù tôi đặt chiều cao và chiều rộng hình ảnh ở phía máy chủ chính xác giống với ScaleToFit. trên trang pdf.itextsharp và kích cỡ hình ảnh

Có cách nào để có được tất cả hình ảnh có cùng kích thước không?

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); 

Trả lời

14

Hai thứ.

Trước tiên, hãy xem this post về cách gói Image trong Chunk. Về cơ bản:

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

Thứ hai, nếu bạn muốn chính xác cùng kích thước sau đó bạn muốn sử dụng ScaleAbsolute thay vì ScaleToFit. Sau đó giữ tỷ lệ khung hình của hình ảnh sao cho hình ảnh có kích thước 100x200 để vừa với 50x50 sẽ xuất hiện dưới dạng 25x50.

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

Dường như hình ảnh có kích thước phù hợp ngay bây giờ cảm ơn! Bây giờ tôi phải định vị ô này mặc dù nó là một phần tử của ô. Cuối cùng tôi không nghĩ đó sẽ là lựa chọn tốt nhất cho những gì tôi đang cố gắng làm. – DaNet

+0

Bằng cách sử dụng img1.ScaleAbsolute (120f, 155,25f); những hình ảnh phù hợp với tế bào một cách hoàn hảo. Chúc mừng Chris! – DaNet

+1

Nếu tôi muốn hình ảnh của tôi 35x35 mm thì tôi nên làm gì? Làm thế nào để tính toán nó trong mm? –

Các vấn đề liên quan