2010-04-21 6 views
8

상당히 간단한 XML 또는 HTML에서 PDF를 생성 할 수있는 오픈 소스 유틸리티를 찾고 있습니다. 링크 된 이미지와 일반 텍스트가있을 수 있습니다. CSS 나 JavaScript는 없습니다. 이상적으로는 생성 된 PDF를 구문 분석 할 수 있어야합니다. 즉 콘텐츠가 이미지가 아니도록하는 것이 좋습니다. 주변을 인터넷으로 검색하면 iTextPDFBox이 있다는 것을 알 수 있습니다.xml/html을 pdf로 변환하기위한 자바 라이브러리

다른 하나를 추천할만한 것이 있습니까?

+0

기존 생성 된 HTML 보고서를 PDF 형식으로 나타내야했습니다. 예산과 시간 제한으로 인해 생성 된 HTML에서 실행되는 변환기를 찾는 것이 유일한 방법이었습니다. 약 4 라이브러리와 내가 얻을 수있는 최상의 결과를 시도 : http://pd4ml.com –

+0

사람이 몇 가지 새로운 라이브러리를 알고 있습니까? 이 것들은 약간 구식 인 것 같습니다. – dege

답변

6
+3

당신은 간단한 html이 아닌 XSL-FO를 사용한다고 설명해야합니다. – Bozho

+0

감사합니다.XSL_FO는 나에게 새로운 것이지만, 쓸만한 것일 수도있다. –

+0

확장 된 설명과 그의 답변에서 ilikeorangutans에 의해 지적 된 위키 백과 문서를 가리킨다. –

6

또한 Flying Saucer (XHTMLRenderer)의 조합을 고려할 수 있고, 잘 알려진 iText에 은밀한 할 수있는 자바 라이브러리입니다.

코드 샘플이 here 인 블로그를 찾을 수 있습니다.

0

오픈 소스에 대한 제한 사항을 충족하지 못하며, 이것이 거래 차단기가 될 수있는 방법을 알 수 있습니다.하지만 부담 스럽다면 Prince이이 작업에서 절대적으로 탁월합니다. 고급 레이아웃과 스타일링을 위해 CSS를 사용해야하는 경우에도 그렇게 할 수 있습니다. 현재 Java 웹 응용 프로그램에 사용하고 있으며 매우 잘 작동합니다.

-4

나는 오랫동안 모습, 그리고 내가 찾은 최고의 솔루션이었다 :

WKHTMLTOPDF.

download에서 설치 프로그램을 다운로드하면됩니다.

및 명령 줄에서

는 : wkhtmltopdf http://www.google.com google.png

+0

루비는 wicked-pdf라고하는이 애플리케이션을위한 훌륭한 래퍼 플러그인을 가지고 있지만, 자바는 제한된 지식을 가지고 있지 않습니다. 누구든지 래퍼를 알고 있다면 PLZ가 나를 업데이트합니다. :) – prashu132

+0

@ prashu132 왜 래퍼가 필요합니까? Ruby에서 주석 행 – Dejell

+0

을 실행하십시오. 명령 행을 사용하지 않고보기 파일에서 직접 pdf를 생성 할 수 있습니다. – prashu132

2

JWT는 최근 PDF renderering 엔진에 괜찮은 HTML/CSS를 추가했습니다 : 예는 http://jwt.emweb.be/jwt-gallery/gallery/media/pdf-output의 예를 참조

이 준수되기 위해 빠른 속도로 개선되고

, 이미 부동 소수점, 표, 인라인 및 블록 내용, 절대/상대 위치 지정 및 CSS 스타일 시트 처리 (자식 버전에서)의 임의 조합을 지원합니다.

2

나는 pdf에 html로 변환하는 것은 더 생각한다 이다. 먼저 jtidy 라이브러리 을 사용하여 .html 파일을 .xhtml 파일로 변환하십시오. b. 두 번째 변환은 itextrender에게 코드

을 여기

입니다 사용하여 .pdf 파일에 .xhtml 파일을 결과.

FileInputStream fis = null; 
try 
{ 
    fis = new FileInputStream("D://Html//junitnoframes.html"); 
} 
catch (java.io.FileNotFoundException e) 
{ 
    System.out.println("File not found: "); 
} 
    Tidy tidy = new Tidy(); 
    tidy.setShowWarnings(false); 
    tidy.setXmlTags(false); 
    tidy.setInputEncoding("UTF-8"); 
    tidy.setOutputEncoding("UTF-8"); 
    tidy.setXHTML(true);// 
    tidy.setMakeClean(true); 
    Document xmlDoc = tidy.parseDOM(fis, null); 
try 
{ 
    tidy.pprint(xmlDoc,new FileOutputStream("D://Html//msc.xhtml")); 
} 
catch(Exception e) 
{ 
} 

b.

public static void main(String[] args) 
    throws IOException, DocumentException { 
    String inputFile = "D://Html//msc.xhtml"; 
    String url = new File(inputFile).toURI().toURL().toString(); 
    String outputFile = "D://Html//secondsdoc.pdf"; 
    OutputStream os = new FileOutputStream(outputFile); 

    ITextRenderer renderer = new ITextRenderer(); 
    renderer.setDocument(url); 
    renderer.layout(); 
    renderer.createPDF(os); 

    os.close(); 
    } 
관련 문제