2016-12-08 9 views
0

나는 ITextRenderer와 HTML에서 PDF 파일을 구문 분석하고 있습니다 : html로 이미지에 로컬 경로가 포함되어있는 경우ITextRenderer로 만든 pdf의 로컬 디렉토리에서 이미지를 가져 오는 방법은 무엇입니까? 다음과 같이

private void createPdf(File file, String content) throws IOException, DocumentException { 
     OutputStream os = new FileOutputStream(file); 
      content = tidyUpHTML(content); 
      ITextRenderer renderer = new ITextRenderer(); 
      renderer.setDocumentFromString(content); 
      renderer.layout(); 
      renderer.createPDF(os); 
     os.close(); 
} 

지금, 그것은 PDF에 표시되지 않습니다. 그러나 img 태그의 src-value가 온라인 이미지의 URL이면 작동합니다. 다음과 같이

: PDF 파일에서 제대로 표시됩니까

<img src="C:\path\to\image\image.png" /> 

: 은 PDF에 표시하지 않습니다

<img src="http://flagpedia.net/data/currency/jpy/100jpy.jpg" /> 

가를 같이 로컬 파일의 경로는 정확 그 경로를 예를 들어 내 웹 브라우저에 붙여 넣으면 이미지가 표시됩니다.

pdf에 표시하려면 어떻게해야합니까?

업데이트 :이 모든 것은 WildFly10 Application Server의 JSF/Primefaces 웹 응용 프로그램에서 실행됩니다. 그래서 파일 시스템에 대한 직접 경로가 작동하지 않는 것 같습니다. 그런 다음이 이미지와 같은 정적 리소스를 사용하려면 전쟁의 어느 디렉토리를 사용해야합니까? 현재는 webapp/resources/images입니다.

답변

0

JSF2.0 이상을 사용하는 경우 수행하는 방법은 다음과 같습니다 (<h:graphicImage> 구성 요소 있음).

webapp/resources/images/ 폴더에 myimage.png 이미지가 있습니다.

<h:graphicImage library="images" name="myimage.png" /> 

지금 브라우저에서 내가 URL을 얻기 위해 해당 요소를 검사하고 <img> -tag에서 src -attribute 다음의 값으로 해당 URL을 삽입 다음과 같이

는 지금은 구성 요소를 추가 :

<img src="http://localhost:8080/myproject//javax.faces.resource/myimage.png.xhtml?ln=images"/> 

그리고 voila! 이제는 html 템플릿에있는 URL이있는 정적 이미지를 사용하고 있습니다.이 템플릿은 말한 pdf로 파싱되며 이미지는 pdf에서도 작동합니다. 이 트릭이 누군가를 돕기를 바랍니다.