2014-11-19 7 views
6

스탬프 용으로 PDF를 사용하려고하는데 올바르게 배치하려면 90도 회전해야합니까? 누구든지이 작업을 수행하는 방법을 알고 있습니까? 온라인에서 찾을 수없는 것 같습니다.C에서 iTextSharp를 사용하여 PDF를 90도 회전

+1

당신은 PdfReader''에 있지만 전에'PdfStamper' 바인딩 :

PdfDictionary page = reader.GetPageN(1); page.Put(PdfName.ROTATE, new PdfNumber(90)); 

이 게시물의 질문 부분에 더 많거나 적은 동일한 코드있다 'PdfReader' 오브젝트에서 사용 가능한 모든 메소드를 사용하여 PDF를 조작 할 수 있습니다. [공식 샘플은 여기에서] (http://itextpdf.com/examples/iia.php?id=232) Java 또는 매우 유사하지만 정확하게는 아닙니다 [여기에서 질문] (http://stackoverflow.com/a/5349641/231316). –

답변

10

Rotate90Degrees 예제에서는 PdfReader을 사용하여 문서의 인스턴스를 가져 와서 모든 페이지 사전에서 /Rotate 값을 변경합니다. 그러한 항목이 없으면 값 90/Rotate 항목이 추가됩니다

PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); 
stamper.close(); 
reader.close(); 

이 iText를 자바입니다 :이 일단

final PdfReader reader = new PdfReader(source); 
final int pagesCount = reader.getNumberOfPages(); 

for (int n = 1; n <= pagesCount; n++) { 
    final PdfDictionary page = reader.getPageN(n); 
    final PdfNumber rotate = page.getAsNumber(PdfName.ROTATE); 
    final int rotation = 
      rotate == null ? 90 : (rotate.intValue() + 90) % 360; 

    page.put(PdfName.ROTATE, new PdfNumber(rotation)); 
} 

이 완료되어, 우리는 변화를 지속하는 PdfStamper를 사용합니다. iTextSharp의 경우 용어가 동일하므로 Java를 C#으로 이식하는 것이 쉽습니다. 이 같은 대문자로 약간 낮은 경우 변경 : How to rotate PDF page with iTextSharp without causing error in ghostscript?