QWebFrame의 WebKit을 활용하여 HTML 페이지를 PDF로 변환하고 있습니다. 페이지가 QPrinter로 전송되기 전에 추가 렌더링 논리를 적용 할 수 있습니까?Qt에서 QWebFrame :: print()로 렌더링 레이어를 추가 할 수 있습니까?
내가 원하는 것은 HTML의 링크 및 양식 컨트롤을 벡터 그래픽 덤프 대신 PDF의 대화 형 도구로 변환 할 수 있다는 것입니다.
모든 안내에 감사드립니다.
QWebFrame의 WebKit을 활용하여 HTML 페이지를 PDF로 변환하고 있습니다. 페이지가 QPrinter로 전송되기 전에 추가 렌더링 논리를 적용 할 수 있습니까?Qt에서 QWebFrame :: print()로 렌더링 레이어를 추가 할 수 있습니까?
내가 원하는 것은 HTML의 링크 및 양식 컨트롤을 벡터 그래픽 덤프 대신 PDF의 대화 형 도구로 변환 할 수 있다는 것입니다.
모든 안내에 감사드립니다.
QWebFrame::renderTreeDump()
및 QWebFrame::findAllElements()
(Qt 4.6의 새로운 기능)을 사용하여 가능한 해결책을 찾았습니다.
"추가 렌더링 레이어를 제공하지는 않지만 원하는 작업을 수행합니다. findAllElements()
을 호출하여 DOM 트리를 마킹하고 HTML 요소의 속성을 설정하여 원하는 모든 논리를 적용합니다.
폼 컨트롤을 내 렌더링 프로세스로 바꾸는 등 복잡한 작업을 수행하려면 DOM 트리와 렌더 트리를 모두 고르고 DOM 트리를 사용하여 QPrinter
으로 전송되지 않도록해야합니다. 결국, 결과 PDF 파일을 긁어 내고 렌더링 트리와 DOM 트리에서 얻은 정보를 사용하여 컨트롤을 렌더링했습니다.
이 작업은 불필요하게 복잡합니다. 누구든지이 문제에 대한보다 우아한 해결책을 가지고 있습니까?