2017-09-21 1 views
0

PDF를 작성해야하는 기존 Java 프로젝트가 있습니다. HTML을 PDF로 변환 한 다음 PDFReader 및 PDFStamper를 사용하여 다양한 필드 (getAcroFields)에 내용을 추가하려면 HTMLConvertor가 필요합니다.HTMLConverter를 가져올 수 없습니다.

그래서 iText 5.5.12를 사용하며 HTMLConverter를 가져올 수 없습니다. 이 버전에서는 지원되지 않습니까? 릴리스와 관련된 설명서를 찾을 수 없습니다. 다음을 시도했지만 작동하지 않았습니다. Maven에서 새로운 라이브러리로 iText 7을 추가하려고했지만 5.5.12까지 사용할 수 있습니다.

Intellij를 처음 사용하기 때문에 HTMLConverter를 지원하는 iText를 어떻게 설치할 수 있습니까?

미리 감사드립니다.

답변

4

당신은 쓰기 :

나는 메이븐에서 새로운 라이브러리로 iText를 7을 추가하려고하지만, 5.5.12까지의 버전을 사용할 수 있습니다.

잘못되었습니다. 당신의 POM 파일에 대한 https://developers.itextpdf.com/itext7/download-and-install-information/Java

복사 - 붙여 넣기 : 다음 iText를 웹 사이트에서 설치 지침을 참조하십시오

<dependencies> 

    <!-- always needed --> 
    <dependency> 
     <groupId>com.itextpdf</groupId> 
     <artifactId>kernel</artifactId> 
     <version>7.0.4</version> 
    </dependency> 

    <!-- always needed --> 
    <dependency> 
     <groupId>com.itextpdf</groupId> 
     <artifactId>io</artifactId> 
     <version>7.0.4</version> 
    </dependency> 

    <!-- always needed --> 
    <dependency> 
     <groupId>com.itextpdf</groupId> 
     <artifactId>layout</artifactId> 
     <version>7.0.4</version> 
    </dependency> 

    <!-- only needed for forms --> 
    <dependency> 
     <groupId>com.itextpdf</groupId> 
     <artifactId>forms</artifactId> 
     <version>7.0.4</version> 
    </dependency> 

    <!-- only needed for PDF/A --> 
    <dependency> 
     <groupId>com.itextpdf</groupId> 
     <artifactId>pdfa</artifactId> 
     <version>7.0.4</version> 
    </dependency> 

    <!-- only needed for digital signatures --> 
    <dependency> 
     <groupId>com.itextpdf</groupId> 
     <artifactId>sign</artifactId> 
     <version>7.0.4</version> 
    </dependency> 

    <!-- only needed for barcodes --> 
    <dependency> 
     <groupId>com.itextpdf</groupId> 
     <artifactId>barcodes</artifactId> 
     <version>7.0.4</version> 
    </dependency> 

    <!-- only needed for Asian fonts --> 
    <dependency> 
     <groupId>com.itextpdf</groupId> 
     <artifactId>font-asian</artifactId> 
     <version>7.0.4</version> 
    </dependency> 

    <!-- only needed for hyphenation --> 
    <dependency> 
     <groupId>com.itextpdf</groupId> 
     <artifactId>hyph</artifactId> 
     <version>7.0.4</version> 
    </dependency> 

</dependencies> 

부가 기능에 pdfHTML을 사용할 수있게하려면이를 추가해야합니다

<repositories> 
    <repository> 
    <id>itext</id> 
    <name>iText Repository - releases</name> 
    <url>https://repo.itextsupport.com/releases</url> 
    </repository> 
</repositories> 

pdfHTML은 폐쇄 소스이며 Maven Central에는 없지만 앞으로 몇 주 내에 곧 오픈 소스가되기 때문에 이는 일시적인 현상입니다.

당신은, 30 일 평가판 또는 구입 중 하나를 pdfHTML에 대한 라이센스 키가 필요합니다, 그리고 당신이 당신의 POM이 추가 :

<dependencies> 


    <!-- pdfHTML --> 
    <dependency> 
    <groupId>com.itextpdf</groupId> 
    <artifactId>html2pdf</artifactId> 
    <version>1.0.1</version> 
    </dependency> 

    <!-- iText 7 License Key Library --> 
    <dependency> 
    <groupId>com.itextpdf</groupId> 
    <artifactId>itext-licensekey</artifactId> 
    <version>2.0.4</version> 
    </dependency> 

</dependencies> 
2

HtmlConverter 클래스는 iText를 7.의 애드온 iText 5에서는 작동하지 않습니다. 사실 iText는 HtmlConverter이 가능하도록 처음부터 다시 작성되었습니다. 역사적 개요는 introduction to the HTML to PDF tutorial를 참조하십시오

2016 년, 우리는 iText를 7 이전 버전과 더 이상 호환이었다 iText를의 새로운 버전을 출시하지만 염두에 pdfHTML로 만들었습니다. 새로운 Renderer 프레임 워크에 많은 작업이 소요되었습니다. iText 7로 문서를 만들면 렌더러 트리와 그 자식 렌더러가 만들어집니다. 레이아웃은 해당 트리를 가로 지르는 에 의해 만들어 지므로 HTML을 PDF로 변환 할 때 훨씬 더 적합합니다. iText 객체는 완전히 으로 재 설계되어 HTML 태그를 더 잘 매치시키고 " CSS 방식"으로 설정할 수 있습니다. pdfHTML에 관해서는 iText 7 for Java

, 첫 번째 버전이 너무 많은 써드 파티 개발자가 아니었다는 사실에 대해 긴 토론 후 폐쇄 소스 개발되었다 : 이

당신은 다운로드 지침에 따라 iText를 7을 다운로드 할 수 있습니다

iText 개발자들에게 충실합니다.그들은 폐쇄 형 소스 소프트웨어로 배포 된 (바이너리 또는 SaaS 컨텍스트 중 하나로) 응용 프로그램에서 일반적으로 AGPL 소프트웨어를 무료로 사용할 수 없다는 것을 모르는 척했습니다. 인식을 만들기 위해, 그리고 우리가 고소해야만하는 것을 피하기 위해 일부 추가 기능 소스를 폐쇄하기로 결정했습니다 ( this presentation의 슬라이드 8 ~ 62 참조).

그동안 우리는 pdfHTML 오픈 소스 (AGPL)의 승인을 받았지만 새로운 릴리스가 완료되기까지 몇 주가 걸릴 것입니다. 그 동안 라이센스를 구입하기 전에 30-day trial에 등록하면 등록 할 수 있습니다.

+0

HTML 템플릿을 읽고 필드에 값을 추가하고 PDF를 렌더링 할 수있는 다른 방법이 있습니까? XMLWorkerHelper를 사용할 수 있습니까? 이 현자 답변 : https://stackoverflow.com/questions/35921388/how-to-convert-an-html-string-to-a-pdf-inputstream 은 길을 제안합니다. 제발 도와주세요, 나는 단지 그것을 알아낼 수 없습니다. – raita

+0

[기록] (https://developers.itextpdf.com/content/itext-7-converting-html-pdf-pdfhtml)을 참조하십시오. XML Worker를 사용할 수는 있지만 (1) pdfHTML만큼 완벽하지는 않습니다 (2). 지원을 원하고 (* 지원이 필요해 보입니다), (3) 또한 AGPL로 릴리스됩니다. 상용 컨텍스트에서 사용하는 경우 상용 라이센스가 필요할 수도 있습니다. iText에서 * new * 일 때, 고의로 이전 버전을 사용하겠습니까? 그건별로 의미가 없지, 그렇지? –