2017-12-20 20 views
0

PDF를 만들고 이미지를 추가합니다.SetAbsolutePosition이 맨 아래에서 시작됩니까?

이미지의 크기는 256x256 픽셀이지만 특별한 것은 없습니다.

나는 그러나, 이미지가 페이지 하단에 배치 될 것으로 보인다

nImg.SetAbsolutePosition(30, 30) 

하여 위치를 설정합니다.

PDF로는 다음과 같습니다

enter image description here

은 내가 SetAbsolutePosition (30, 30)를 호출 할 때 왼쪽 상단 모서리에 배치 될 것으로 예상.

여기에 무슨 일이 일어날 수 있습니까?

이 전체 코드는 다음과 같습니다

 Dim nFs As System.IO.FileStream = New FileStream(sThis, FileMode.Create) 

     Dim nDocument As Document = New Document(PageSize.A4, 25, 25, 25, 25) 
     Dim nWriter As PdfWriter = PdfWriter.GetInstance(nDocument, nFs) 
     nDocument.Open() 

     Dim nCb As PdfContentByte = nWriter.DirectContent 
     Dim nImg As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance("d:\myimage.png") 

     nImg.SetAbsolutePosition(30, 30) 
     nCb.AddImage(nImg) 

     nDocument.Close() 
     nWriter.Close() 

     nFs.Close() 
+0

@BrunoLowagie 나는 iTextSharp를 다시 사용하여이 모든 것을 잊어 버린다. X-Y 좌표 시스템의 왼쪽 상단 좌표계에서 래퍼가 작동 할 것으로 기대합니다. 나는 그들이 바보 같은 사람들이라는 말은 아니지만 다른 해결책이 존재합니다. MS와 회사는 양식 등을 다룰 때 X-Y 좌표 시스템을 사용하지 않습니다. – tmighty

답변

2

먼저 당신은 어디 PDF 페이지의 기원을 찾을 수 알아야합니다 Where is the Origin (x,y) of a PDF page?는 일반적으로 (0, 0)가 왼쪽 아래로 일치를 좌표입니다. /MediaBox이 특별한 방법으로 생성되거나 /CropBox이있을 때 예외가 있지만 그럴 듯하지는 않습니다.

은 그럼 당신은 알 필요가 오른쪽 왼쪽으로 y 축 점을 x 축 포인트 :

enter image description here

이 질문 How should I interpret the coordinates of a rectangle in PDF?

에 대한 대답에 설명되어

알고 그 :

원점은 왼쪽 아래에
  1. ,
  2. y 축이 위를 가리키며

(30, 30)에 추가하는 이미지가 페이지 하단에 가까운 것이 정상입니다.