[java] HTML 파일을 PDF로 변환 [닫기]
기존 (X) HTML 문서에서 PDF 파일을 자동으로 생성해야합니다. 입력 파일 (보고서)은 다소 간단한 테이블 기반 레이아웃을 사용하므로 정말 멋진 JavaScript / CSS를 지원할 필요는 없습니다.
Java 작업에 익숙하기 때문에 java-project에서 쉽게 사용할 수있는 솔루션이 바람직합니다. 그러나 Windows 시스템에서만 작동하면됩니다.
그것을 할 수는 있지만 좋은 품질의 출력을 생성하지 않는 한 가지 방법은 CSS2XSLFO 및 Apache FOP를 사용하여 PDF 파일을 만드는 것입니다. 내가 직면 한 문제는 CSS 속성이 훌륭하게 변환되는 동안 텍스트가 테이블 셀 밖으로 흘러 가면서 테이블 레이아웃이 엉망이된다는 것입니다.
또한 Gecko 렌더링 엔진을 사용하기위한 Java-API 인 Jrex를 간단히 살펴 보았습니다.
인터넷 익스플로러 렌더링 엔진에서 렌더링 된 페이지를 가져 와서 자동으로 PDF- 프린터 도구로 보내는 방법이 있습니까? Windows에서 OLE 프로그래밍에 대한 경험이 없으므로 가능한 것과 불가능한 것을 전혀 알지 못합니다.
당신은 아이디어가 있습니까?
답변
답변
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 인쇄 드라이버를 설치 하고 페이지를이 출력으로 인쇄하는 것입니다.