2013-06-18 3 views
3

내 grails 프로젝트에서 grails 렌더링 플러그인을 사용하여 GSP를 PDF로 변환합니다. PDF는 3 ~ 5 페이지가 있습니다.PDF의 각 페이지에 워터 마크 이미지 첨부하기

이제 PDF의 각 페이지 오른쪽 하단에 워터 마크를 첨부해야합니다.

나는 이것을 어떻게 할 수 있을지 전혀 모른다. 어떤 도움을 주셔서 감사합니다.

편집 .............. PDF 템플릿입니다 생성하는 데 사용됩니다

내 GSP.

저는 grails 2.2.0과 plugins.rendering = 0.4.3을 사용하고 있습니다.

아래 코드는 ..,.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<style type="text/css"> 
    @page { 
     size: 210mm 297mm; 
     @bottom-right {content: element(footer)} 
    } 
</style> 
<table border="0" align="center" cellpadding="2" cellspacing="2"> 
... 
</table> 
+0

질문이'자바'태그가 같이 순수 자바 솔루션의 도움 것? 게다가, 당신은 무엇을 워터 마킹하고 싶습니까? 이미지? 일부 텍스트? 다른 PDF의 일부 페이지? 후자의 경우 [iText] (http://itextpdf.com) 라이브러리를 사용하는 Java 솔루션이 [StampStationery] (http://itextpdf.com/examples/iia.php?id= 119). – mkl

+0

Grails는 Java를 지원하므로 순수 자바도 사용할 수 있지만 PDF 생성을 위해 렌더링 플러그인을 사용하고 있음을 명심하십시오. – user1690588

답변

4

당신이 flying saucer에 대한 액세스 및 지원에 대 한 @page 규칙이 플러그인 렌더링을 사용.

이렇게하면 running elements을 CSS 3 사양에 정의 된대로 정의 할 수 있습니다.

<body> 
    ... 
    <div id="footer">Your Watermark</div> 
    ... 
</body> 

을 그리고이 같은 스타일을 :

그래서 당신은 당신의 GSP 내 바닥 글 요소를 정의 할 수

<style type="text/css"> 
    @page { 
     size: 210mm 297mm; 
     @bottom-right {content: element(footer)}; 
     ... 
    } 

    #footer{ 
     position: running(footer); 
    } 

    ... 
</style> 
+0

당신의 솔루션을 시도했지만 나에게 오류가 발생했습니다 "오류 errors.GrailsExceptionResolver - 요청을 처리 할 때 SAXParseException이 발생했습니다 : 루트 요소 다음의 문서에서 마크 업은 올바른 형식이어야합니다 .. Stacktrace 다음과 같습니다 : 메시지 : 루트 요소 뒤에 오는 문서의 마크 업은 올바른 형식이어야합니다. Line | Method - >> 1231 | com.sun.org.apache.xerces.internal.parsers.Aternal.AspstractSAXParser의 구문 분석 " – user1690588

+0

이미 PDF를 렌더링 했습니까? (워터 마크 없음)? 오류 메시지는 올바른 형식의 XML 파일이 아니라고 말합니다. 그래서 잘 구성된 XML 출력을 보장하기 위해 gsp를 확인하십시오. – aiolos

+0

예 위의 스타일이 없으면 pdf가 성공적으로 생성됩니다. – user1690588