2016-06-10 2 views
1

일부 이미지를 PDF에 넣으려면 Itextsharp를 사용하고 있습니다. 이 이미지 중 일부는 크고 (3600h × 2500w) 약간 작습니다 (1000h x 700w). 내 PDF 페이지는 842H x 737H입니다.ItextSharp PDF로 이미지 스케일링/크기 조정

일부 큰 이미지는 potrait에 맞지 않으므로 너비가 너비 인 이미지를 뒤집을 수 있습니다.

img.RotationDegrees = 90f; 

지금 내 문제는 내가 모든 규모와 완벽 페이지에 맞게 그들이도록 이미지를 확장 할 어떻게?

나는

var scalePercent= (PDFPage.Width/img.Width) * 100; 

img.ScalePercent(scalePercent); 

하지만 대부분의 이미지, 특별히 작은 이미지에 대해이 didnt 한 일을 사용했습니다.

답변

0

나는이 반응이 메가 오랫동안 늦었다 고 알고 있지만 이것이 동일한 문제가있는 다른 사람들에게 도움이 될 수 있다고 생각했다.

Document pdfDoc = new Document(PageSize.LETTER, 10f, 10f, 10f, 0f); 
pdfDoc.SetPageSize(iTextSharp.text.PageSize.LETTER.Rotate()); 
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(image); 
img.SetAbsolutePosition(0, 0); 
img.ScaleAbsoluteHeight(pdfDoc.PageSize.Height); 
img.ScaleAbsoluteWidth(pdfDoc.PageSize.Width); 

그러나 이렇게 추가 변경은 서로 다른 크기의 PDF를 생성하면 될 필요가 있습니다, 내가 문자로 문서에 pageSize가 설정하고 있습니다 : I 크기를 조정 한 후 플립이했다.

0

당신은 그 작품을 잘 코드를 사용할 수 있지만이

var scalePercent = (((doc.PageSize.Width/image.Width) * 100) - 4); 
    img.ScalePercent(scalePercent); 
같은 하나의 여분의 필터가 필요합니다
관련 문제