[java] HTML 파일을 PDF로 변환 [닫기]

기존 (X) HTML 문서에서 PDF 파일을 자동으로 생성해야합니다. 입력 파일 (보고서)은 다소 간단한 테이블 기반 레이아웃을 사용하므로 정말 멋진 JavaScript / CSS를 지원할 필요는 없습니다.

Java 작업에 익숙하기 때문에 java-project에서 쉽게 사용할 수있는 솔루션이 바람직합니다. 그러나 Windows 시스템에서만 작동하면됩니다.

그것을 할 수는 있지만 좋은 품질의 출력을 생성하지 않는 한 가지 방법은 CSS2XSLFO 및 Apache FOP를 사용하여 PDF 파일을 만드는 것입니다. 내가 직면 한 문제는 CSS 속성이 훌륭하게 변환되는 동안 텍스트가 테이블 셀 밖으로 흘러 가면서 테이블 레이아웃이 엉망이된다는 것입니다.

또한 Gecko 렌더링 엔진을 사용하기위한 Java-API 인 Jrex를 간단히 살펴 보았습니다.

인터넷 익스플로러 렌더링 엔진에서 렌더링 된 페이지를 가져 와서 자동으로 PDF- 프린터 도구로 보내는 방법이 있습니까? Windows에서 OLE 프로그래밍에 대한 경험이 없으므로 가능한 것과 불가능한 것을 전혀 알지 못합니다.

당신은 아이디어가 있습니까?



답변

비행 접시 XHTML 렌더러 프로젝트는 PDF로 XHTML 출력을 지원한다. 여기 에서 예를 살펴보십시오 .


답변

WKHTMLTOPDF 를 사용해 보셨습니까 ?

WebKit의 오픈 소스 구현 인 간단한 쉘 유틸리티입니다. 둘 다 무료입니다.

우리는 여기에 작은 자습서를 설정했습니다

편집 (2017) :

오늘 무언가를 건설한다면 더 이상 그 길을 가지 않을 것입니다.
그러나 http://pdfkit.org/를 대신 사용 하십시오 .
아마도 모든 nodejs 의존성을 제거하여 브라우저에서 실행하십시오.


답변

iText를 확인하십시오 . HTML에서 데이터를 읽는 기능을 지원하는 순수한 Java PDF 툴킷입니다. CMS에서 컨텐츠를 가져 와서 PDF 파일로 내 보내야 할 때 최근에 프로젝트에서 사용했으며, 이는 매우 간단했습니다. CSS 및 스타일 태그에 대한 지원은 상당히 제한적이지만 아무런 문제없이 테이블을 렌더링합니다 (열 너비를 설정하지는 못했습니다).

HTML에서 PDF를 작성하는 방법은 다음과 같습니다.

Document doc = new Document(PageSize.A4);
PdfWriter.getInstance(doc, out);
doc.open();
HTMLWorker hw = new HTMLWorker(doc);
hw.parse(new StringReader(html));
doc.close();


답변

자금이 있다면 이 비디오가 보여 주듯이 Prince XML 을 능가하는 것은 없습니다


답변

인터넷 익스플로러 렌더링 엔진에서 렌더링 된 페이지를 가져 와서 자동으로 PDF- 프린터 도구로 보내는 방법이 있습니까?

이것이 바로 ActivePDF가 작동하는 방식입니다. 좋은 결과를 얻을 수 있다는 것을 의미하며 실제로 합리적인 스타일링 지원을 제공합니다.

또한 여러 페이지 나누기 CSS 명령을 실제로 지원하는 몇 가지 패키지 중 하나입니다.

불행히도 ActivePDF 소프트웨어는 매우 실망 스러워요. 변환을 위해 IE 브라우저를 백그라운드에서 실행해야하기 때문에 속도가 느릴 수 있으며 특히 안정적이지는 않습니다.

현재 베타 버전에는 훨씬 나을 것으로 예상되는 새로운 버전이 있지만 실제로 사용해 볼 기회가 없었기 때문에 얼마나 많은 개선이 있는지 모릅니다.


답변

확장 기능이있는 헤드리스 파이어 폭스를 사용할 수 있습니다. 달리기가 매우 성가 시지만 좋은 결과를 낳습니다.

자세한 내용은 이 답변 을 확인하십시오 .


답변

질문의 사이드 바를 보면 많은 관련 질문이 표시됩니다 …

상황에 따라 더 간단한 방법은 PDFCreator 와 같은 PDF 인쇄 드라이버를 설치 하고 페이지를이 출력으로 인쇄하는 것입니다.