2014-07-16 2 views
0

프로젝트 색인 생성에 대한 JSF 2.0, Tomcat 7.0, 5.0 및 primefaces Viewer.js로 작업하고 있습니다. pdf 파일은 검색, 결과 표시 및 문서보기를 수행합니다. 문제는 PC의 파일 시스템에서 PDF 문서를 열어야한다는 것입니다. Viewer.js는이 프로젝트에 가장 적합한 옵션이라고 생각하지만 여전히 열리지 않습니다. 어떻게 할 수 있습니까? 나는 그저 내 프로젝트의 폴더 안에 열리게되었다.JSF 및 Viewer.js를 사용하여 파일 시스템에서 PDF 파일 열기

<h:form id="form"> 
      <p:dataList id="bus" value="#{beanBusqueda.bus}" var="busqueda" type="unordered" itemType="none" paginator="true" rows="20" emptyMessage="Sin resultados por el momento" paginatorAlwaysVisible="true"> 
       <a href="http://localhost:8080/i-Bi/Viewer.js/#../file:///C:/directoriov1/#{busqueda.ruta}">Ver</a> 
       <h:outputText value="#{busqueda.resultados}" id="info"/> 
       <f:facet name="footer"><h:outputText value="#{beanBusqueda.buscar.info}" style="font-weight:normal"/></f:facet> 
      </p:dataList> 
     </h:form> 

을 그리고 내 ManagedBean은 다음과있어 :

public void buscar() throws IOException{ 
    setBus(new ArrayList<csBuscar>()); 
    String resul=""; 
    try { 

      directorio= FSDirectory.getDirectory(direct, false); 
      searcher= new IndexSearcher(directorio); 
      parser= new QueryParser("content", new StandardAnalyzer()); 
      long start= new Date().getTime(); 
      Query consulta= parser.parse(buscar.getBusqueda()); 
      Hits hits = searcher.search(consulta); 
      long end= new Date().getTime(); 
      Document doc=null; 

      if(hits.length()==0){ 
       buscar.setResultados("No se encontraron resultados para "+buscar.getBusqueda()); 
      }else{ 
       for(int i=0;i<hits.length();i++){ 
        doc=hits.doc(i); 
        //resul+=doc.get("nombre").substring(0,doc.get("nombre").length()-4)+"\n"; 
        bus.add(new csBuscar(doc.get("nombre").substring(0,doc.get("nombre").length()-4)+"\n", doc.get("nombre"))); 
        System.out.println(doc.get("absolute")); 
       }buscar.setResultados(resul); 
       buscar.setInfo("Se muestran "+hits.length()+" resultados para "+buscar.getBusqueda()+" en "+(end-start)+" milisegundos."); 
       System.out.println(buscar.getResultados()); 
      } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    finally{ 
     searcher.close(); 
    } 
} 

나는 또한려고 다음과 같은 경로 :

Viewer.js/# ../C :/ directoriov1/# {busqueda.ruta} 
http://localhost:8080/i-Bi/Viewer.js/ # ../C :/ directoriov1/# {busqueda.ruta} 
다음과 같이

나는 문서를 열려고과 같은 방법입니다

하지만 열어 볼 수는 없습니다. Viewer.js를 얻기 위해 코드를 수정해야합니까? 호프 제안 감사.

답변

0

Google의 문서 뷰어에 사용해 보셨습니까?
이것은 iframe에서 열리 며, pdf의 URL 만 변경해야합니다. iframe이의

https://docs.google.com/viewer

예 :

<iframe src="http://docs.google.com/viewer?url=http%3A%2F%2Fs3.documentcloud.org%2Fdocuments%2F509922%2Ffernandez-cristina-elisabet-anual-2011.pdf&embedded=true" width="600" height="780" style="border: none;"></iframe> 

미리보기 : https://docs.google.com/viewer?url=http%3A%2F%2Fs3.documentcloud.org%2Fdocuments%2F509922%2Ffernandez-cristina-elisabet-anual-2011.pdf

Saludos!

+0

Google 문서 도구를 사용하면 문제를 Google 드라이브에 로그인해야 볼 수 있다는 문제가 있다고 생각합니다. 또 다른 문제는 웹 서버에있는 Viewer.js 문서와 같이 있어야 할 필요가 있다는 것입니다. . 어쨌든 제안에 감사드립니다. – user3738208