2014-01-15 3 views
1

PDF 페이지에서 마지막 개체의 위치와 높이를 어떻게 찾을 수 있습니까? 바닥 글이 없습니다. 마지막 항목 아래에 템플릿을 찍고 싶습니다. 꼬리말이 아니라 텍스트의 마지막 줄 바로 아래에 있습니다. 텍스트 양은 다양 할 수 있으므로 페이지 아래쪽에 템플릿을 넣을 공간이 충분한 지 계산해야합니다. 텍스트와 해당 페이지 끝 (비트 맵) 이미지, 액션에서 iText를 한 번 봐 가지고 어디에 어떤 도움iTextSharp를 사용하여 PDF 페이지에서 마지막 개체 찾기

감사합니다, 아론

+0

주어진 페이지의 텍스트가 어디에서 끝나는 지 확인하려면 Action in Second Edition 예제 [ShowTextMargins] (http://itextpdf.com/examples/iia.php?id=280)를 살펴보십시오. PDF와 텍스트 마진을 보여주는 직사각형을 추가합니다. – mkl

+0

완벽하게 작동했습니다. 참조 해 주셔서 감사합니다. – Aaron

+0

이 질문을 표시하려면 어떻게해야합니까? – Aaron

답변

1

를 결정하기 위해, 제 2 판의 예를 ShowTextMargins는 PDF를 구문 분석하고 추가하는 텍스트 및 (비트 맵) 이미지 여백을 보여주는 사각형.

PdfReader reader = new PdfReader(src); 
    PdfReaderContentParser parser = new PdfReaderContentParser(reader); 
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT)); 
    TextMarginFinder finder; 
    for (int i = 1; i <= reader.getNumberOfPages(); i++) { 
     finder = parser.processContent(i, new TextMarginFinder()); 
     PdfContentByte cb = stamper.getOverContent(i); 
     cb.rectangle(finder.getLlx(), finder.getLly(), 
      finder.getWidth(), finder.getHeight()); 
     cb.stroke(); 
    } 
    stamper.close(); 
    reader.close(); 

는이 메커니즘 은 무시하지만,주의 벡터 그래픽 (종종 밑줄 텍스트, 컬러 배경, 장식 분리 라인에 사용) 때문에 iText를 버전 5.4로 여전히 기본 iText를 파서 패키지 (. 5)는 그들을 무시합니다.

업데이트 : : 버전 5.5.6부터 iText는 벡터 그래픽 파싱을 포함하도록 파서 패키지를 확장합니다. 이것은 원래의 TextMarginFinder 클래스의 확장이 새로운 ExtRenderListener 메소드를 구현하여 this answer에 나타나도록 허용하여 유사한 클래스 인 MarginFinder을 발생 시키는데,이 클래스는 텍스트뿐만 아니라 다른 종류의 컨텐츠도 고려한다. 비트 맵 이미지 및 벡터 그래픽.

+0

페이지에 바닥 글이있는 경우이 방법이 있습니까? 즉, 텍스트의 마지막 비트와 바닥 글 사이에 텍스트를 삽입하고 싶지만 TextMarginFinder는 단지 바닥 글을 찾습니다. – Rowan

+1

@Rowan * 페이지에 바닥 글이있는 경우이 방법이 있습니까? * - 두 가지 옵션이 있습니다. ** 1 ** 문서에 대해 * 알고있는 경우 바닥 글 (if 문서는 항상 특정 ** y ** 좌표 아래에 있으며 내용은 항상 위에 있습니다. 그런 다음 'TextMarginFinder' 입력을 필터링하여 해당 줄 위의 내용 만 고려할 수 있습니다. 다른 방법으로, ** 2 ** 당신은 [This answer] (http://stackoverflow.com/a/26503289/1729265)의'FreeSpaceFinder [Ext]'를 사용하여 페이지에서 빈 공간의 충분한 패치를 찾을 수 있습니다. 귀하의 경우 그것은 페이지만큼 넓어야합니다. – mkl

관련 문제