2016-08-09 4 views
5

Asp.net Mvc에서 HTML로부터 PDF를 생성하기 위해 itextsharp dll (v5.5.9.0)을 사용하고 있습니다. 여기에서는 클래스 HTMLWorker을 사용하고 있습니다. 내 요구 사항과 일치하는 결과를 얻습니다. 지금은 괜찮아. 그러나 [deprecated]으로 표시됩니다. 앞으로는 작동/지원 될 것인가, 그렇지 않을 것인가? (또는 xmlworker로 이동할 수 있습니까?)itextsharp HTMLWorker

답변

7

HTMLWorker 클래스는 더 이상 사용되지 않습니다. 작은 HTML 스 니펫을 구문 분석하기위한 개인 프로젝트로 시작되었습니다. 그것은 명확한 디자인없이 쓰여졌습니다. 하나의 특정 프로젝트에서 개인의 목적에 부합해야했습니다.

그러나 주 릴리스에 어떻게 든 들어갔고 사람들은 그것을 빌드하지 않은 목적으로 사용하기 시작했습니다. 사람들은 HTMLWorker이 무거운 짐을 결코 의도하지 않았다는 것을 알지 못하면서 버그에 대해 불평했습니다.

다른 개발자는 HTMLWorker을 개선하기 시작했지만 곧 결함이있는 디자인 (및 스파게티 코드)의 한계에 부딪혔다.

XML 근로자는 iText Group에서 비용을 지불 한 개발자가 수행 한 프로젝트입니다. 다른 프로젝트에서 사용됩니다. 복잡한 웹 페이지를 PDF로 변환 할 수 없다는 점에서 URL2PDF 도구는 아니지만 HTML 및 CSS를 사용하여 템플릿을 만들고 해당 템플릿을 채우고 PDF로 변환 할 수 있습니다 .

XML Worker는 iText가 처음에는 HTML을 렌더링하지 않기 때문에 어려움을 겪고 있습니다. 예를 들어 : iText 5 (및 이전 버전)에서는 글꼴, 색상 등의 속성이 상속되지 않습니다. 이러한 결함은 iText 7에서 수정되었습니다. XML Worker는 아직 iText 7에 이식되지 않았지만 기술 로드맵에는 다음에 나와 있습니다.

요약 :HTMLWorker을 사용하면 안됩니다. 앞으로는 지원되지 않을 것입니다.

+0

감사합니다. @Bruno Lowagie :) –

+0

"HTMLWorker를 사용하면 안됩니다." 그러나 나는 그것을 사용하는 프로젝트를 "상속 받았다". 그리고 개발자 (계약자)는 사라져 버렸다. 나는 물을 수 없다. 이제 어떻게해야합니까? HTMLWorker를 대체 할 수 있습니까? 이 프로젝트에서는 일부 HTML을 PDF 문서로 렌더링하는 데 사용됩니다. – Matt

+0

@Matt 그래서 적어도 2009 년에 시작된 프로젝트를 상속했습니다. XML Worker (iText 5.5.10)를 사용하거나 새로운 iText 7 pdf2data 도구를 얻으려면 일주일 정도 기다려야합니다. 이미 새로운 pdf2 데이터의 데모를 보았습니다. –