견본

견본

이것은 많은 사람들에게 중요한 질문입니다.

웹을 검색하면서 HTML 문서를 PDF 문서로 변환할 수 있는 몇 가지 명령줄 도구를 찾았지만 모두 자체의 불완전한 렌더링 엔진을 사용하여 품질이 좋지 않은 것 같습니다.

가능한 한 많은 벡터 그래픽을 유지하면서 최신 웹 브라우저의 렌더링된 출력을 어떻게 pdf(및/또는 svg)로 인쇄할 수 있습니까?

다음과 같은 솔루션이 있습니다.웹킷-pdf(모든 것을 비트맵 그래픽으로 렌더링합니다)

내가 찾고 있어요옵션,대안,제안아마도 프린터 드라이버나 웹 서비스라도 될까요?

업데이트: 지금까지 다음을 찾았습니다.

연결:

감사해요

답변1

렌더링된 출력은 정의상 비트맵 이미지입니다.

해당 비트맵 이미지가 구성된 벡터 개체는 렌더링된 이미지에서 액세스할 수 없습니다.

원래 HTML 및 CSS 등으로 돌아가서 해당 원본 자료를 사용하여 비트맵을 생성하는 데 사용된 레이아웃 알고리즘의 새로운 병렬 구현을 사용하여 새로운 벡터 기반 표현을 생성해야 합니다.


Chrome의 "PDF로 인쇄" 기능은 글꼴의 벡터 특성과 최종 이미지의 일부 다른 부분을 보존하는 것으로 보입니다. PDF의 비트맵 이미지에서 얻을 수 있는 명백한 픽셀화 없이 아래와 같이 무한정 확대할 수 있습니다.

여기에 이미지 설명을 입력하세요

답변2

당신은 원할 수도 있습니다PDF작성자(프린터 드라이버)입니다.오픈소스 프로젝트호스팅 위치sourceforge.net.

방금 HTML 페이지를 인쇄했습니다.VML(MSDN)벡터 그래프IE 브라우저에서 내장된SVGFirefox 브라우저에서 PDFCreator로 그래프를 전송하면 PDFCreator는 이러한 벡터 데이터를 유지합니다.

화면과 프린터 장치 사이의 렌더링된 결과의 차이에 관심이 없다면(미디어~의 속성스타일태그), PDFCreator가 답입니다.


견본

브라우저에서 화면 장치로 렌더링된 원본 출력(SVG 로고는 Firefox 15.0.1에 표시됨)

Firefox에 표시되는 SVG 그래프

PDFCreator 프린터로 인쇄(프린터 장치로 렌더링됨)

100% 확대/축소 수준으로 PDF 보기

PDF 확대/축소 100%

150% 확대/축소 수준으로 PDF 보기(무손실 확대/축소)

PDF 확대/축소 150%


VML 벡터 그래프를 기반으로 한 추가 샘플

예, 단지 회전된 텍스트일 뿐이지만 VML 벡터 그래프입니다.

VML 벡터 그래프의 HTML 코드

<html xmlns:v='urn:schemas-microsoft-com:vml'>
    <head>
        <style>v\: * { behavior:url(#default#VML); display:inline-block }</style>
    </head>

    <body>
        <v:line from="0,100" to="200,0" style="float:left">
            <v:path textpathok="True"/>
            <v:textpath on="True" string="SuperUser.com"/>
        </v:line>
        <h1>Q479701</h1>
        <p>
            PDFCreator retains vector graph
        </p>
    </body>
</html>

관련 정보