2016-08-26 4 views
0

내가 여기서하려는 것은 빈 이미지에 빈 이미지를 추가하는 것입니다. 지금까지 해봤지만 이미지를 중심에 놓고 싶습니다. 어떻게해야합니까?itextsharp를 사용하여 pdf의 중심 이미지

여기 내 C# 코드입니다 :

using (MemoryStream ms = new MemoryStream()) 
{ 
    Document doc = new Document(PageSize.A4); 
    PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(System.IO.Path.Combine(filepath, strFilename), FileMode.Create)); 
    doc.AddTitle("Document Title"); 
    doc.Open(); 
    iTextSharp.text.Image image1 = iTextSharp.text.Image.GetInstance(@"C:\Users\Desktop\Winniethepooh.png"); 
    image1.Alignment = iTextSharp.text.Image.ALIGN_CENTER; 
    if (image1.Height > image1.Width) 
    { 
     //Maximum height is 800 pixels. 
     float percentage = 0.0f; 
     percentage = 700/image1.Height; 
     image1.ScalePercent(percentage * 100); 
    } 
    else 
    { 
     //Maximum width is 600 pixels. 
     float percentage = 0.0f; 
     percentage = 540/image1.Width; 
     image1.ScalePercent(percentage * 100); 
    } 
    //image1.Alignment = iTextSharp.text.Image.ALIGN_CENTER; 
    doc.Add(image1); 
    doc.Close(); 
} 

그리고 이것은 출력 :

https://drive.google.com/open?id=0BzaejXGgqBOAMzd0UlY2QWFXNms

내가 원하는 이미지가 페이지 중앙에 있다는 것입니다. 현재 이미지는 페이지 상단에 있습니다.

이미지 정렬을 설정하기도하지만 이미지를 페이지 중앙에 배치하지 않는 이유는 무엇입니까?

답변

6

이미지를 가운데에 맞추려면 SetAbsolutePosition()을 사용해야합니다. 당신이 doc.Add(image1);를 호출하기 전에

는 그냥 코드에 다음을 추가 :이 도움이

... 
... 

image1.SetAbsolutePosition((PageSize.A4.Width - image1.ScaledWidth)/2, (PageSize.A4.Height - image1.ScaledHeight)/2); 

doc.Add(image1); 

... 
... 

희망을.

+0

감사합니다. 효과가있었습니다. – codequery18

+0

그 즐거움 :) – Riaan

관련 문제