2013-02-24 4 views
0

DOCX4J에서 생성 한 xHTML 파일을 보려고했습니다. 내가 언급 한 파일을 성공적으로 생성 할 수 있었고 모든 텍스트 형식이 브라우저에 올바르게 나타납니다. 그러나, 나는 JEditorPane에서 그것을 보려고했는데 HTML 파일 안에 텍스트 만 표시했지만 포맷은 그렇지 않았다. 전체 페이지가 기본 텍스트 글꼴을 사용하는 것처럼. 다음은 JInternalFrame에 대한 내 코드입니다.DOCX4J : JEditorPane에서 HTML 내 보낸 문서 파일보기

package com.docx.ui.tools; 

import java.awt.Desktop; 
import java.awt.Dimension; 
import java.io.IOException; 
import java.net.MalformedURLException; 
import java.net.URL; 

import javax.swing.JEditorPane; 
import javax.swing.JInternalFrame; 
import javax.swing.JScrollPane; 

public class Preview extends JInternalFrame 
{ 
    private static JScrollPane scrollPane; 
    private static JEditorPane htmlPane; 

    public Preview() 
    { 
     htmlPane = new JEditorPane(); 
     htmlPane.setEditable(false); 
     htmlPane.setContentType("text/html"); 
     scrollPane = new JScrollPane(htmlPane); 
     scrollPane.setAutoscrolls(true); 
     scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 
     scrollPane.setPreferredSize(new Dimension(250, 145)); 
     setSize(800, 600); 
     scrollPane.setMinimumSize(getSize()); 
     setVisible(true); 
     setResizable(true); 
     setMaximizable(true); 
     setTitle("Document Preview"); 
     getContentPane().add(scrollPane); 
     loadfile(); 
    } 

    public void loadfile() 
    { 
     Desktop d; 
     URL url = null; 
     try { 
      url = new URL("File:F:\\out.html"); 
      //   url = new URL("https://www.youtube.com/"); 
     } catch (MalformedURLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     try { 
      htmlPane.setPage(url); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
} 

URL을 올바른 웹 주소로 변경하고 페이지를 올바르게 표시하려고 시도했습니다. JFrame에서 동일한 절차를 수행했지만 동일한 결과가 발생했습니다. 나는 그 과정에서 잘못된 것을하고 있는지 또는 DOCX4J 라이브러리에 의해 생성 된 HTML 파일에 문제가 있는지 궁금하게 생각하고 있었다.

나는 HTML 파일을 DOCX 파일 경우에 대비가 필요하다 http://www.mediafire.com/?z3t8ksv3c2air27

DOCX는 http://www.mediafire.com/view/?p5yr4v6isai3452

+0

"동일한 결과가 발생했습니다"라는 말은 페이지가 올바르게 표시되었거나 서식이 여전히 손실되었음을 의미합니까? 아마도 당신은 질문에 표시하려는 HTML을 추가해야합니다. – JasonPlutext

+0

이는이 같은 모습 HTML이 내 응용 프로그램 http://www.mediafire.com/view/?r67p8xr49hauyus HTML 웹 브라우저에 표시되는 http://www.mediafire.com에서 볼되고있다 /보기 /? 8nh9o202ba4mjyb 나는 또한 JFrame의의의 JEditorPane에 무슨 일이 JInternalFrame를의 JEditorPane의에서 일어난 동일한 결과가 발생 말했을 때 (나는 그것이 JEditorPane로, JFrame의 또는 JInternalFrame를 지원할 수 없다는 대한 문제가 될 수있다 생각했다 DOCX4J 라이브러리에 의해 생성 된 html의 유형, 나는 정말로 확신하지 못합니다. 아직도 많은 실험을하고 있습니다) –

답변

1

사실 JEditorPane로 (HTMLEditorKit의 사실)에만 HTML 3.2 버전을 지원 HTML을 포함 시켰습니다.

http://java-sl.com/docx_editor_kit.html 키트를 사용하여 docx 파일을 직접 표시 할 수 있습니다. 그러나 문제가있을 수 있으므로 완벽하지는 않습니다.